@nlabs/lex 1.47.2 → 1.47.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +1 -0
- package/.storybook/main.ts +86 -0
- package/.storybook/preview.ts +15 -0
- package/.vscode/settings.json +83 -0
- package/CHANGELOG.md +1 -0
- package/TYPESCRIPT_CONFIGS.md +103 -0
- package/__mocks__/LexConfig.js +17 -2
- package/__mocks__/execa.js +9 -7
- package/__mocks__/file.js +50 -0
- package/__mocks__/ora.js +10 -1
- package/config.json +33 -0
- package/dist/LexConfig.js +93 -5
- package/dist/commands/ai/ai.js +1 -1
- package/dist/commands/build/build.js +15 -11
- package/dist/commands/clean/clean.js +10 -4
- package/dist/commands/compile/compile.js +29 -34
- package/dist/commands/create/create.js +5 -5
- package/dist/commands/dev/dev.js +11 -7
- package/dist/commands/init/init.js +5 -5
- package/dist/commands/lint/lint.js +55 -64
- package/dist/commands/migrate/migrate.js +2 -2
- package/dist/commands/storybook/storybook.js +174 -0
- package/dist/commands/test/test.js +51 -13
- package/dist/commands/update/update.js +3 -2
- package/dist/commands/upgrade/upgrade.js +3 -3
- package/dist/commands/versions/versions.js +3 -3
- package/dist/create/changelog.js +1 -1
- package/dist/dist/LexConfig.d.ts +119 -0
- package/dist/dist/utils/file.d.ts +7 -0
- package/dist/dist/utils/log.d.ts +1 -0
- package/dist/index.js +4 -3
- package/dist/lex.js +14 -1
- package/dist/utils/aiService.js +2 -2
- package/dist/utils/app.js +3 -3
- package/dist/utils/file.js +78 -4
- package/eslint.config.js +5 -3
- package/examples/lex.config.js +50 -0
- package/jest.config.cjs +14 -14
- package/jest.setup.js +30 -4
- package/package.json +40 -23
- package/tsconfig.build.json +38 -5
- package/tsconfig.json +28 -1
- package/tsconfig.lint.json +44 -0
- package/tsconfig.test.json +48 -0
- package/webpack.config.js +14 -13
- package/dist/LexConfig.d.ts +0 -79
- package/dist/commands/ai/ai.d.ts +0 -17
- package/dist/commands/ai/index.d.ts +0 -8
- package/dist/commands/build/build.cli.test.d.ts +0 -5
- package/dist/commands/build/build.d.ts +0 -18
- package/dist/commands/build/build.integration.test.d.ts +0 -1
- package/dist/commands/build/build.options.test.d.ts +0 -5
- package/dist/commands/clean/clean.cli.test.d.ts +0 -1
- package/dist/commands/clean/clean.d.ts +0 -7
- package/dist/commands/clean/clean.integration.test.d.ts +0 -1
- package/dist/commands/clean/clean.options.test.d.ts +0 -1
- package/dist/commands/compile/compile.cli.test.d.ts +0 -1
- package/dist/commands/compile/compile.d.ts +0 -2
- package/dist/commands/compile/compile.integration.test.d.ts +0 -1
- package/dist/commands/compile/compile.options.test.d.ts +0 -1
- package/dist/commands/config/config.cli.test.d.ts +0 -1
- package/dist/commands/config/config.d.ts +0 -7
- package/dist/commands/config/config.integration.test.d.ts +0 -1
- package/dist/commands/config/config.options.test.d.ts +0 -1
- package/dist/commands/copy/copy.cli.test.d.ts +0 -1
- package/dist/commands/copy/copy.d.ts +0 -6
- package/dist/commands/copy/copy.integration.test.d.ts +0 -1
- package/dist/commands/copy/copy.options.test.d.ts +0 -1
- package/dist/commands/create/create.cli.test.d.ts +0 -1
- package/dist/commands/create/create.d.ts +0 -8
- package/dist/commands/create/create.integration.test.d.ts +0 -1
- package/dist/commands/create/create.options.test.d.ts +0 -1
- package/dist/commands/dev/dev.cli.test.d.ts +0 -1
- package/dist/commands/dev/dev.d.ts +0 -11
- package/dist/commands/dev/dev.integration.test.d.ts +0 -1
- package/dist/commands/dev/dev.options.test.d.ts +0 -1
- package/dist/commands/init/init.cli.test.d.ts +0 -1
- package/dist/commands/init/init.d.ts +0 -9
- package/dist/commands/init/init.integration.test.d.ts +0 -1
- package/dist/commands/init/init.options.test.d.ts +0 -1
- package/dist/commands/link/link.cli.test.d.ts +0 -1
- package/dist/commands/link/link.d.ts +0 -6
- package/dist/commands/link/link.integration.test.d.ts +0 -1
- package/dist/commands/link/link.options.test.d.ts +0 -1
- package/dist/commands/lint/autofix.d.ts +0 -2
- package/dist/commands/lint/lint.cli.test.d.ts +0 -1
- package/dist/commands/lint/lint.d.ts +0 -39
- package/dist/commands/lint/lint.integration.test.d.ts +0 -1
- package/dist/commands/lint/lint.options.test.d.ts +0 -1
- package/dist/commands/migrate/migrate.cli.test.d.ts +0 -1
- package/dist/commands/migrate/migrate.d.ts +0 -7
- package/dist/commands/migrate/migrate.integration.test.d.ts +0 -1
- package/dist/commands/migrate/migrate.options.test.d.ts +0 -1
- package/dist/commands/publish/publish.cli.test.d.ts +0 -1
- package/dist/commands/publish/publish.d.ts +0 -12
- package/dist/commands/publish/publish.integration.test.d.ts +0 -1
- package/dist/commands/publish/publish.options.test.d.ts +0 -1
- package/dist/commands/test/test.cli.test.d.ts +0 -1
- package/dist/commands/test/test.d.ts +0 -50
- package/dist/commands/test/test.integration.test.d.ts +0 -1
- package/dist/commands/test/test.options.test.d.ts +0 -1
- package/dist/commands/test/test.test.d.ts +0 -1
- package/dist/commands/update/update.cli.test.d.ts +0 -1
- package/dist/commands/update/update.d.ts +0 -9
- package/dist/commands/update/update.integration.test.d.ts +0 -1
- package/dist/commands/update/update.options.test.d.ts +0 -1
- package/dist/commands/upgrade/upgrade.cli.test.d.ts +0 -1
- package/dist/commands/upgrade/upgrade.d.ts +0 -7
- package/dist/commands/upgrade/upgrade.integration.test.d.ts +0 -1
- package/dist/commands/upgrade/upgrade.options.test.d.ts +0 -1
- package/dist/commands/versions/versions.cli.test.d.ts +0 -1
- package/dist/commands/versions/versions.d.ts +0 -13
- package/dist/commands/versions/versions.integration.test.d.ts +0 -1
- package/dist/commands/versions/versions.options.test.d.ts +0 -1
- package/dist/create/changelog.d.ts +0 -6
- package/dist/index.d.ts +0 -31
- package/dist/lex.d.ts +0 -2
- package/dist/types.d.ts +0 -5
- package/dist/utils/aiService.d.ts +0 -9
- package/dist/utils/app.d.ts +0 -41
- package/dist/utils/file.d.ts +0 -3
- package/dist/utils/log.d.ts +0 -1
- package/dist/utils/reactShim.d.ts +0 -2
- /package/{jest.config.lex.d.ts → dist/jest.config.lex.d.ts} +0 -0
package/dist/utils/file.js
CHANGED
|
@@ -1,7 +1,32 @@
|
|
|
1
1
|
import findFileUp from "find-file-up";
|
|
2
2
|
import { existsSync } from "fs";
|
|
3
3
|
import { resolve as pathResolve } from "path";
|
|
4
|
-
import {
|
|
4
|
+
import { LexConfig } from "../LexConfig.js";
|
|
5
|
+
function getDirName() {
|
|
6
|
+
try {
|
|
7
|
+
return eval('new URL(".", import.meta.url).pathname');
|
|
8
|
+
} catch {
|
|
9
|
+
return process.cwd();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function getFilePath(relativePath) {
|
|
13
|
+
try {
|
|
14
|
+
return eval('require("url").fileURLToPath(new URL(relativePath, import.meta.url))');
|
|
15
|
+
} catch {
|
|
16
|
+
if (relativePath === "../../../package.json") {
|
|
17
|
+
return pathResolve(process.cwd(), "package.json");
|
|
18
|
+
}
|
|
19
|
+
return pathResolve(process.cwd(), relativePath);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function getLexPackageJsonPath() {
|
|
23
|
+
try {
|
|
24
|
+
const lexRoot = eval('require("path").dirname(require("url").fileURLToPath(import.meta.url))');
|
|
25
|
+
return pathResolve(lexRoot, "../../package.json");
|
|
26
|
+
} catch {
|
|
27
|
+
return pathResolve(process.cwd(), "package.json");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
5
30
|
const relativeFilePath = (filename, dirPath = "./", backUp = 0) => {
|
|
6
31
|
const nestDepth = 10;
|
|
7
32
|
if (backUp) {
|
|
@@ -32,7 +57,7 @@ const relativeNodePath = (filename, dirPath = "./", backUp = 0) => {
|
|
|
32
57
|
return findFileUp.sync(modulePath, dirPath, nestDepth) || `/node_modules/${filename}`;
|
|
33
58
|
};
|
|
34
59
|
const getNodePath = (moduleName) => {
|
|
35
|
-
const dirName =
|
|
60
|
+
const dirName = getDirName();
|
|
36
61
|
const modulePath = `node_modules/${moduleName}`;
|
|
37
62
|
const projectPath = pathResolve(process.cwd(), modulePath);
|
|
38
63
|
if (existsSync(projectPath)) {
|
|
@@ -45,9 +70,58 @@ const getNodePath = (moduleName) => {
|
|
|
45
70
|
const localPath = findFileUp.sync(modulePath, "./", 10) || `./${modulePath}`;
|
|
46
71
|
return localPath;
|
|
47
72
|
};
|
|
73
|
+
const resolveBinaryPath = (binaryName, packageName) => {
|
|
74
|
+
const lexDir = LexConfig.getLexDir();
|
|
75
|
+
const lexBinPath = pathResolve(lexDir, `node_modules/.bin/${binaryName}`);
|
|
76
|
+
if (existsSync(lexBinPath)) {
|
|
77
|
+
return lexBinPath;
|
|
78
|
+
}
|
|
79
|
+
if (packageName) {
|
|
80
|
+
const lexPackageBinPath = pathResolve(lexDir, `node_modules/${packageName}/bin/${binaryName}`);
|
|
81
|
+
if (existsSync(lexPackageBinPath)) {
|
|
82
|
+
return lexPackageBinPath;
|
|
83
|
+
}
|
|
84
|
+
const lexPackageBinJsPath = pathResolve(lexDir, `node_modules/${packageName}/bin/${binaryName}.js`);
|
|
85
|
+
if (existsSync(lexPackageBinJsPath)) {
|
|
86
|
+
return lexPackageBinJsPath;
|
|
87
|
+
}
|
|
88
|
+
const lexPackageBinCjsPath = pathResolve(lexDir, `node_modules/${packageName}/bin/${binaryName}.cjs`);
|
|
89
|
+
if (existsSync(lexPackageBinCjsPath)) {
|
|
90
|
+
return lexPackageBinCjsPath;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const checkBinUp = (startDir) => {
|
|
94
|
+
let checkDir = startDir;
|
|
95
|
+
for (let i = 0; i < 5; i++) {
|
|
96
|
+
const monorepoBinPath = pathResolve(checkDir, `node_modules/.bin/${binaryName}`);
|
|
97
|
+
if (existsSync(monorepoBinPath)) {
|
|
98
|
+
return monorepoBinPath;
|
|
99
|
+
}
|
|
100
|
+
const parentDir = pathResolve(checkDir, "..");
|
|
101
|
+
if (parentDir === checkDir) {
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
checkDir = parentDir;
|
|
105
|
+
}
|
|
106
|
+
return "";
|
|
107
|
+
};
|
|
108
|
+
const fromCwd = checkBinUp(process.cwd());
|
|
109
|
+
if (fromCwd) {
|
|
110
|
+
return fromCwd;
|
|
111
|
+
}
|
|
112
|
+
const fromLex = checkBinUp(lexDir);
|
|
113
|
+
if (fromLex) {
|
|
114
|
+
return fromLex;
|
|
115
|
+
}
|
|
116
|
+
return "";
|
|
117
|
+
};
|
|
48
118
|
export {
|
|
119
|
+
getDirName,
|
|
120
|
+
getFilePath,
|
|
121
|
+
getLexPackageJsonPath,
|
|
49
122
|
getNodePath,
|
|
50
123
|
relativeFilePath,
|
|
51
|
-
relativeNodePath
|
|
124
|
+
relativeNodePath,
|
|
125
|
+
resolveBinaryPath
|
|
52
126
|
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2ZpbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIyLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgZmluZEZpbGVVcCBmcm9tICdmaW5kLWZpbGUtdXAnO1xuaW1wb3J0IHtleGlzdHNTeW5jfSBmcm9tICdmcyc7XG5pbXBvcnQge3Jlc29sdmUgYXMgcGF0aFJlc29sdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtVUkx9IGZyb20gJ3VybCc7XG5cbi8vIEdldCBmaWxlIHBhdGhzIHJlbGF0aXZlIHRvIExleFxuZXhwb3J0IGNvbnN0IHJlbGF0aXZlRmlsZVBhdGggPSAoZmlsZW5hbWU6IHN0cmluZywgZGlyUGF0aDogc3RyaW5nID0gJy4vJywgYmFja1VwOiBudW1iZXIgPSAwKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbmVzdERlcHRoOiBudW1iZXIgPSAxMDtcblxuICBpZihiYWNrVXApIHtcbiAgICBjb25zdCBmaWxlUGF0aDogc3RyaW5nID0gZmluZEZpbGVVcC5zeW5jKGZpbGVuYW1lLCBkaXJQYXRoLCBuZXN0RGVwdGgpO1xuICAgIGNvbnN0IHByZXZpb3VzUGF0aDogc3RyaW5nID0gQXJyYXkoYmFja1VwKS5maWxsKG51bGwpLm1hcCgoKSA9PiAnLi4vJykuam9pbignJyk7XG4gICAgcmV0dXJuIHBhdGhSZXNvbHZlKGZpbGVQYXRoLCBwcmV2aW91c1BhdGgpO1xuICB9XG5cbiAgcmV0dXJuIGZpbmRGaWxlVXAuc3luYyhmaWxlbmFtZSwgZGlyUGF0aCwgbmVzdERlcHRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWxhdGl2ZU5vZGVQYXRoID0gKGZpbGVuYW1lOiBzdHJpbmcsIGRpclBhdGg6IHN0cmluZyA9ICcuLycsIGJhY2tVcDogbnVtYmVyID0gMCk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IG5lc3REZXB0aDogbnVtYmVyID0gMTA7XG4gIGNvbnN0IG1vZHVsZVBhdGggPSBgbm9kZV9tb2R1bGVzLyR7ZmlsZW5hbWV9YDtcblxuICAvLyBGaXJzdCwgY2hlY2sgdGhlIExleCBwYWNrYWdlJ3Mgbm9kZV9tb2R1bGVzIGRpcmVjdG9yeVxuICBpZihkaXJQYXRoICE9PSAnLi8nKSB7XG4gICAgY29uc3QgbGV4TW9kdWxlUGF0aCA9IHBhdGhSZXNvbHZlKGRpclBhdGgsIG1vZHVsZVBhdGgpO1xuICAgIGlmKGV4aXN0c1N5bmMobGV4TW9kdWxlUGF0aCkpIHtcbiAgICAgIHJldHVybiBsZXhNb2R1bGVQYXRoO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlY29uZCwgY2hlY2sgdGhlIHVzZXIncyBwcm9qZWN0IG5vZGVfbW9kdWxlcyBkaXJlY3RvcnlcbiAgY29uc3QgcHJvamVjdFBhdGggPSBwYXRoUmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBtb2R1bGVQYXRoKTtcbiAgaWYoZXhpc3RzU3luYyhwcm9qZWN0UGF0aCkpIHtcbiAgICByZXR1cm4gcHJvamVjdFBhdGg7XG4gIH1cblxuICAvLyBPcmlnaW5hbCBpbXBsZW1lbnRhdGlvbiBhcyBmYWxsYmFja1xuICBpZihiYWNrVXApIHtcbiAgICBjb25zdCBmaWxlUGF0aDogc3RyaW5nID0gZmluZEZpbGVVcC5zeW5jKG1vZHVsZVBhdGgsIGRpclBhdGgsIG5lc3REZXB0aCk7XG4gICAgY29uc3QgcHJldmlvdXNQYXRoOiBzdHJpbmcgPSBBcnJheShuZXN0RGVwdGgpLmZpbGwobnVsbCkubWFwKCgpID0+ICcuLi8nKS5qb2luKCcnKTtcbiAgICByZXR1cm4gcGF0aFJlc29sdmUoZmlsZVBhdGgsIHByZXZpb3VzUGF0aCk7XG4gIH1cblxuICByZXR1cm4gZmluZEZpbGVVcC5zeW5jKG1vZHVsZVBhdGgsIGRpclBhdGgsIG5lc3REZXB0aCkgfHwgYC9ub2RlX21vZHVsZXMvJHtmaWxlbmFtZX1gO1xufTtcblxuLy8gR2V0IGZpbGUgcGF0aHMgcmVsYXRpdmUgdG8gTGV4XG5leHBvcnQgY29uc3QgZ2V0Tm9kZVBhdGggPSAobW9kdWxlTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgZGlyTmFtZSA9IG5ldyBVUkwoJy4nLCBpbXBvcnQubWV0YS51cmwpLnBhdGhuYW1lO1xuICBjb25zdCBtb2R1bGVQYXRoOiBzdHJpbmcgPSBgbm9kZV9tb2R1bGVzLyR7bW9kdWxlTmFtZX1gO1xuXG4gIC8vIFRyeSBwcm9qZWN0IHJvb3QgZmlyc3RcbiAgY29uc3QgcHJvamVjdFBhdGggPSBwYXRoUmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBtb2R1bGVQYXRoKTtcbiAgaWYoZXhpc3RzU3luYyhwcm9qZWN0UGF0aCkpIHtcbiAgICByZXR1cm4gcHJvamVjdFBhdGg7XG4gIH1cblxuICAvLyBUaGVuIHRyeSBtb2R1bGUgbG9jYWwgdG8gTGV4XG4gIGNvbnN0IHJlcG9QYXRoOiBzdHJpbmcgPSBmaW5kRmlsZVVwLnN5bmMobW9kdWxlUGF0aCwgZGlyTmFtZSk7XG4gIGlmKHJlcG9QYXRoICYmIGV4aXN0c1N5bmMocmVwb1BhdGgpKSB7XG4gICAgcmV0dXJuIHJlcG9QYXRoO1xuICB9XG5cbiAgLy8gRmFsbGJhY2sgdG8gZ2VuZXJhbCBzZWFyY2hcbiAgY29uc3QgbG9jYWxQYXRoOiBzdHJpbmcgPSBmaW5kRmlsZVVwLnN5bmMobW9kdWxlUGF0aCwgJy4vJywgMTApIHx8IGAuLyR7bW9kdWxlUGF0aH1gO1xuICByZXR1cm4gbG9jYWxQYXRoO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFJQSxPQUFPLGdCQUFnQjtBQUN2QixTQUFRLGtCQUFpQjtBQUN6QixTQUFRLFdBQVcsbUJBQWtCO0FBQ3JDLFNBQVEsV0FBVTtBQUdYLE1BQU0sbUJBQW1CLENBQUMsVUFBa0IsVUFBa0IsTUFBTSxTQUFpQixNQUFjO0FBQ3hHLFFBQU0sWUFBb0I7QUFFMUIsTUFBRyxRQUFRO0FBQ1QsVUFBTSxXQUFtQixXQUFXLEtBQUssVUFBVSxTQUFTLFNBQVM7QUFDckUsVUFBTSxlQUF1QixNQUFNLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxJQUFJLE1BQU0sS0FBSyxFQUFFLEtBQUssRUFBRTtBQUM5RSxXQUFPLFlBQVksVUFBVSxZQUFZO0FBQUEsRUFDM0M7QUFFQSxTQUFPLFdBQVcsS0FBSyxVQUFVLFNBQVMsU0FBUztBQUNyRDtBQUVPLE1BQU0sbUJBQW1CLENBQUMsVUFBa0IsVUFBa0IsTUFBTSxTQUFpQixNQUFjO0FBQ3hHLFFBQU0sWUFBb0I7QUFDMUIsUUFBTSxhQUFhLGdCQUFnQixRQUFRO0FBRzNDLE1BQUcsWUFBWSxNQUFNO0FBQ25CLFVBQU0sZ0JBQWdCLFlBQVksU0FBUyxVQUFVO0FBQ3JELFFBQUcsV0FBVyxhQUFhLEdBQUc7QUFDNUIsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBR0EsUUFBTSxjQUFjLFlBQVksUUFBUSxJQUFJLEdBQUcsVUFBVTtBQUN6RCxNQUFHLFdBQVcsV0FBVyxHQUFHO0FBQzFCLFdBQU87QUFBQSxFQUNUO0FBR0EsTUFBRyxRQUFRO0FBQ1QsVUFBTSxXQUFtQixXQUFXLEtBQUssWUFBWSxTQUFTLFNBQVM7QUFDdkUsVUFBTSxlQUF1QixNQUFNLFNBQVMsRUFBRSxLQUFLLElBQUksRUFBRSxJQUFJLE1BQU0sS0FBSyxFQUFFLEtBQUssRUFBRTtBQUNqRixXQUFPLFlBQVksVUFBVSxZQUFZO0FBQUEsRUFDM0M7QUFFQSxTQUFPLFdBQVcsS0FBSyxZQUFZLFNBQVMsU0FBUyxLQUFLLGlCQUFpQixRQUFRO0FBQ3JGO0FBR08sTUFBTSxjQUFjLENBQUMsZUFBK0I7QUFDekQsUUFBTSxVQUFVLElBQUksSUFBSSxLQUFLLFlBQVksR0FBRyxFQUFFO0FBQzlDLFFBQU0sYUFBcUIsZ0JBQWdCLFVBQVU7QUFHckQsUUFBTSxjQUFjLFlBQVksUUFBUSxJQUFJLEdBQUcsVUFBVTtBQUN6RCxNQUFHLFdBQVcsV0FBVyxHQUFHO0FBQzFCLFdBQU87QUFBQSxFQUNUO0FBR0EsUUFBTSxXQUFtQixXQUFXLEtBQUssWUFBWSxPQUFPO0FBQzVELE1BQUcsWUFBWSxXQUFXLFFBQVEsR0FBRztBQUNuQyxXQUFPO0FBQUEsRUFDVDtBQUdBLFFBQU0sWUFBb0IsV0FBVyxLQUFLLFlBQVksTUFBTSxFQUFFLEtBQUssS0FBSyxVQUFVO0FBQ2xGLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2ZpbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgZmluZEZpbGVVcCBmcm9tICdmaW5kLWZpbGUtdXAnO1xuaW1wb3J0IHtleGlzdHNTeW5jfSBmcm9tICdmcyc7XG5pbXBvcnQge3Jlc29sdmUgYXMgcGF0aFJlc29sdmV9IGZyb20gJ3BhdGgnO1xuXG5cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuXG4vKipcbiAqIFNhZmVseSBnZXQgZGlyZWN0b3J5IG5hbWUgdGhhdCB3b3JrcyBpbiBib3RoIEVTTSBhbmQgSmVzdCBlbnZpcm9ubWVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERpck5hbWUoKTogc3RyaW5nIHtcbiAgdHJ5IHtcbiAgICAvLyBPbmx5IHdvcmtzIGluIEVTTSBlbnZpcm9ubWVudHNcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZXZhbFxuICAgIHJldHVybiBldmFsKCduZXcgVVJMKFwiLlwiLCBpbXBvcnQubWV0YS51cmwpLnBhdGhuYW1lJyk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIEZhbGxiYWNrIGZvciBKZXN0IG9yIENKU1xuICAgIHJldHVybiBwcm9jZXNzLmN3ZCgpO1xuICB9XG59XG5cbi8qKlxuICogU2FmZWx5IGdldCBmaWxlIHBhdGggdGhhdCB3b3JrcyBpbiBib3RoIEVTTSBhbmQgSmVzdCBlbnZpcm9ubWVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVQYXRoKHJlbGF0aXZlUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgdHJ5IHtcbiAgICAvLyBPbmx5IHdvcmtzIGluIEVTTSBlbnZpcm9ubWVudHNcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZXZhbFxuICAgIHJldHVybiBldmFsKCdyZXF1aXJlKFwidXJsXCIpLmZpbGVVUkxUb1BhdGgobmV3IFVSTChyZWxhdGl2ZVBhdGgsIGltcG9ydC5tZXRhLnVybCkpJyk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIEZhbGxiYWNrIGZvciBKZXN0IG9yIENKU1xuICAgIGlmKHJlbGF0aXZlUGF0aCA9PT0gJy4uLy4uLy4uL3BhY2thZ2UuanNvbicpIHtcbiAgICAgIHJldHVybiBwYXRoUmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCAncGFja2FnZS5qc29uJyk7XG4gICAgfVxuICAgIHJldHVybiBwYXRoUmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCByZWxhdGl2ZVBhdGgpO1xuICB9XG59XG5cbi8qKlxuICogR2V0IHRoZSBwYXRoIHRvIExleCdzIG93biBwYWNrYWdlLmpzb24sIHJlZ2FyZGxlc3Mgb2YgQ1dEXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRMZXhQYWNrYWdlSnNvblBhdGgoKTogc3RyaW5nIHtcbiAgdHJ5IHtcbiAgICAvLyBUaGlzIHdpbGwgYWx3YXlzIHJlc29sdmUgdG8gTGV4J3Mgb3duIHBhY2thZ2UuanNvbiwgcmVnYXJkbGVzcyBvZiBDV0RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZXZhbFxuICAgIGNvbnN0IGxleFJvb3QgPSBldmFsKCdyZXF1aXJlKFwicGF0aFwiKS5kaXJuYW1lKHJlcXVpcmUoXCJ1cmxcIikuZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKScpO1xuICAgIHJldHVybiBwYXRoUmVzb2x2ZShsZXhSb290LCAnLi4vLi4vcGFja2FnZS5qc29uJyk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIEZhbGxiYWNrIGZvciBKZXN0IG9yIENKUyBlbnZpcm9ubWVudHNcbiAgICByZXR1cm4gcGF0aFJlc29sdmUocHJvY2Vzcy5jd2QoKSwgJ3BhY2thZ2UuanNvbicpO1xuICB9XG59XG5cbi8vIEdldCBmaWxlIHBhdGhzIHJlbGF0aXZlIHRvIExleFxuZXhwb3J0IGNvbnN0IHJlbGF0aXZlRmlsZVBhdGggPSAoZmlsZW5hbWU6IHN0cmluZywgZGlyUGF0aDogc3RyaW5nID0gJy4vJywgYmFja1VwOiBudW1iZXIgPSAwKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbmVzdERlcHRoOiBudW1iZXIgPSAxMDtcblxuICBpZihiYWNrVXApIHtcbiAgICBjb25zdCBmaWxlUGF0aDogc3RyaW5nID0gZmluZEZpbGVVcC5zeW5jKGZpbGVuYW1lLCBkaXJQYXRoLCBuZXN0RGVwdGgpO1xuICAgIGNvbnN0IHByZXZpb3VzUGF0aDogc3RyaW5nID0gQXJyYXkoYmFja1VwKS5maWxsKG51bGwpLm1hcCgoKSA9PiAnLi4vJykuam9pbignJyk7XG4gICAgcmV0dXJuIHBhdGhSZXNvbHZlKGZpbGVQYXRoLCBwcmV2aW91c1BhdGgpO1xuICB9XG5cbiAgcmV0dXJuIGZpbmRGaWxlVXAuc3luYyhmaWxlbmFtZSwgZGlyUGF0aCwgbmVzdERlcHRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWxhdGl2ZU5vZGVQYXRoID0gKGZpbGVuYW1lOiBzdHJpbmcsIGRpclBhdGg6IHN0cmluZyA9ICcuLycsIGJhY2tVcDogbnVtYmVyID0gMCk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IG5lc3REZXB0aDogbnVtYmVyID0gMTA7XG4gIGNvbnN0IG1vZHVsZVBhdGggPSBgbm9kZV9tb2R1bGVzLyR7ZmlsZW5hbWV9YDtcblxuICAvLyBGaXJzdCwgY2hlY2sgdGhlIExleCBwYWNrYWdlJ3Mgbm9kZV9tb2R1bGVzIGRpcmVjdG9yeVxuICBpZihkaXJQYXRoICE9PSAnLi8nKSB7XG4gICAgY29uc3QgbGV4TW9kdWxlUGF0aCA9IHBhdGhSZXNvbHZlKGRpclBhdGgsIG1vZHVsZVBhdGgpO1xuICAgIGlmKGV4aXN0c1N5bmMobGV4TW9kdWxlUGF0aCkpIHtcbiAgICAgIHJldHVybiBsZXhNb2R1bGVQYXRoO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlY29uZCwgY2hlY2sgdGhlIHVzZXIncyBwcm9qZWN0IG5vZGVfbW9kdWxlcyBkaXJlY3RvcnlcbiAgY29uc3QgcHJvamVjdFBhdGggPSBwYXRoUmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBtb2R1bGVQYXRoKTtcbiAgaWYoZXhpc3RzU3luYyhwcm9qZWN0UGF0aCkpIHtcbiAgICByZXR1cm4gcHJvamVjdFBhdGg7XG4gIH1cblxuICAvLyBPcmlnaW5hbCBpbXBsZW1lbnRhdGlvbiBhcyBmYWxsYmFja1xuICBpZihiYWNrVXApIHtcbiAgICBjb25zdCBmaWxlUGF0aDogc3RyaW5nID0gZmluZEZpbGVVcC5zeW5jKG1vZHVsZVBhdGgsIGRpclBhdGgsIG5lc3REZXB0aCk7XG4gICAgY29uc3QgcHJldmlvdXNQYXRoOiBzdHJpbmcgPSBBcnJheShuZXN0RGVwdGgpLmZpbGwobnVsbCkubWFwKCgpID0+ICcuLi8nKS5qb2luKCcnKTtcbiAgICByZXR1cm4gcGF0aFJlc29sdmUoZmlsZVBhdGgsIHByZXZpb3VzUGF0aCk7XG4gIH1cblxuICByZXR1cm4gZmluZEZpbGVVcC5zeW5jKG1vZHVsZVBhdGgsIGRpclBhdGgsIG5lc3REZXB0aCkgfHwgYC9ub2RlX21vZHVsZXMvJHtmaWxlbmFtZX1gO1xufTtcblxuLy8gR2V0IGZpbGUgcGF0aHMgcmVsYXRpdmUgdG8gTGV4XG5leHBvcnQgY29uc3QgZ2V0Tm9kZVBhdGggPSAobW9kdWxlTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgZGlyTmFtZSA9IGdldERpck5hbWUoKTtcbiAgY29uc3QgbW9kdWxlUGF0aDogc3RyaW5nID0gYG5vZGVfbW9kdWxlcy8ke21vZHVsZU5hbWV9YDtcblxuICAvLyBUcnkgcHJvamVjdCByb290IGZpcnN0XG4gIGNvbnN0IHByb2plY3RQYXRoID0gcGF0aFJlc29sdmUocHJvY2Vzcy5jd2QoKSwgbW9kdWxlUGF0aCk7XG4gIGlmKGV4aXN0c1N5bmMocHJvamVjdFBhdGgpKSB7XG4gICAgcmV0dXJuIHByb2plY3RQYXRoO1xuICB9XG5cbiAgLy8gVGhlbiB0cnkgbW9kdWxlIGxvY2FsIHRvIExleFxuICBjb25zdCByZXBvUGF0aDogc3RyaW5nID0gZmluZEZpbGVVcC5zeW5jKG1vZHVsZVBhdGgsIGRpck5hbWUpO1xuICBpZihyZXBvUGF0aCAmJiBleGlzdHNTeW5jKHJlcG9QYXRoKSkge1xuICAgIHJldHVybiByZXBvUGF0aDtcbiAgfVxuXG4gIC8vIEZhbGxiYWNrIHRvIGdlbmVyYWwgc2VhcmNoXG4gIGNvbnN0IGxvY2FsUGF0aDogc3RyaW5nID0gZmluZEZpbGVVcC5zeW5jKG1vZHVsZVBhdGgsICcuLycsIDEwKSB8fCBgLi8ke21vZHVsZVBhdGh9YDtcbiAgcmV0dXJuIGxvY2FsUGF0aDtcbn07XG5cbi8qKlxuICogUmVzb2x2ZSBiaW5hcnkgcGF0aCB3aXRoIGZhbGxiYWNrIGxvZ2ljIGZvciBtb25vcmVwbyBhbmQgcGFja2FnZSBzY2VuYXJpb3NcbiAqIENoZWNrczogMSkgTGV4J3Mgbm9kZV9tb2R1bGVzLy5iaW4vLCAyKSBMZXgncyBub2RlX21vZHVsZXMvPHBhY2thZ2U+L2Jpbi8sIDMpIE1vbm9yZXBvIHJvb3Qgbm9kZV9tb2R1bGVzLy5iaW4vIChmcm9tIHByb2Nlc3MuY3dkKCkpLCA0KSBNb25vcmVwbyByb290IG5vZGVfbW9kdWxlcy8uYmluLyAoZnJvbSBMZXgncyBkaXIpXG4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlQmluYXJ5UGF0aCA9IChiaW5hcnlOYW1lOiBzdHJpbmcsIHBhY2thZ2VOYW1lPzogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbGV4RGlyID0gTGV4Q29uZmlnLmdldExleERpcigpO1xuXG4gIC8vIDEuIENoZWNrIExleCdzIG5vZGVfbW9kdWxlcy8uYmluL1xuICBjb25zdCBsZXhCaW5QYXRoID0gcGF0aFJlc29sdmUobGV4RGlyLCBgbm9kZV9tb2R1bGVzLy5iaW4vJHtiaW5hcnlOYW1lfWApO1xuICBpZihleGlzdHNTeW5jKGxleEJpblBhdGgpKSB7XG4gICAgcmV0dXJuIGxleEJpblBhdGg7XG4gIH1cblxuICAvLyAyLiBDaGVjayBMZXgncyBub2RlX21vZHVsZXMvPHBhY2thZ2U+L2Jpbi8gKGlmIHBhY2thZ2VOYW1lIHByb3ZpZGVkKVxuICBpZihwYWNrYWdlTmFtZSkge1xuICAgIGNvbnN0IGxleFBhY2thZ2VCaW5QYXRoID0gcGF0aFJlc29sdmUobGV4RGlyLCBgbm9kZV9tb2R1bGVzLyR7cGFja2FnZU5hbWV9L2Jpbi8ke2JpbmFyeU5hbWV9YCk7XG4gICAgaWYoZXhpc3RzU3luYyhsZXhQYWNrYWdlQmluUGF0aCkpIHtcbiAgICAgIHJldHVybiBsZXhQYWNrYWdlQmluUGF0aDtcbiAgICB9XG5cbiAgICAvLyBBbHNvIGNoZWNrIGZvciAuanMgZXh0ZW5zaW9uXG4gICAgY29uc3QgbGV4UGFja2FnZUJpbkpzUGF0aCA9IHBhdGhSZXNvbHZlKGxleERpciwgYG5vZGVfbW9kdWxlcy8ke3BhY2thZ2VOYW1lfS9iaW4vJHtiaW5hcnlOYW1lfS5qc2ApO1xuICAgIGlmKGV4aXN0c1N5bmMobGV4UGFja2FnZUJpbkpzUGF0aCkpIHtcbiAgICAgIHJldHVybiBsZXhQYWNrYWdlQmluSnNQYXRoO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciAuY2pzIGV4dGVuc2lvblxuICAgIGNvbnN0IGxleFBhY2thZ2VCaW5DanNQYXRoID0gcGF0aFJlc29sdmUobGV4RGlyLCBgbm9kZV9tb2R1bGVzLyR7cGFja2FnZU5hbWV9L2Jpbi8ke2JpbmFyeU5hbWV9LmNqc2ApO1xuICAgIGlmKGV4aXN0c1N5bmMobGV4UGFja2FnZUJpbkNqc1BhdGgpKSB7XG4gICAgICByZXR1cm4gbGV4UGFja2FnZUJpbkNqc1BhdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gMy4gV2FsayB1cCBmcm9tIHByb2Nlc3MuY3dkKCkgYW5kIGNoZWNrIG5vZGVfbW9kdWxlcy8uYmluL1xuICBjb25zdCBjaGVja0JpblVwID0gKHN0YXJ0RGlyOiBzdHJpbmcpID0+IHtcbiAgICBsZXQgY2hlY2tEaXIgPSBzdGFydERpcjtcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XG4gICAgICBjb25zdCBtb25vcmVwb0JpblBhdGggPSBwYXRoUmVzb2x2ZShjaGVja0RpciwgYG5vZGVfbW9kdWxlcy8uYmluLyR7YmluYXJ5TmFtZX1gKTtcbiAgICAgIGlmKGV4aXN0c1N5bmMobW9ub3JlcG9CaW5QYXRoKSkge1xuICAgICAgICByZXR1cm4gbW9ub3JlcG9CaW5QYXRoO1xuICAgICAgfVxuICAgICAgY29uc3QgcGFyZW50RGlyID0gcGF0aFJlc29sdmUoY2hlY2tEaXIsICcuLicpO1xuICAgICAgaWYocGFyZW50RGlyID09PSBjaGVja0Rpcikge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNoZWNrRGlyID0gcGFyZW50RGlyO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH07XG5cbiAgLy8gM2EuIFdhbGsgdXAgZnJvbSBwcm9jZXNzLmN3ZCgpXG4gIGNvbnN0IGZyb21Dd2QgPSBjaGVja0JpblVwKHByb2Nlc3MuY3dkKCkpO1xuICBpZihmcm9tQ3dkKSB7XG4gICAgcmV0dXJuIGZyb21Dd2Q7XG4gIH1cblxuICAvLyAzYi4gV2FsayB1cCBmcm9tIExleCdzIGRpcmVjdG9yeVxuICBjb25zdCBmcm9tTGV4ID0gY2hlY2tCaW5VcChsZXhEaXIpO1xuICBpZihmcm9tTGV4KSB7XG4gICAgcmV0dXJuIGZyb21MZXg7XG4gIH1cblxuICAvLyBOb3QgZm91bmRcbiAgcmV0dXJuICcnO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFJQSxPQUFPLGdCQUFnQjtBQUN2QixTQUFRLGtCQUFpQjtBQUN6QixTQUFRLFdBQVcsbUJBQWtCO0FBR3JDLFNBQVEsaUJBQWdCO0FBS2pCLFNBQVMsYUFBcUI7QUFDbkMsTUFBSTtBQUdGLFdBQU8sS0FBSyx3Q0FBd0M7QUFBQSxFQUN0RCxRQUFRO0FBRU4sV0FBTyxR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
|
package/eslint.config.js
CHANGED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lex configuration file
|
|
3
|
+
* This file contains configuration options for the Lex CLI tool
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
// Source and output paths
|
|
8
|
+
sourcePath: './src',
|
|
9
|
+
outputPath: './dist',
|
|
10
|
+
|
|
11
|
+
// Project settings
|
|
12
|
+
useTypescript: true,
|
|
13
|
+
targetEnvironment: 'web',
|
|
14
|
+
preset: 'web',
|
|
15
|
+
|
|
16
|
+
// AI configuration
|
|
17
|
+
// Use this section to configure AI features for lint --fix and ai commands
|
|
18
|
+
ai: {
|
|
19
|
+
// Available providers: 'cursor', 'copilot', 'openai', 'anthropic', 'none'
|
|
20
|
+
provider: 'cursor',
|
|
21
|
+
|
|
22
|
+
// API key for external providers (recommended to use environment variables)
|
|
23
|
+
// apiKey: process.env.OPENAI_API_KEY,
|
|
24
|
+
|
|
25
|
+
// Model configuration (specific to each provider)
|
|
26
|
+
model: 'cursor-code', // For Cursor IDE
|
|
27
|
+
// model: 'copilot-codex', // For GitHub Copilot
|
|
28
|
+
// model: 'gpt-4o', // For OpenAI
|
|
29
|
+
// model: 'claude-3-sonnet', // For Anthropic
|
|
30
|
+
|
|
31
|
+
// Optional parameters
|
|
32
|
+
maxTokens: 4000,
|
|
33
|
+
temperature: 0.1
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
// Build configuration
|
|
37
|
+
esbuild: {
|
|
38
|
+
entryPoints: ['src/index.ts'],
|
|
39
|
+
outdir: 'dist',
|
|
40
|
+
platform: 'node',
|
|
41
|
+
target: 'es2020',
|
|
42
|
+
format: 'esm'
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
// Test configuration
|
|
46
|
+
jest: {
|
|
47
|
+
roots: ['<rootDir>/src'],
|
|
48
|
+
testEnvironment: 'node'
|
|
49
|
+
}
|
|
50
|
+
};
|
package/jest.config.cjs
CHANGED
|
@@ -16,28 +16,28 @@ module.exports = {
|
|
|
16
16
|
'^boxen$': '<rootDir>/__mocks__/boxen.js',
|
|
17
17
|
'^chalk$': '<rootDir>/__mocks__/chalk.js',
|
|
18
18
|
'^ora$': '<rootDir>/__mocks__/ora.js',
|
|
19
|
-
// Mock modules that use import.meta.url
|
|
19
|
+
// Mock modules that use import.meta.url
|
|
20
20
|
'.*LexConfig.*': '<rootDir>/__mocks__/LexConfig.js',
|
|
21
21
|
'.*build\\.js$': '<rootDir>/__mocks__/build.js',
|
|
22
22
|
'.*versions\\.js$': '<rootDir>/__mocks__/versions.js',
|
|
23
|
-
'.*compile\\.js$': '<rootDir>/__mocks__/compile.js'
|
|
23
|
+
'.*compile\\.js$': '<rootDir>/__mocks__/compile.js',
|
|
24
|
+
// Mock file utility to avoid import.meta.url issues
|
|
25
|
+
'utils/file\\.js$': '<rootDir>/__mocks__/file.js',
|
|
26
|
+
'.*/utils/file\\.js$': '<rootDir>/__mocks__/file.js',
|
|
27
|
+
'^(\\.{1,2}/)*utils/file\\.js$': '<rootDir>/__mocks__/file.js',
|
|
28
|
+
|
|
24
29
|
},
|
|
25
30
|
rootDir: './',
|
|
26
31
|
testMatch: ['<rootDir>/**/*.test.ts*'],
|
|
27
32
|
transform: {
|
|
28
|
-
'^.+\\.ts$|^.+\\.tsx$': ['
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
}],
|
|
36
|
-
'\\.(gql|graphql)$': 'jest-transform-graphql'
|
|
33
|
+
'^.+\\.ts$|^.+\\.tsx$': ['babel-jest', {
|
|
34
|
+
presets: [
|
|
35
|
+
['@babel/preset-env', {targets: {node: 'current'}}],
|
|
36
|
+
'@babel/preset-typescript'
|
|
37
|
+
]
|
|
38
|
+
}]
|
|
37
39
|
},
|
|
38
|
-
// Disable coverage temporarily to avoid import.meta issues
|
|
39
40
|
collectCoverage: false,
|
|
40
|
-
// Transform all node_modules to handle ES modules
|
|
41
41
|
transformIgnorePatterns: [],
|
|
42
|
-
setupFilesAfterEnv: ['
|
|
42
|
+
setupFilesAfterEnv: ['./jest.setup.js']
|
|
43
43
|
};
|
package/jest.setup.js
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
1
|
+
// jest.mock('execa', () => jest.fn().mockResolvedValue({
|
|
2
|
+
// stdout: '',
|
|
3
|
+
// stderr: '',
|
|
4
|
+
// exitCode: 0,
|
|
5
|
+
// command: 'mocked-command',
|
|
6
|
+
// pid: 123
|
|
7
|
+
// }));
|
|
4
8
|
|
|
5
|
-
|
|
9
|
+
jest.mock('ora');
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
jest.mock('latest-version', () => jest.fn().mockResolvedValue('1.0.0'));
|
|
13
|
+
} catch (error) {
|
|
14
|
+
jest.doMock('latest-version', () => jest.fn().mockResolvedValue('1.0.0'));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const originalReadFileSync = require('fs').readFileSync;
|
|
18
|
+
require('fs').readFileSync = jest.fn((path, encoding) => {
|
|
19
|
+
if (path && path.toString().includes('package.json')) {
|
|
20
|
+
return JSON.stringify({
|
|
21
|
+
version: '1.0.0',
|
|
22
|
+
dependencies: {
|
|
23
|
+
esbuild: '^0.19.0',
|
|
24
|
+
jest: '^29.0.0',
|
|
25
|
+
typescript: '^5.0.0',
|
|
26
|
+
webpack: '^5.0.0'
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return originalReadFileSync(path, encoding);
|
|
31
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nlabs/lex",
|
|
3
|
-
"version": "1.47.
|
|
3
|
+
"version": "1.47.3",
|
|
4
4
|
"description": "Lex",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "NODE_ENV=production && rm -rf dist && esbuild $(find src -name '*.ts' -not -name '*.test.ts' -not -name '*.spec.ts') --platform=node --outdir=./dist --sourcemap=inline --target=node22 --format=esm --packages=external && npm run declarations",
|
|
40
40
|
"build:all": "npm run build && npm run build:ai",
|
|
41
|
-
"build:ai": "NODE_ENV=production && esbuild
|
|
41
|
+
"build:ai": "NODE_ENV=production && esbuild src/commands/ai/*.ts --platform=node --outdir=./dist/commands/ai --sourcemap=inline --target=node22 --format=esm --packages=external",
|
|
42
42
|
"declarations": "tsc --declaration --emitDeclarationOnly --outDir dist",
|
|
43
43
|
"clean": "rm -rf dist node_modules package-lock.json *.log coverage",
|
|
44
44
|
"compile": "tsc -p tsconfig.build.json",
|
|
@@ -50,20 +50,33 @@
|
|
|
50
50
|
"publish:major": "npm version major && npm publish",
|
|
51
51
|
"publish:minor": "npm version minor && npm publish",
|
|
52
52
|
"publish:patch": "npm version patch && npm publish",
|
|
53
|
-
"
|
|
54
|
-
"test": "NODE_ENV=test
|
|
53
|
+
"test": "NODE_ENV=test && npm run lint && npm run test:unit",
|
|
54
|
+
"test:unit": "NODE_ENV=test npm run env && npx jest",
|
|
55
55
|
"update": "npm-check-updates -i",
|
|
56
56
|
"watch": "NODE_ENV=development rm -rf dist && npm run compile -w"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@babel/core": "^7.28.0",
|
|
60
|
+
"@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
|
|
61
|
+
"@babel/plugin-transform-optional-chaining": "^7.27.1",
|
|
60
62
|
"@babel/preset-env": "^7.28.0",
|
|
61
63
|
"@babel/preset-typescript": "7.27.1",
|
|
62
64
|
"@luckycatfactory/esbuild-graphql-loader": "^3.8.1",
|
|
63
|
-
"@nlabs/execa-mock": "*",
|
|
64
65
|
"@nlabs/webpack-plugin-static-site": "*",
|
|
66
|
+
"@storybook/addon-actions": "^9.0.8",
|
|
67
|
+
"@storybook/addon-backgrounds": "^9.0.8",
|
|
68
|
+
"@storybook/addon-controls": "^9.0.8",
|
|
69
|
+
"@storybook/addon-docs": "^9.0.17",
|
|
70
|
+
"@storybook/addon-links": "^9.0.17",
|
|
71
|
+
"@storybook/addon-themes": "^9.0.17",
|
|
72
|
+
"@storybook/addon-viewport": "^9.0.8",
|
|
73
|
+
"@storybook/cli": "^9.0.17",
|
|
74
|
+
"@storybook/react": "^9.0.17",
|
|
75
|
+
"@storybook/react-webpack5": "^9.0.17",
|
|
65
76
|
"@tailwindcss/postcss": "4.1.11",
|
|
66
77
|
"@testing-library/jest-dom": "^6.6.3",
|
|
78
|
+
"@typescript-eslint/eslint-plugin": "^8.37.0",
|
|
79
|
+
"@typescript-eslint/parser": "^8.37.0",
|
|
67
80
|
"acorn": "^8.15.0",
|
|
68
81
|
"ajv": "^8.17.1",
|
|
69
82
|
"assert": "^2.1.0",
|
|
@@ -82,15 +95,13 @@
|
|
|
82
95
|
"core-js": "^3.44.0",
|
|
83
96
|
"crypto-browserify": "^3.12.1",
|
|
84
97
|
"css-loader": "^7.1.2",
|
|
85
|
-
"cssnano": "^7.0
|
|
98
|
+
"cssnano": "^7.1.0",
|
|
86
99
|
"dotenv-webpack": "^8.1.1",
|
|
87
100
|
"download-npm-package": "^3.1.12",
|
|
88
101
|
"esbuild": "0.25.6",
|
|
89
102
|
"esbuild-loader": "4.3.0",
|
|
90
|
-
"eslint": "9.
|
|
91
|
-
"
|
|
92
|
-
"@typescript-eslint/parser": "^8.36.0",
|
|
93
|
-
"eslint-config-styleguidejs": "^4.0.16",
|
|
103
|
+
"eslint": "^9.31.0",
|
|
104
|
+
"eslint-config-styleguidejs": "^4.0.22",
|
|
94
105
|
"execa": "9.6.0",
|
|
95
106
|
"exports-loader": "^5.0.0",
|
|
96
107
|
"favicons-webpack-plugin": "^6.0.1",
|
|
@@ -103,18 +114,19 @@
|
|
|
103
114
|
"html-webpack-plugin": "^5.6.3",
|
|
104
115
|
"https-browserify": "^1.0.0",
|
|
105
116
|
"imports-loader": "^5.0.0",
|
|
106
|
-
"jest": "
|
|
107
|
-
"jest-circus": "
|
|
108
|
-
"jest-cli": "
|
|
109
|
-
"jest-environment-jsdom": "
|
|
117
|
+
"jest": "^29.7.0",
|
|
118
|
+
"jest-circus": "^29.7.0",
|
|
119
|
+
"jest-cli": "^29.7.0",
|
|
120
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
110
121
|
"jest-transform-graphql": "2.1.0",
|
|
122
|
+
"jest-util": "^29.7.0",
|
|
111
123
|
"json-d-ts": "1.0.1",
|
|
112
124
|
"latest-version": "9.0.0",
|
|
113
125
|
"lodash": "^4.17.21",
|
|
114
|
-
"luxon": "^3.
|
|
126
|
+
"luxon": "^3.7.1",
|
|
115
127
|
"net": "^1.0.2",
|
|
116
128
|
"npm-check-updates": "^18.0.1",
|
|
117
|
-
"openai": "^5.
|
|
129
|
+
"openai": "^5.9.2",
|
|
118
130
|
"ora": "8.2.0",
|
|
119
131
|
"os-browserify": "^0.3.0",
|
|
120
132
|
"path-browserify": "^1.0.1",
|
|
@@ -130,7 +142,7 @@
|
|
|
130
142
|
"postcss-percentage": "^0.0.0",
|
|
131
143
|
"postcss-preset-env": "^10.2.4",
|
|
132
144
|
"postcss-simple-vars": "^7.0.1",
|
|
133
|
-
"postcss-svgo": "7.0
|
|
145
|
+
"postcss-svgo": "7.1.0",
|
|
134
146
|
"postcss-url": "10.1.3",
|
|
135
147
|
"process": "^0.11.10",
|
|
136
148
|
"react": "^19.1.0",
|
|
@@ -143,13 +155,14 @@
|
|
|
143
155
|
"source-map-support": "^0.5.21",
|
|
144
156
|
"speed-measure-webpack-plugin": "^1.5.0",
|
|
145
157
|
"static-site-generator-webpack-plugin": "^3.4.2",
|
|
158
|
+
"storybook": "^9.0.17",
|
|
146
159
|
"stream-browserify": "^3.0.0",
|
|
147
160
|
"stream-http": "^3.2.0",
|
|
148
161
|
"style-loader": "^4.0.0",
|
|
149
162
|
"svg-spritemap-webpack-plugin": "^4.7.0",
|
|
150
163
|
"svgo": "4.0.0",
|
|
151
164
|
"tls": "^0.0.1",
|
|
152
|
-
"ts-jest": "29.4.0",
|
|
165
|
+
"ts-jest": "^29.4.0",
|
|
153
166
|
"ts-node": "^10.9.2",
|
|
154
167
|
"tsconfig-paths-webpack-plugin": "^4.2.0",
|
|
155
168
|
"typescript": "5.8.3",
|
|
@@ -157,7 +170,7 @@
|
|
|
157
170
|
"url-loader": "^4.1.1",
|
|
158
171
|
"util": "^0.12.5",
|
|
159
172
|
"vm-browserify": "^1.1.2",
|
|
160
|
-
"webpack": "5.
|
|
173
|
+
"webpack": "5.100.2",
|
|
161
174
|
"webpack-bundle-analyzer": "^4.10.2",
|
|
162
175
|
"webpack-cli": "^6.0.1",
|
|
163
176
|
"webpack-merge": "^6.0.1",
|
|
@@ -167,15 +180,19 @@
|
|
|
167
180
|
"devDependencies": {
|
|
168
181
|
"@babel/plugin-transform-runtime": "^7.28.0",
|
|
169
182
|
"@babel/preset-react": "^7.27.1",
|
|
170
|
-
"@nlabs/execa-mock": "^1.41.0",
|
|
171
183
|
"@types/jest": "^30.0.0",
|
|
172
184
|
"@types/luxon": "^3.6.2",
|
|
173
|
-
"@types/node": "^24.0.
|
|
185
|
+
"@types/node": "^24.0.14",
|
|
174
186
|
"@types/ora": "^3.2.0",
|
|
175
187
|
"@types/react": "^19.1.8",
|
|
176
188
|
"@types/webpack": "^5.28.5",
|
|
177
|
-
"babel-
|
|
178
|
-
"babel-plugin-transform-
|
|
189
|
+
"babel-loader": "^10.0.0",
|
|
190
|
+
"babel-plugin-transform-import-meta": "^2.3.3"
|
|
191
|
+
},
|
|
192
|
+
"peerDependencies": {
|
|
193
|
+
"@storybook/react": "^9.0.17",
|
|
194
|
+
"@storybook/react-webpack5": "^9.0.17",
|
|
195
|
+
"storybook": "^9.0.17"
|
|
179
196
|
},
|
|
180
197
|
"gitHead": "0f5fb22fc0f0ab1abab5adf62afed24c7c87e4a8"
|
|
181
198
|
}
|
package/tsconfig.build.json
CHANGED
|
@@ -1,15 +1,48 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends": "
|
|
2
|
+
"extends": "./tsconfig.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"
|
|
4
|
+
"allowJs": true,
|
|
5
|
+
"allowSyntheticDefaultImports": true,
|
|
6
|
+
"baseUrl": "./src",
|
|
7
|
+
"declaration": true,
|
|
8
|
+
"emitDeclarationOnly": false,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"experimentalDecorators": true,
|
|
11
|
+
"forceConsistentCasingInFileNames": true,
|
|
12
|
+
"inlineSourceMap": true,
|
|
13
|
+
"isolatedModules": true,
|
|
14
|
+
"jsx": "react",
|
|
15
|
+
"lib": [
|
|
16
|
+
"ESNext",
|
|
17
|
+
"DOM"
|
|
18
|
+
],
|
|
19
|
+
"module": "NodeNext",
|
|
20
|
+
"moduleResolution": "NodeNext",
|
|
21
|
+
"noFallthroughCasesInSwitch": true,
|
|
22
|
+
"noImplicitReturns": true,
|
|
23
|
+
"noImplicitThis": true,
|
|
24
|
+
"noUnusedLocals": false,
|
|
5
25
|
"outDir": "./dist",
|
|
6
|
-
"
|
|
26
|
+
"pretty": true,
|
|
27
|
+
"removeComments": true,
|
|
28
|
+
"resolveJsonModule": true,
|
|
29
|
+
"skipLibCheck": true,
|
|
30
|
+
"strict": true,
|
|
31
|
+
"target": "ESNext",
|
|
32
|
+
"types": [
|
|
33
|
+
"node"
|
|
34
|
+
]
|
|
7
35
|
},
|
|
8
36
|
"include": [
|
|
9
37
|
"src/**/*"
|
|
10
38
|
],
|
|
11
39
|
"exclude": [
|
|
12
|
-
"**/*.test
|
|
13
|
-
"**/*.spec
|
|
40
|
+
"**/*.test.*",
|
|
41
|
+
"**/*.spec.*",
|
|
42
|
+
"**/*.integration.*",
|
|
43
|
+
"**/__tests__/**",
|
|
44
|
+
"**/__mocks__/**",
|
|
45
|
+
"dist",
|
|
46
|
+
"node_modules"
|
|
14
47
|
]
|
|
15
48
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1,10 +1,37 @@
|
|
|
1
1
|
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"allowJs": true,
|
|
4
|
+
"allowSyntheticDefaultImports": true,
|
|
5
|
+
"declaration": true,
|
|
6
|
+
"emitDeclarationOnly": true,
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"inlineSourceMap": true,
|
|
9
|
+
"isolatedModules": true,
|
|
10
|
+
"jsx": "react",
|
|
11
|
+
"lib": [
|
|
12
|
+
"dom",
|
|
13
|
+
"ESNext"
|
|
14
|
+
],
|
|
15
|
+
"module": "NodeNext",
|
|
16
|
+
"moduleResolution": "NodeNext",
|
|
17
|
+
"noFallthroughCasesInSwitch": true,
|
|
18
|
+
"noImplicitReturns": true,
|
|
19
|
+
"noImplicitThis": true,
|
|
20
|
+
"noUnusedLocals": false,
|
|
21
|
+
"pretty": true,
|
|
22
|
+
"resolveJsonModule": true,
|
|
23
|
+
"skipLibCheck": true,
|
|
24
|
+
"target": "ESNext",
|
|
25
|
+
"types": [
|
|
26
|
+
"jest",
|
|
27
|
+
"node"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
2
30
|
"exclude": [
|
|
3
31
|
"./.vscode",
|
|
4
32
|
"./dist",
|
|
5
33
|
"./node_modules"
|
|
6
34
|
],
|
|
7
|
-
"extends": "../../tsconfig.base.json",
|
|
8
35
|
"include": [
|
|
9
36
|
"./src",
|
|
10
37
|
"./jest.setup.ts"
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"allowJs": true,
|
|
5
|
+
"allowSyntheticDefaultImports": true,
|
|
6
|
+
"baseUrl": "./src",
|
|
7
|
+
"declaration": false,
|
|
8
|
+
"emitDeclarationOnly": false,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"experimentalDecorators": true,
|
|
11
|
+
"forceConsistentCasingInFileNames": true,
|
|
12
|
+
"inlineSourceMap": false,
|
|
13
|
+
"isolatedModules": true,
|
|
14
|
+
"jsx": "react",
|
|
15
|
+
"lib": [
|
|
16
|
+
"ESNext",
|
|
17
|
+
"DOM"
|
|
18
|
+
],
|
|
19
|
+
"module": "NodeNext",
|
|
20
|
+
"moduleResolution": "NodeNext",
|
|
21
|
+
"noEmit": true,
|
|
22
|
+
"noFallthroughCasesInSwitch": true,
|
|
23
|
+
"noImplicitReturns": true,
|
|
24
|
+
"noImplicitThis": true,
|
|
25
|
+
"noUnusedLocals": true,
|
|
26
|
+
"pretty": false,
|
|
27
|
+
"removeComments": false,
|
|
28
|
+
"resolveJsonModule": true,
|
|
29
|
+
"skipLibCheck": true,
|
|
30
|
+
"strict": true,
|
|
31
|
+
"target": "ESNext",
|
|
32
|
+
"types": [
|
|
33
|
+
"node",
|
|
34
|
+
"jest"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"include": [
|
|
38
|
+
"src/**/*"
|
|
39
|
+
],
|
|
40
|
+
"exclude": [
|
|
41
|
+
"dist",
|
|
42
|
+
"node_modules"
|
|
43
|
+
]
|
|
44
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"allowJs": true,
|
|
4
|
+
"allowSyntheticDefaultImports": true,
|
|
5
|
+
"baseUrl": "./src",
|
|
6
|
+
"declaration": false,
|
|
7
|
+
"emitDeclarationOnly": false,
|
|
8
|
+
"esModuleInterop": true,
|
|
9
|
+
"experimentalDecorators": true,
|
|
10
|
+
"forceConsistentCasingInFileNames": true,
|
|
11
|
+
"inlineSourceMap": true,
|
|
12
|
+
"isolatedModules": true,
|
|
13
|
+
"jsx": "react",
|
|
14
|
+
"lib": [
|
|
15
|
+
"ESNext",
|
|
16
|
+
"DOM"
|
|
17
|
+
],
|
|
18
|
+
"module": "NodeNext",
|
|
19
|
+
"moduleResolution": "NodeNext",
|
|
20
|
+
"noEmit": true,
|
|
21
|
+
"noFallthroughCasesInSwitch": true,
|
|
22
|
+
"noImplicitReturns": true,
|
|
23
|
+
"noImplicitThis": true,
|
|
24
|
+
"noUnusedLocals": false,
|
|
25
|
+
"pretty": true,
|
|
26
|
+
"removeComments": false,
|
|
27
|
+
"resolveJsonModule": true,
|
|
28
|
+
"skipLibCheck": true,
|
|
29
|
+
"strict": false,
|
|
30
|
+
"target": "ESNext",
|
|
31
|
+
"types": [
|
|
32
|
+
"jest",
|
|
33
|
+
"node"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"include": [
|
|
37
|
+
"src/**/*",
|
|
38
|
+
"**/*.test.*",
|
|
39
|
+
"**/*.spec.*",
|
|
40
|
+
"**/*.integration.*",
|
|
41
|
+
"**/__tests__/*",
|
|
42
|
+
"jest.setup.ts"
|
|
43
|
+
],
|
|
44
|
+
"exclude": [
|
|
45
|
+
"dist",
|
|
46
|
+
"node_modules"
|
|
47
|
+
]
|
|
48
|
+
}
|