@nlabs/lex 1.46.2 → 1.47.0

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.
Files changed (70) hide show
  1. package/__mocks__/LexConfig.js +20 -0
  2. package/__mocks__/boxen.js +7 -0
  3. package/__mocks__/build.js +16 -0
  4. package/__mocks__/chalk.js +23 -0
  5. package/__mocks__/compile.js +8 -0
  6. package/__mocks__/execa.js +21 -0
  7. package/__mocks__/ora.js +17 -0
  8. package/__mocks__/versions.js +12 -0
  9. package/dist/LexConfig.js +72 -14
  10. package/dist/commands/ai/ai.js +303 -0
  11. package/dist/commands/ai/index.js +7 -0
  12. package/dist/commands/build/build.js +350 -0
  13. package/dist/commands/clean/clean.js +31 -0
  14. package/dist/commands/compile/compile.js +195 -0
  15. package/dist/commands/config/config.js +43 -0
  16. package/dist/commands/copy/copy.js +38 -0
  17. package/dist/commands/create/create.js +124 -0
  18. package/dist/commands/dev/dev.js +70 -0
  19. package/dist/commands/init/init.js +93 -0
  20. package/dist/commands/link/link.js +15 -0
  21. package/dist/commands/lint/lint.js +656 -0
  22. package/dist/commands/migrate/migrate.js +37 -0
  23. package/dist/commands/publish/publish.js +104 -0
  24. package/dist/commands/test/test.js +327 -0
  25. package/dist/commands/update/update.js +62 -0
  26. package/dist/commands/upgrade/upgrade.js +47 -0
  27. package/dist/commands/versions/versions.js +41 -0
  28. package/dist/create/changelog.js +3 -3
  29. package/dist/index.js +35 -0
  30. package/dist/jest.config.lex.d.ts +2 -0
  31. package/dist/lex.js +25 -22
  32. package/dist/types.js +1 -0
  33. package/dist/utils/aiService.js +290 -0
  34. package/dist/utils/app.js +3 -3
  35. package/dist/utils/file.js +1 -1
  36. package/dist/utils/log.js +2 -1
  37. package/dist/utils/reactShim.js +3 -3
  38. package/dist/webpack.config.d.ts +2 -0
  39. package/eslint.config.js +10 -0
  40. package/index.cjs +20 -0
  41. package/jest.config.cjs +31 -27
  42. package/jest.config.lex.js +90 -38
  43. package/jest.setup.js +5 -0
  44. package/lex.config.js +50 -0
  45. package/package.json +69 -52
  46. package/{.postcssrc.js → postcss.config.js} +21 -9
  47. package/tsconfig.json +2 -1
  48. package/webpack.config.js +27 -11
  49. package/dist/commands/build.js +0 -265
  50. package/dist/commands/bulid.test.js +0 -317
  51. package/dist/commands/clean.js +0 -31
  52. package/dist/commands/clean.test.js +0 -63
  53. package/dist/commands/compile.js +0 -195
  54. package/dist/commands/compile.test.js +0 -93
  55. package/dist/commands/config.js +0 -43
  56. package/dist/commands/copy.js +0 -38
  57. package/dist/commands/create.js +0 -120
  58. package/dist/commands/dev.js +0 -70
  59. package/dist/commands/init.js +0 -93
  60. package/dist/commands/link.js +0 -15
  61. package/dist/commands/lint.js +0 -179
  62. package/dist/commands/migrate.js +0 -37
  63. package/dist/commands/publish.js +0 -104
  64. package/dist/commands/test.js +0 -190
  65. package/dist/commands/update.js +0 -64
  66. package/dist/commands/upgrade.js +0 -47
  67. package/dist/commands/versions.js +0 -41
  68. package/dist/commands/versions.test.js +0 -49
  69. package/dist/lint.js +0 -11
  70. package/jest.setup.ts +0 -3
@@ -1,120 +0,0 @@
1
- import { existsSync, readFileSync, renameSync, writeFileSync } from "fs";
2
- import { resolve as pathResolve } from "path";
3
- import { URL } from "url";
4
- import { createChangelog } from "../create/changelog.js";
5
- import { LexConfig } from "../LexConfig.js";
6
- import { copyFolderRecursiveSync, getFilenames, removeFiles, updateTemplateName } from "../utils/app.js";
7
- import { log } from "../utils/log.js";
8
- const create = async (type, cmd, callback = () => ({})) => {
9
- const { cliName = "Lex", outputFile, outputName, quiet } = cmd;
10
- const cwd = process.cwd();
11
- log(`${cliName} creating ${type}...`, "info", quiet);
12
- await LexConfig.parseConfig(cmd, false);
13
- const { outputPath, sourcePath, useTypescript } = LexConfig.config;
14
- if (useTypescript) {
15
- LexConfig.checkTypescriptConfig();
16
- }
17
- const { config } = LexConfig;
18
- const dirName = new URL(".", import.meta.url).pathname;
19
- switch (type) {
20
- case "changelog": {
21
- const statusChangelog = await createChangelog({ cliName, config, outputFile, quiet });
22
- callback(statusChangelog);
23
- return statusChangelog;
24
- }
25
- case "store": {
26
- try {
27
- const result = getFilenames({
28
- cliName,
29
- name: outputName,
30
- quiet,
31
- type,
32
- useTypescript
33
- });
34
- if (!result) return 1;
35
- const { nameCaps, templateExt, templatePath } = result;
36
- const storePath = `${cwd}/${nameCaps}Store`;
37
- if (!existsSync(storePath)) {
38
- copyFolderRecursiveSync(pathResolve(dirName, templatePath, "./.SampleStore"), cwd);
39
- renameSync(`${cwd}/.SampleStore`, storePath);
40
- const storeTestPath = `${storePath}/${nameCaps}Store.test${templateExt}`;
41
- renameSync(`${storePath}/SampleStore.test${templateExt}.txt`, storeTestPath);
42
- updateTemplateName(storeTestPath, outputName, nameCaps);
43
- const storeFilePath = `${storePath}/${nameCaps}Store${templateExt}`;
44
- renameSync(`${storePath}/SampleStore${templateExt}.txt`, storeFilePath);
45
- updateTemplateName(storeFilePath, outputName, nameCaps);
46
- } else {
47
- log(`
48
- ${cliName} Error: Cannot create new ${type}. Directory, ${storePath} already exists.`, "error", quiet);
49
- callback(1);
50
- return 1;
51
- }
52
- } catch (error) {
53
- log(`
54
- ${cliName} Error: Cannot create new ${type}. ${error.message}`, "error", quiet);
55
- callback(1);
56
- return 1;
57
- }
58
- break;
59
- }
60
- case "tsconfig": {
61
- await removeFiles("tsconfig.json", true);
62
- const templatePath = pathResolve(dirName, "../../tsconfig.template.json");
63
- let data = readFileSync(templatePath, "utf8");
64
- data = data.replace(/.\/src/g, sourcePath);
65
- data = data.replace(/.\/dist/g, outputPath);
66
- const destPath = pathResolve(cwd, "./tsconfig.json");
67
- writeFileSync(destPath, data, "utf8");
68
- break;
69
- }
70
- case "view": {
71
- const result = getFilenames({
72
- cliName,
73
- name: outputName,
74
- quiet,
75
- type,
76
- useTypescript
77
- });
78
- if (!result) return 1;
79
- const { nameCaps, templatePath, templateReact } = result;
80
- const viewPath = `${cwd}/${nameCaps}View`;
81
- try {
82
- if (!existsSync(viewPath)) {
83
- copyFolderRecursiveSync(pathResolve(dirName, templatePath, "./.SampleView"), cwd);
84
- renameSync(`${cwd}/.SampleView`, viewPath);
85
- const viewStylePath = `${viewPath}/${outputName}View.css`;
86
- renameSync(`${viewPath}/sampleView.css`, viewStylePath);
87
- updateTemplateName(viewStylePath, outputName, nameCaps);
88
- const viewTestPath = `${viewPath}/${nameCaps}View.test${templateReact}`;
89
- renameSync(`${viewPath}/SampleView.test${templateReact}.txt`, viewTestPath);
90
- updateTemplateName(viewTestPath, outputName, nameCaps);
91
- const viewFilePath = `${viewPath}/${nameCaps}View${templateReact}`;
92
- renameSync(`${viewPath}/SampleView${templateReact}.txt`, viewFilePath);
93
- updateTemplateName(viewFilePath, outputName, nameCaps);
94
- } else {
95
- log(`
96
- ${cliName} Error: Cannot create new ${type}. Directory, ${viewPath} already exists.`, "error", quiet);
97
- callback(1);
98
- return 1;
99
- }
100
- } catch (error) {
101
- log(`
102
- ${cliName} Error: Cannot create new ${type}. ${error.message}`, "error", quiet);
103
- callback(1);
104
- return 1;
105
- }
106
- break;
107
- }
108
- case "vscode": {
109
- await removeFiles(".vscode", true);
110
- copyFolderRecursiveSync(pathResolve(dirName, "../../.vscode"), cwd);
111
- break;
112
- }
113
- }
114
- callback(0);
115
- return 0;
116
- };
117
- export {
118
- create
119
- };
120
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NyZWF0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhpc3RzU3luYywgcmVhZEZpbGVTeW5jLCByZW5hbWVTeW5jLCB3cml0ZUZpbGVTeW5jfSBmcm9tICdmcyc7XG5pbXBvcnQge3Jlc29sdmUgYXMgcGF0aFJlc29sdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtVUkx9IGZyb20gJ3VybCc7XG5cbmltcG9ydCB7Y3JlYXRlQ2hhbmdlbG9nfSBmcm9tICcuLi9jcmVhdGUvY2hhbmdlbG9nLmpzJztcbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjb3B5Rm9sZGVyUmVjdXJzaXZlU3luYywgZ2V0RmlsZW5hbWVzLCByZW1vdmVGaWxlcywgdXBkYXRlVGVtcGxhdGVOYW1lfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dEZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dE5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ2FsbGJhY2sgPSAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGUgPSBhc3luYyAodHlwZTogc3RyaW5nLCBjbWQ6IENyZWF0ZU9wdGlvbnMsIGNhbGxiYWNrOiBDcmVhdGVDYWxsYmFjayA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBvdXRwdXRGaWxlLCBvdXRwdXROYW1lLCBxdWlldH0gPSBjbWQ7XG4gIGNvbnN0IGN3ZDogc3RyaW5nID0gcHJvY2Vzcy5jd2QoKTtcbiAgbG9nKGAke2NsaU5hbWV9IGNyZWF0aW5nICR7dHlwZX0uLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCwgZmFsc2UpO1xuICBjb25zdCB7b3V0cHV0UGF0aCwgc291cmNlUGF0aCwgdXNlVHlwZXNjcmlwdH0gPSBMZXhDb25maWcuY29uZmlnO1xuXG4gIGlmKHVzZVR5cGVzY3JpcHQpIHtcbiAgICAvLyBNYWtlIHN1cmUgdHNjb25maWcuanNvbiBleGlzdHNcbiAgICBMZXhDb25maWcuY2hlY2tUeXBlc2NyaXB0Q29uZmlnKCk7XG4gIH1cblxuICBjb25zdCB7Y29uZmlnfSA9IExleENvbmZpZztcbiAgY29uc3QgZGlyTmFtZSA9IG5ldyBVUkwoJy4nLCBpbXBvcnQubWV0YS51cmwpLnBhdGhuYW1lO1xuXG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSAnY2hhbmdlbG9nJzoge1xuICAgICAgY29uc3Qgc3RhdHVzQ2hhbmdlbG9nOiBudW1iZXIgPSBhd2FpdCBjcmVhdGVDaGFuZ2Vsb2coe2NsaU5hbWUsIGNvbmZpZywgb3V0cHV0RmlsZSwgcXVpZXR9KTtcbiAgICAgIGNhbGxiYWNrKHN0YXR1c0NoYW5nZWxvZyk7XG4gICAgICByZXR1cm4gc3RhdHVzQ2hhbmdlbG9nO1xuICAgIH1cbiAgICBjYXNlICdzdG9yZSc6IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGdldEZpbGVuYW1lcyh7XG4gICAgICAgICAgY2xpTmFtZSxcbiAgICAgICAgICBuYW1lOiBvdXRwdXROYW1lLFxuICAgICAgICAgIHF1aWV0LFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgdXNlVHlwZXNjcmlwdFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXJlc3VsdCkgcmV0dXJuIDE7XG5cbiAgICAgICAgY29uc3Qge25hbWVDYXBzLCB0ZW1wbGF0ZUV4dCwgdGVtcGxhdGVQYXRofSA9IHJlc3VsdDtcbiAgICAgICAgY29uc3Qgc3RvcmVQYXRoOiBzdHJpbmcgPSBgJHtjd2R9LyR7bmFtZUNhcHN9U3RvcmVgO1xuXG4gICAgICAgIGlmKCFleGlzdHNTeW5jKHN0b3JlUGF0aCkpIHtcbiAgICAgICAgICAvLyBDb3B5IHN0b3JlIGZpbGVzXG4gICAgICAgICAgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmMocGF0aFJlc29sdmUoZGlyTmFtZSwgdGVtcGxhdGVQYXRoLCAnLi8uU2FtcGxlU3RvcmUnKSwgY3dkKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBkaXJlY3RvcnlcbiAgICAgICAgICByZW5hbWVTeW5jKGAke2N3ZH0vLlNhbXBsZVN0b3JlYCwgc3RvcmVQYXRoKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSB0ZXN0XG4gICAgICAgICAgY29uc3Qgc3RvcmVUZXN0UGF0aDogc3RyaW5nID0gYCR7c3RvcmVQYXRofS8ke25hbWVDYXBzfVN0b3JlLnRlc3Qke3RlbXBsYXRlRXh0fWA7XG4gICAgICAgICAgcmVuYW1lU3luYyhgJHtzdG9yZVBhdGh9L1NhbXBsZVN0b3JlLnRlc3Qke3RlbXBsYXRlRXh0fS50eHRgLCBzdG9yZVRlc3RQYXRoKTtcblxuICAgICAgICAgIC8vIFNlYXJjaCBhbmQgcmVwbGFjZSBzdG9yZSBuYW1lXG4gICAgICAgICAgdXBkYXRlVGVtcGxhdGVOYW1lKHN0b3JlVGVzdFBhdGgsIG91dHB1dE5hbWUsIG5hbWVDYXBzKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBzb3VyY2UgZmlsZVxuICAgICAgICAgIGNvbnN0IHN0b3JlRmlsZVBhdGg6IHN0cmluZyA9IGAke3N0b3JlUGF0aH0vJHtuYW1lQ2Fwc31TdG9yZSR7dGVtcGxhdGVFeHR9YDtcbiAgICAgICAgICByZW5hbWVTeW5jKGAke3N0b3JlUGF0aH0vU2FtcGxlU3RvcmUke3RlbXBsYXRlRXh0fS50eHRgLCBzdG9yZUZpbGVQYXRoKTtcblxuICAgICAgICAgIC8vIFNlYXJjaCBhbmQgcmVwbGFjZSBzdG9yZSBuYW1lXG4gICAgICAgICAgdXBkYXRlVGVtcGxhdGVOYW1lKHN0b3JlRmlsZVBhdGgsIG91dHB1dE5hbWUsIG5hbWVDYXBzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IENhbm5vdCBjcmVhdGUgbmV3ICR7dHlwZX0uIERpcmVjdG9yeSwgJHtzdG9yZVBhdGh9IGFscmVhZHkgZXhpc3RzLmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgICAgICBjYWxsYmFjaygxKTtcbiAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IENhbm5vdCBjcmVhdGUgbmV3ICR7dHlwZX0uICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlICd0c2NvbmZpZyc6IHtcbiAgICAgIC8vIFJlbW92ZSBleGlzdGluZyBmaWxlXG4gICAgICBhd2FpdCByZW1vdmVGaWxlcygndHNjb25maWcuanNvbicsIHRydWUpO1xuXG4gICAgICAvLyBHZXQgdHNjb25maWcgdGVtcGxhdGVcbiAgICAgIGNvbnN0IHRlbXBsYXRlUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uL3RzY29uZmlnLnRlbXBsYXRlLmpzb24nKTtcbiAgICAgIGxldCBkYXRhOiBzdHJpbmcgPSByZWFkRmlsZVN5bmModGVtcGxhdGVQYXRoLCAndXRmOCcpO1xuXG4gICAgICAvLyBVcGRhdGUgTGV4IHRzY29uZmlnIHRlbXBsYXRlIHdpdGggc291cmNlIGFuZCBvdXRwdXQgZGlyZWN0b3JpZXNcbiAgICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoLy5cXC9zcmMvZywgc291cmNlUGF0aCk7XG4gICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC8uXFwvZGlzdC9nLCBvdXRwdXRQYXRoKTtcblxuICAgICAgLy8gU2F2ZSBuZXcgdHNjb25maWcgdG8gYXBwXG4gICAgICBjb25zdCBkZXN0UGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoY3dkLCAnLi90c2NvbmZpZy5qc29uJyk7XG4gICAgICB3cml0ZUZpbGVTeW5jKGRlc3RQYXRoLCBkYXRhLCAndXRmOCcpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgJ3ZpZXcnOiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBnZXRGaWxlbmFtZXMoe1xuICAgICAgICBjbGlOYW1lLFxuICAgICAgICBuYW1lOiBvdXRwdXROYW1lLFxuICAgICAgICBxdWlldCxcbiAgICAgICAgdHlwZSxcbiAgICAgICAgdXNlVHlwZXNjcmlwdFxuICAgICAgfSk7XG5cbiAgICAgIGlmICghcmVzdWx0KSByZXR1cm4gMTtcblxuICAgICAgY29uc3Qge25hbWVDYXBzLCB0ZW1wbGF0ZVBhdGgsIHRlbXBsYXRlUmVhY3R9ID0gcmVzdWx0O1xuICAgICAgY29uc3Qgdmlld1BhdGg6IHN0cmluZyA9IGAke2N3ZH0vJHtuYW1lQ2Fwc31WaWV3YDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaWYoIWV4aXN0c1N5bmModmlld1BhdGgpKSB7XG4gICAgICAgICAgLy8gQ29weSB2aWV3IGZpbGVzXG4gICAgICAgICAgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmMocGF0aFJlc29sdmUoZGlyTmFtZSwgdGVtcGxhdGVQYXRoLCAnLi8uU2FtcGxlVmlldycpLCBjd2QpO1xuXG4gICAgICAgICAgLy8gUmVuYW1lIGRpcmVjdG9yeVxuICAgICAgICAgIHJlbmFtZVN5bmMoYCR7Y3dkfS8uU2FtcGxlVmlld2AsIHZpZXdQYXRoKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBDU1NcbiAgICAgICAgICBjb25zdCB2aWV3U3R5bGVQYXRoOiBzdHJpbmcgPSBgJHt2aWV3UGF0aH0vJHtvdXRwdXROYW1lfVZpZXcuY3NzYDtcbiAgICAgICAgICByZW5hbWVTeW5jKGAke3ZpZXdQYXRofS9zYW1wbGVWaWV3LmNzc2AsIHZpZXdTdHlsZVBhdGgpO1xuXG4gICAgICAgICAgLy8gU2VhcmNoIGFuZCByZXBsYWNlIHZpZXcgbmFtZVxuICAgICAgICAgIHVwZGF0ZVRlbXBsYXRlTmFtZSh2aWV3U3R5bGVQYXRoLCBvdXRwdXROYW1lLCBuYW1lQ2Fwcyk7XG5cbiAgICAgICAgICAvLyBSZW5hbWUgdGVzdFxuICAgICAgICAgIGNvbnN0IHZpZXdUZXN0UGF0aDogc3RyaW5nID0gYCR7dmlld1BhdGh9LyR7bmFtZUNhcHN9Vmlldy50ZXN0JHt0ZW1wbGF0ZVJlYWN0fWA7XG4gICAgICAgICAgcmVuYW1lU3luYyhgJHt2aWV3UGF0aH0vU2FtcGxlVmlldy50ZXN0JHt0ZW1wbGF0ZVJlYWN0fS50eHRgLCB2aWV3VGVzdFBhdGgpO1xuXG4gICAgICAgICAgLy8gU2VhcmNoIGFuZCByZXBsYWNlIHZpZXcgbmFtZVxuICAgICAgICAgIHVwZGF0ZVRlbXBsYXRlTmFtZSh2aWV3VGVzdFBhdGgsIG91dHB1dE5hbWUsIG5hbWVDYXBzKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBzb3VyY2UgZmlsZVxuICAgICAgICAgIGNvbnN0IHZpZXdGaWxlUGF0aDogc3RyaW5nID0gYCR7dmlld1BhdGh9LyR7bmFtZUNhcHN9VmlldyR7dGVtcGxhdGVSZWFjdH1gO1xuICAgICAgICAgIHJlbmFtZVN5bmMoYCR7dmlld1BhdGh9L1NhbXBsZVZpZXcke3RlbXBsYXRlUmVhY3R9LnR4dGAsIHZpZXdGaWxlUGF0aCk7XG5cbiAgICAgICAgICAvLyBTZWFyY2ggYW5kIHJlcGxhY2UgdmlldyBuYW1lXG4gICAgICAgICAgdXBkYXRlVGVtcGxhdGVOYW1lKHZpZXdGaWxlUGF0aCwgb3V0cHV0TmFtZSwgbmFtZUNhcHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogQ2Fubm90IGNyZWF0ZSBuZXcgJHt0eXBlfS4gRGlyZWN0b3J5LCAke3ZpZXdQYXRofSBhbHJlYWR5IGV4aXN0cy5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICAgICAgY2FsbGJhY2soMSk7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBDYW5ub3QgY3JlYXRlIG5ldyAke3R5cGV9LiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgICAgICBjYWxsYmFjaygxKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSAndnNjb2RlJzoge1xuICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGRpcmVjdG9yeVxuICAgICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy52c2NvZGUnLCB0cnVlKTtcblxuICAgICAgLy8gQ29weSB2c2NvZGUgY29uZmlndXJhdGlvblxuICAgICAgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmMocGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uLy52c2NvZGUnKSwgY3dkKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGNhbGxiYWNrKDApO1xuICByZXR1cm4gMDtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLFlBQVksY0FBYyxZQUFZLHFCQUFvQjtBQUNsRSxTQUFRLFdBQVcsbUJBQWtCO0FBQ3JDLFNBQVEsV0FBVTtBQUVsQixTQUFRLHVCQUFzQjtBQUM5QixTQUFRLGlCQUFnQjtBQUN4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
@@ -1,70 +0,0 @@
1
- import { execa } from "execa";
2
- import { resolve as pathResolve } from "path";
3
- import { URL } from "url";
4
- import { LexConfig } from "../LexConfig.js";
5
- import { createSpinner, removeFiles } from "../utils/app.js";
6
- import { relativeNodePath } from "../utils/file.js";
7
- import { log } from "../utils/log.js";
8
- const dev = async (cmd, callback = () => ({})) => {
9
- const { bundleAnalyzer, cliName = "Lex", config, open = false, quiet, remove, variables } = cmd;
10
- const spinner = createSpinner(quiet);
11
- log(`${cliName} start development server...`, "info", quiet);
12
- await LexConfig.parseConfig(cmd);
13
- const { outputFullPath, useTypescript } = LexConfig.config;
14
- let variablesObj = { NODE_ENV: "development" };
15
- if (variables) {
16
- try {
17
- variablesObj = JSON.parse(variables);
18
- } catch (error) {
19
- log(`
20
- ${cliName} Error: Environment variables option is not a valid JSON object.`, "error", quiet);
21
- callback(1);
22
- return 1;
23
- }
24
- }
25
- process.env = { ...process.env, ...variablesObj };
26
- if (useTypescript) {
27
- LexConfig.checkTypescriptConfig();
28
- }
29
- if (remove) {
30
- spinner.start("Cleaning output directory...");
31
- await removeFiles(outputFullPath);
32
- spinner.succeed("Successfully cleaned output directory!");
33
- }
34
- const dirName = new URL(".", import.meta.url).pathname;
35
- const webpackConfig = config || pathResolve(dirName, "../../webpack.config.js");
36
- const webpackOptions = [
37
- "--color",
38
- "--watch",
39
- "--config",
40
- webpackConfig
41
- ];
42
- if (bundleAnalyzer) {
43
- webpackOptions.push("--bundleAnalyzer");
44
- }
45
- try {
46
- const dirPath = pathResolve(dirName, "../..");
47
- const webpackPath = relativeNodePath("webpack-cli/bin/cli.js", dirPath);
48
- await execa(webpackPath, webpackOptions, {
49
- encoding: "utf8",
50
- env: {
51
- LEX_QUIET: quiet,
52
- WEBPACK_DEV_OPEN: open
53
- },
54
- stdio: "inherit"
55
- });
56
- spinner.succeed("Development server started.");
57
- callback(0);
58
- return 0;
59
- } catch (error) {
60
- log(`
61
- ${cliName} Error: ${error.message}`, "error", quiet);
62
- spinner.fail("There was an error while running Webpack.");
63
- callback(1);
64
- return 1;
65
- }
66
- };
67
- export {
68
- dev
69
- };
70
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2Rldi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7cmVzb2x2ZSBhcyBwYXRoUmVzb2x2ZX0gZnJvbSAncGF0aCc7XG5pbXBvcnQge1VSTH0gZnJvbSAndXJsJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIHJlbW92ZUZpbGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtyZWxhdGl2ZU5vZGVQYXRofSBmcm9tICcuLi91dGlscy9maWxlLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi91dGlscy9sb2cuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERldk9wdGlvbnMge1xuICByZWFkb25seSBidW5kbGVBbmFseXplcj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbmZpZz86IHN0cmluZztcbiAgcmVhZG9ubHkgb3Blbj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcmVtb3ZlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdmFyaWFibGVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBEZXZDYWxsYmFjayA9IChzdGF0dXM6IG51bWJlcikgPT4gdm9pZDtcblxuZXhwb3J0IGNvbnN0IGRldiA9IGFzeW5jIChjbWQ6IERldk9wdGlvbnMsIGNhbGxiYWNrOiBEZXZDYWxsYmFjayA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7YnVuZGxlQW5hbHl6ZXIsIGNsaU5hbWUgPSAnTGV4JywgY29uZmlnLCBvcGVuID0gZmFsc2UsIHF1aWV0LCByZW1vdmUsIHZhcmlhYmxlc30gPSBjbWQ7XG5cbiAgLy8gU3Bpbm5lclxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgLy8gRGlzcGxheSBzdGF0dXNcbiAgbG9nKGAke2NsaU5hbWV9IHN0YXJ0IGRldmVsb3BtZW50IHNlcnZlci4uLmAsICdpbmZvJywgcXVpZXQpO1xuXG4gIC8vIEdldCBjdXN0b20gY29uZmlndXJhdGlvblxuICBhd2FpdCBMZXhDb25maWcucGFyc2VDb25maWcoY21kKTtcblxuICBjb25zdCB7b3V0cHV0RnVsbFBhdGgsIHVzZVR5cGVzY3JpcHR9ID0gTGV4Q29uZmlnLmNvbmZpZztcblxuICAvLyBTZXQgbm9kZSBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiAgbGV0IHZhcmlhYmxlc09iajogb2JqZWN0ID0ge05PREVfRU5WOiAnZGV2ZWxvcG1lbnQnfTtcblxuICBpZih2YXJpYWJsZXMpIHtcbiAgICB0cnkge1xuICAgICAgdmFyaWFibGVzT2JqID0gSlNPTi5wYXJzZSh2YXJpYWJsZXMpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogRW52aXJvbm1lbnQgdmFyaWFibGVzIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBKU09OIG9iamVjdC5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIHByb2Nlc3MuZW52ID0gey4uLnByb2Nlc3MuZW52LCAuLi52YXJpYWJsZXNPYmp9O1xuXG4gIGlmKHVzZVR5cGVzY3JpcHQpIHtcbiAgICAvLyBNYWtlIHN1cmUgdHNjb25maWcuanNvbiBleGlzdHNcbiAgICBMZXhDb25maWcuY2hlY2tUeXBlc2NyaXB0Q29uZmlnKCk7XG4gIH1cblxuICAvLyBDbGVhbiBvdXRwdXQgZGlyZWN0b3J5IGJlZm9yZSB3ZSBzdGFydCBhZGRpbmcgaW4gbmV3IGZpbGVzXG4gIGlmKHJlbW92ZSkge1xuICAgIC8vIFN0YXJ0IGNsZWFuaW5nIHNwaW5uZXJcbiAgICBzcGlubmVyLnN0YXJ0KCdDbGVhbmluZyBvdXRwdXQgZGlyZWN0b3J5Li4uJyk7XG5cbiAgICAvLyBDbGVhblxuICAgIGF3YWl0IHJlbW92ZUZpbGVzKG91dHB1dEZ1bGxQYXRoKTtcblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIHNwaW5uZXIuc3VjY2VlZCgnU3VjY2Vzc2Z1bGx5IGNsZWFuZWQgb3V0cHV0IGRpcmVjdG9yeSEnKTtcbiAgfVxuXG4gIC8vIEdldCBjdXN0b20gd2VicGFjayBjb25maWd1cmF0aW9uIGZpbGVcbiAgY29uc3QgZGlyTmFtZSA9IG5ldyBVUkwoJy4nLCBpbXBvcnQubWV0YS51cmwpLnBhdGhuYW1lO1xuICBjb25zdCB3ZWJwYWNrQ29uZmlnOiBzdHJpbmcgPSBjb25maWcgfHwgcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uL3dlYnBhY2suY29uZmlnLmpzJyk7XG5cbiAgLy8gQ29tcGlsZSB1c2luZyB3ZWJwYWNrXG4gIGNvbnN0IHdlYnBhY2tPcHRpb25zOiBzdHJpbmdbXSA9IFtcbiAgICAnLS1jb2xvcicsXG4gICAgJy0td2F0Y2gnLFxuICAgICctLWNvbmZpZycsIHdlYnBhY2tDb25maWdcbiAgXTtcblxuICBpZihidW5kbGVBbmFseXplcikge1xuICAgIHdlYnBhY2tPcHRpb25zLnB1c2goJy0tYnVuZGxlQW5hbHl6ZXInKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgZGlyUGF0aCA9IHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLicpO1xuICAgIGNvbnN0IHdlYnBhY2tQYXRoID0gcmVsYXRpdmVOb2RlUGF0aCgnd2VicGFjay1jbGkvYmluL2NsaS5qcycsIGRpclBhdGgpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBhd2FpdCBleGVjYSh3ZWJwYWNrUGF0aCwgd2VicGFja09wdGlvbnMsIHtcbiAgICAgIGVuY29kaW5nOiAndXRmOCcsXG4gICAgICBlbnY6IHtcbiAgICAgICAgTEVYX1FVSUVUOiBxdWlldCxcbiAgICAgICAgV0VCUEFDS19ERVZfT1BFTjogb3BlblxuICAgICAgfSxcbiAgICAgIHN0ZGlvOiAnaW5oZXJpdCdcbiAgICB9KTtcblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIHNwaW5uZXIuc3VjY2VlZCgnRGV2ZWxvcG1lbnQgc2VydmVyIHN0YXJ0ZWQuJyk7XG5cbiAgICBjYWxsYmFjaygwKTtcbiAgICByZXR1cm4gMDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIHNwaW5uZXIuZmFpbCgnVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHJ1bm5pbmcgV2VicGFjay4nKTtcblxuICAgIC8vIEtpbGwgcHJvY2Vzc1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiAxO1xuICB9XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxhQUFZO0FBQ3BCLFNBQVEsV0FBVyxtQkFBa0I7QUFDckMsU0FBUSxXQUFVO0FBRWxCLFNBQVEsaUJBQWdCO0FBQ3hCLFNBQVEsZUFBZSxtQkFBa0I7QUFDekMsU0FBUSx3QkFBdUI7QUFDL0IsU0FBUSxXQUFVO0FBY1gsTUFBTSxNQUFNLE9BQU8sS0FBaUIsV0FBd0IsT0FBTyxDQUFDLE9BQXdCO0FBQ2pHLFFBQU0sRUFBQyxnQkFBZ0IsVUFBVSxPQUFPLFFBQVEsT0FBTyxPQUFPLE9BQU8sUUFBUSxVQUFTLElBQUk7QUFHMUYsUUFBTSxVQUFVLGNBQWMsS0FBSztBQUduQyxNQUFJLEdBQUcsT0FBTyxnQ0FBZ0MsUUFBUSxLQUFLO0FBRzNELFFBQU0sVUFBVSxZQUFZLEdBQUc7QUFFL0IsUUFBTSxFQUFDLGdCQUFnQixjQUFhLElBQUksVUFBVTtBQUdsRCxNQUFJLGVBQXVCLEVBQUMsVUFBVSxjQUFhO0FBRW5ELE1BQUcsV0FBVztBQUNaLFFBQUk7QUFDRixxQkFBZSxLQUFLLE1BQU0sU0FBUztBQUFBLElBQ3JDLFNBQVEsT0FBTztBQUNiLFVBQUk7QUFBQSxFQUFLLE9BQU8sb0VBQW9FLFNBQVMsS0FBSztBQUNsRyxlQUFTLENBQUM7QUFDVixhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxVQUFRLE1BQU0sRUFBQyxHQUFHLFFBQVEsS0FBSyxHQUFHLGFBQVk7QUFFOUMsTUFBRyxlQUFlO0FBRWhCLGNBQVUsc0JBQXNCO0FBQUEsRUFDbEM7QUFHQSxNQUFHLFFBQVE7QUFFVCxZQUFRLE1BQU0sOEJBQThCO0FBRzVDLFVBQU0sWUFBWSxjQUFjO0FBR2hDLFlBQVEsUUFBUSx3Q0FBd0M7QUFBQSxFQUMxRDtBQUdBLFFBQU0sVUFBVSxJQUFJLElBQUksS0FBSyxZQUFZLEdBQUcsRUFBRTtBQUM5QyxRQUFNLGdCQUF3QixVQUFVLFlBQVksU0FBUyx5QkFBeUI7QUFHdEYsUUFBTSxpQkFBMkI7QUFBQSxJQUMvQjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFBWTtBQUFBLEVBQ2Q7QUFFQSxNQUFHLGdCQUFnQjtBQUNqQixtQkFBZSxLQUFLLGtCQUFrQjtBQUFBLEVBQ3hDO0FBRUEsTUFBSTtBQUNGLFVBQU0sVUFBVSxZQUFZLFNBQVMsT0FBTztBQUM1QyxVQUFNLGNBQWMsaUJBQWlCLDBCQUEwQixPQUFPO0FBRXRFLFVBQU0sTUFBTSxhQUFhLGdCQUFnQjtBQUFBLE1BQ3ZDLFVBQVU7QUFBQSxNQUNWLEtBQUs7QUFBQSxRQUNILFdBQVc7QUFBQSxRQUNYLGtCQUFrQjtBQUFBLE1BQ3BCO0FBQUEsTUFDQSxPQUFPO0FBQUEsSUFDVCxDQUFDO0FBR0QsWUFBUSxRQUFRLDZCQUE2QjtBQUU3QyxhQUFTLENBQUM7QUFDVixXQUFPO0FBQUEsRUFDVCxTQUFRLE9BQU87QUFFYixRQUFJO0FBQUEsRUFBSyxPQUFPLFdBQVcsTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLO0FBRzFELFlBQVEsS0FBSywyQ0FBMkM7QUFHeEQsYUFBUyxDQUFDO0FBQ1YsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,93 +0,0 @@
1
- import { execa } from "execa";
2
- import { renameSync, writeFileSync } from "fs";
3
- import { resolve as pathResolve } from "path";
4
- import { URL } from "url";
5
- import { LexConfig } from "../LexConfig.js";
6
- import { createSpinner, getPackageJson, setPackageJson } from "../utils/app.js";
7
- import { log } from "../utils/log.js";
8
- const init = async (appName, packageName, cmd, callback = () => ({})) => {
9
- const { cliName = "Lex", install, packageManager: cmdPackageManager, quiet, typescript } = cmd;
10
- const cwd = process.cwd();
11
- const spinner = createSpinner(quiet);
12
- log(`${cliName} is downloading the app module...`, "info", quiet);
13
- spinner.start("Downloading app...");
14
- const tmpPath = pathResolve(cwd, "./.lexTmp");
15
- const appPath = pathResolve(cwd, `./${appName}`);
16
- const dirName = new URL(".", import.meta.url).pathname;
17
- const dnpPath = pathResolve(dirName, "../../node_modules/download-npm-package/bin/cli.js");
18
- await LexConfig.parseConfig(cmd);
19
- const { packageManager: configPackageManager, useTypescript: configTypescript } = LexConfig.config;
20
- const packageManager = cmdPackageManager || configPackageManager;
21
- const useTypescript = typescript !== void 0 ? typescript : configTypescript;
22
- let appModule = packageName;
23
- if (!appModule) {
24
- if (useTypescript) {
25
- appModule = "@nlabs/arkhamjs-example-ts-react";
26
- } else {
27
- appModule = "@nlabs/arkhamjs-example-flow-react";
28
- }
29
- }
30
- try {
31
- await execa(dnpPath, [appModule, tmpPath], {});
32
- spinner.succeed("Successfully downloaded app!");
33
- } catch (error) {
34
- console.log("error", error);
35
- log(`
36
- ${cliName} Error: There was an error downloading ${appModule}. Make sure the package exists and there is a network connection.`, "error", quiet);
37
- spinner.fail("Downloaded of app failed.");
38
- callback(1);
39
- return 1;
40
- }
41
- try {
42
- renameSync(`${tmpPath}/${appModule}`, appPath);
43
- } catch (error) {
44
- log(`
45
- ${cliName} Error: There was an error copying ${appModule} to the current working directory.`, "error", quiet);
46
- callback(1);
47
- return 1;
48
- }
49
- const packagePath = `${appPath}/package.json`;
50
- const packageJson = getPackageJson(packagePath);
51
- packageJson.name = appName;
52
- packageJson.description = `${cliName} created app`;
53
- packageJson.version = "0.1.0";
54
- delete packageJson.keywords;
55
- delete packageJson.author;
56
- delete packageJson.contributors;
57
- delete packageJson.repository;
58
- delete packageJson.homepage;
59
- delete packageJson.bugs;
60
- try {
61
- setPackageJson(packageJson, packagePath);
62
- const readmePath = `${appPath}/README.md`;
63
- writeFileSync(readmePath, `# ${appName}`);
64
- } catch (error) {
65
- log(`
66
- ${cliName} Error: ${error.message}`, "error", quiet);
67
- callback(1);
68
- return 1;
69
- }
70
- if (install) {
71
- spinner.start("Installing dependencies...");
72
- process.chdir(appPath);
73
- try {
74
- await execa(packageManager, ["install"], {
75
- encoding: "utf8",
76
- stdio: "inherit"
77
- });
78
- spinner.succeed("Successfully installed dependencies!");
79
- } catch (error) {
80
- log(`
81
- ${cliName} Error: ${error.message}`, "error", quiet);
82
- spinner.fail("Failed to install dependencies.");
83
- callback(1);
84
- return 1;
85
- }
86
- }
87
- callback(0);
88
- return 0;
89
- };
90
- export {
91
- init
92
- };
93
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2luaXQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge3JlbmFtZVN5bmMsIHdyaXRlRmlsZVN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCB7cmVzb2x2ZSBhcyBwYXRoUmVzb2x2ZX0gZnJvbSAncGF0aCc7XG5pbXBvcnQge1VSTH0gZnJvbSAndXJsJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIGdldFBhY2thZ2VKc29uLCBzZXRQYWNrYWdlSnNvbn0gZnJvbSAnLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi91dGlscy9sb2cuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRPcHRpb25zIHtcbiAgcmVhZG9ubHkgY2xpTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgaW5zdGFsbD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHBhY2thZ2VNYW5hZ2VyPzogc3RyaW5nO1xuICByZWFkb25seSBxdWlldD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHR5cGVzY3JpcHQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBJbml0Q2FsbGJhY2sgPSAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBpbml0ID0gYXN5bmMgKFxuICBhcHBOYW1lOiBzdHJpbmcsXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4gIGNtZDogSW5pdE9wdGlvbnMsXG4gIGNhbGxiYWNrOiBJbml0Q2FsbGJhY2sgPSAoKSA9PiAoe30pXG4pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBpbnN0YWxsLCBwYWNrYWdlTWFuYWdlcjogY21kUGFja2FnZU1hbmFnZXIsIHF1aWV0LCB0eXBlc2NyaXB0fSA9IGNtZDtcbiAgY29uc3QgY3dkOiBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIC8vIFNwaW5uZXJcbiAgY29uc3Qgc3Bpbm5lciA9IGNyZWF0ZVNwaW5uZXIocXVpZXQpO1xuXG4gIC8vIERvd25sb2FkIGFwcCBtb2R1bGUgaW50byB0ZW1wb3JhcnkgZGlyZWN0b3J5XG4gIGxvZyhgJHtjbGlOYW1lfSBpcyBkb3dubG9hZGluZyB0aGUgYXBwIG1vZHVsZS4uLmAsICdpbmZvJywgcXVpZXQpO1xuICBzcGlubmVyLnN0YXJ0KCdEb3dubG9hZGluZyBhcHAuLi4nKTtcbiAgY29uc3QgdG1wUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoY3dkLCAnLi8ubGV4VG1wJyk7XG4gIGNvbnN0IGFwcFBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGN3ZCwgYC4vJHthcHBOYW1lfWApO1xuICBjb25zdCBkaXJOYW1lID0gbmV3IFVSTCgnLicsIGltcG9ydC5tZXRhLnVybCkucGF0aG5hbWU7XG4gIGNvbnN0IGRucFBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLi9ub2RlX21vZHVsZXMvZG93bmxvYWQtbnBtLXBhY2thZ2UvYmluL2NsaS5qcycpO1xuXG4gIC8vIEdldCBjdXN0b20gY29uZmlndXJhdGlvblxuICBhd2FpdCBMZXhDb25maWcucGFyc2VDb25maWcoY21kKTtcbiAgY29uc3Qge3BhY2thZ2VNYW5hZ2VyOiBjb25maWdQYWNrYWdlTWFuYWdlciwgdXNlVHlwZXNjcmlwdDogY29uZmlnVHlwZXNjcmlwdH0gPSBMZXhDb25maWcuY29uZmlnO1xuICBjb25zdCBwYWNrYWdlTWFuYWdlcjogc3RyaW5nID0gY21kUGFja2FnZU1hbmFnZXIgfHwgY29uZmlnUGFja2FnZU1hbmFnZXI7XG4gIGNvbnN0IHVzZVR5cGVzY3JpcHQ6IGJvb2xlYW4gPSB0eXBlc2NyaXB0ICE9PSB1bmRlZmluZWQgPyB0eXBlc2NyaXB0IDogY29uZmlnVHlwZXNjcmlwdDtcblxuICBsZXQgYXBwTW9kdWxlOiBzdHJpbmcgPSBwYWNrYWdlTmFtZTtcblxuICAvLyBVc2UgYmFzZSBhcHAgbW9kdWxlIGJhc2VkIG9uIGNvbmZpZ1xuICBpZighYXBwTW9kdWxlKSB7XG4gICAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgICAgYXBwTW9kdWxlID0gJ0BubGFicy9hcmtoYW1qcy1leGFtcGxlLXRzLXJlYWN0JztcbiAgICB9IGVsc2Uge1xuICAgICAgYXBwTW9kdWxlID0gJ0BubGFicy9hcmtoYW1qcy1leGFtcGxlLWZsb3ctcmVhY3QnO1xuICAgIH1cbiAgfVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlY2EoZG5wUGF0aCwgW2FwcE1vZHVsZSwgdG1wUGF0aF0sIHt9KTtcblxuICAgIC8vIFN0b3Agc3Bpbm5lciBhbmQgdXBkYXRlIHN0YXR1c1xuICAgIHNwaW5uZXIuc3VjY2VlZCgnU3VjY2Vzc2Z1bGx5IGRvd25sb2FkZWQgYXBwIScpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgY29uc29sZS5sb2coJ2Vycm9yJywgZXJyb3IpO1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogVGhlcmUgd2FzIGFuIGVycm9yIGRvd25sb2FkaW5nICR7YXBwTW9kdWxlfS4gTWFrZSBzdXJlIHRoZSBwYWNrYWdlIGV4aXN0cyBhbmQgdGhlcmUgaXMgYSBuZXR3b3JrIGNvbm5lY3Rpb24uYCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyIGFuZCBraWxsIHByb2Nlc3NcbiAgICBzcGlubmVyLmZhaWwoJ0Rvd25sb2FkZWQgb2YgYXBwIGZhaWxlZC4nKTtcblxuICAgIC8vIEtpbGwgcHJvY2Vzc1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgLy8gTW92ZSBpbnRvIGNvbmZpZ3VyZWQgZGlyZWN0b3J5XG4gIHRyeSB7XG4gICAgcmVuYW1lU3luYyhgJHt0bXBQYXRofS8ke2FwcE1vZHVsZX1gLCBhcHBQYXRoKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogVGhlcmUgd2FzIGFuIGVycm9yIGNvcHlpbmcgJHthcHBNb2R1bGV9IHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8vIENvbmZpZ3VyZSBwYWNrYWdlLmpzb25cbiAgY29uc3QgcGFja2FnZVBhdGg6IHN0cmluZyA9IGAke2FwcFBhdGh9L3BhY2thZ2UuanNvbmA7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gZ2V0UGFja2FnZUpzb24ocGFja2FnZVBhdGgpO1xuICBwYWNrYWdlSnNvbi5uYW1lID0gYXBwTmFtZTtcbiAgcGFja2FnZUpzb24uZGVzY3JpcHRpb24gPSBgJHtjbGlOYW1lfSBjcmVhdGVkIGFwcGA7XG4gIHBhY2thZ2VKc29uLnZlcnNpb24gPSAnMC4xLjAnO1xuICBkZWxldGUgcGFja2FnZUpzb24ua2V5d29yZHM7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5hdXRob3I7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5jb250cmlidXRvcnM7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5yZXBvc2l0b3J5O1xuICBkZWxldGUgcGFja2FnZUpzb24uaG9tZXBhZ2U7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5idWdzO1xuXG4gIHRyeSB7XG4gICAgLy8gVXBkYXRlIHBhY2thZ2UuanNvblxuICAgIHNldFBhY2thZ2VKc29uKHBhY2thZ2VKc29uLCBwYWNrYWdlUGF0aCk7XG5cbiAgICAvLyBVcGRhdGUgUkVBRE1FXG4gICAgY29uc3QgcmVhZG1lUGF0aDogc3RyaW5nID0gYCR7YXBwUGF0aH0vUkVBRE1FLm1kYDtcbiAgICB3cml0ZUZpbGVTeW5jKHJlYWRtZVBhdGgsIGAjICR7YXBwTmFtZX1gKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIGlmKGluc3RhbGwpIHtcbiAgICBzcGlubmVyLnN0YXJ0KCdJbnN0YWxsaW5nIGRlcGVuZGVuY2llcy4uLicpO1xuXG4gICAgLy8gQ2hhbmdlIHRvIHRoZSBhcHAgZGlyZWN0b3J5XG4gICAgcHJvY2Vzcy5jaGRpcihhcHBQYXRoKTtcblxuICAgIC8vIEluc3RhbGwgZGVwZW5kZW5jaWVzXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWNhKHBhY2thZ2VNYW5hZ2VyLCBbJ2luc3RhbGwnXSwge1xuICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgICBzdGRpbzogJ2luaGVyaXQnXG4gICAgICB9KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLnN1Y2NlZWQoJ1N1Y2Nlc3NmdWxseSBpbnN0YWxsZWQgZGVwZW5kZW5jaWVzIScpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIGluc3RhbGwgZGVwZW5kZW5jaWVzLicpO1xuXG4gICAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gS2lsbCBwcm9jZXNzXG4gIGNhbGxiYWNrKDApO1xuICByZXR1cm4gMDtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLGFBQVk7QUFDcEIsU0FBUSxZQUFZLHFCQUFvQjtBQUN4QyxTQUFRLFdBQVcsbUJBQWtCO0FBQ3JDLFNBQVEsV0FBVTtBQUVsQixTQUFRLGlCQUFnQjtBQUN4QixTQUFRLGVBQWUsZ0JBQWdCLHNCQUFxQjtBQUM1RCxTQUFRLFdBQVU7QUFZWCxNQUFNLE9BQU8sT0FDbEIsU0FDQSxhQUNBLEtBQ0EsV0FBeUIsT0FBTyxDQUFDLE9BQ2I7QUFDcEIsUUFBTSxFQUFDLFVBQVUsT0FBTyxTQUFTLGdCQUFnQixtQkFBbUIsT0FBTyxXQUFVLElBQUk7QUFDekYsUUFBTSxNQUFjLFFBQVEsSUFBSTtBQUdoQyxRQUFNLFVBQVUsY0FBYyxLQUFLO0FBR25DLE1BQUksR0FBRyxPQUFPLHFDQUFxQyxRQUFRLEtBQUs7QUFDaEUsVUFBUSxNQUFNLG9CQUFvQjtBQUNsQyxRQUFNLFVBQWtCLFlBQVksS0FBSyxXQUFXO0FBQ3BELFFBQU0sVUFBa0IsWUFBWSxLQUFLLEtBQUssT0FBTyxFQUFFO0FBQ3ZELFFBQU0sVUFBVSxJQUFJLElBQUksS0FBSyxZQUFZLEdBQUcsRUFBRTtBQUM5QyxRQUFNLFVBQWtCLFlBQVksU0FBUyxvREFBb0Q7QUFHakcsUUFBTSxVQUFVLFlBQVksR0FBRztBQUMvQixRQUFNLEVBQUMsZ0JBQWdCLHNCQUFzQixlQUFlLGlCQUFnQixJQUFJLFVBQVU7QUFDMUYsUUFBTSxpQkFBeUIscUJBQXFCO0FBQ3BELFFBQU0sZ0JBQXlCLGVBQWUsU0FBWSxhQUFhO0FBRXZFLE1BQUksWUFBb0I7QUFHeEIsTUFBRyxDQUFDLFdBQVc7QUFDYixRQUFHLGVBQWU7QUFDaEIsa0JBQVk7QUFBQSxJQUNkLE9BQU87QUFDTCxrQkFBWTtBQUFBLElBQ2Q7QUFBQSxFQUNGO0FBRUEsTUFBSTtBQUNGLFVBQU0sTUFBTSxTQUFTLENBQUMsV0FBVyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRzdDLFlBQVEsUUFBUSw4QkFBOEI7QUFBQSxFQUNoRCxTQUFRLE9BQU87QUFDYixZQUFRLElBQUksU0FBUyxLQUFLO0FBQzFCLFFBQUk7QUFBQSxFQUFLLE9BQU8sMENBQTBDLFNBQVMscUVBQXFFLFNBQVMsS0FBSztBQUd0SixZQUFRLEtBQUssMkJBQTJCO0FBR3hDLGFBQVMsQ0FBQztBQUNWLFdBQU87QUFBQSxFQUNUO0FBR0EsTUFBSTtBQUNGLGVBQVcsR0FBRyxPQUFPLElBQUksU0FBUyxJQUFJLE9BQU87QUFBQSxFQUMvQyxTQUFRLE9BQU87QUFDYixRQUFJO0FBQUEsRUFBSyxPQUFPLHNDQUFzQyxTQUFTLHNDQUFzQyxTQUFTLEtBQUs7QUFDbkgsYUFBUyxDQUFDO0FBQ1YsV0FBTztBQUFBLEVBQ1Q7QUFHQSxRQUFNLGNBQXNCLEdBQUcsT0FBTztBQUN0QyxRQUFNLGNBQWMsZUFBZSxXQUFXO0FBQzlDLGNBQVksT0FBTztBQUNuQixjQUFZLGNBQWMsR0FBRyxPQUFPO0FBQ3BDLGNBQVksVUFBVTtBQUN0QixTQUFPLFlBQVk7QUFDbkIsU0FBTyxZQUFZO0FBQ25CLFNBQU8sWUFBWTtBQUNuQixTQUFPLFlBQVk7QUFDbkIsU0FBTyxZQUFZO0FBQ25CLFNBQU8sWUFBWTtBQUVuQixNQUFJO0FBRUYsbUJBQWUsYUFBYSxXQUFXO0FBR3ZDLFVBQU0sYUFBcUIsR0FBRyxPQUFPO0FBQ3JDLGtCQUFjLFlBQVksS0FBSyxPQUFPLEVBQUU7QUFBQSxFQUMxQyxTQUFRLE9BQU87QUFDYixRQUFJO0FBQUEsRUFBSyxPQUFPLFdBQVcsTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLO0FBQzFELGFBQVMsQ0FBQztBQUNWLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBRyxTQUFTO0FBQ1YsWUFBUSxNQUFNLDRCQUE0QjtBQUcxQyxZQUFRLE1BQU0sT0FBTztBQUdyQixRQUFJO0FBQ0YsWUFBTSxNQUFNLGdCQUFnQixDQUFDLFNBQVMsR0FBRztBQUFBLFFBQ3ZDLFVBQVU7QUFBQSxRQUNWLE9BQU87QUFBQSxNQUNULENBQUM7QUFHRCxjQUFRLFFBQVEsc0NBQXNDO0FBQUEsSUFDeEQsU0FBUSxPQUFPO0FBRWIsVUFBSTtBQUFBLEVBQUssT0FBTyxXQUFXLE1BQU0sT0FBTyxJQUFJLFNBQVMsS0FBSztBQUcxRCxjQUFRLEtBQUssaUNBQWlDO0FBRzlDLGVBQVMsQ0FBQztBQUNWLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUdBLFdBQVMsQ0FBQztBQUNWLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,15 +0,0 @@
1
- import { LexConfig } from "../LexConfig.js";
2
- import { checkLinkedModules } from "../utils/app.js";
3
- import { log } from "../utils/log.js";
4
- const linked = async (cmd, callback = () => ({})) => {
5
- const { cliName = "Lex", quiet } = cmd;
6
- log(`${cliName} checking for linked modules...`, "info", quiet);
7
- await LexConfig.parseConfig(cmd);
8
- checkLinkedModules();
9
- callback(0);
10
- return Promise.resolve(0);
11
- };
12
- export {
13
- linked
14
- };
15
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge0xleENvbmZpZ30gZnJvbSAnLi4vTGV4Q29uZmlnLmpzJztcbmltcG9ydCB7Y2hlY2tMaW5rZWRNb2R1bGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua09wdGlvbnMge1xuICByZWFkb25seSBjbGlOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBxdWlldD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIExpbmtDYWxsYmFjayA9IChzdGF0dXM6IG51bWJlcikgPT4gdm9pZDtcblxuZXhwb3J0IGNvbnN0IGxpbmtlZCA9IGFzeW5jIChjbWQ6IExpbmtPcHRpb25zLCBjYWxsYmFjazogTGlua0NhbGxiYWNrID0gKCkgPT4gKHt9KSk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtjbGlOYW1lID0gJ0xleCcsIHF1aWV0fSA9IGNtZDtcblxuICAvLyBEaXNwbGF5IHN0YXR1c1xuICBsb2coYCR7Y2xpTmFtZX0gY2hlY2tpbmcgZm9yIGxpbmtlZCBtb2R1bGVzLi4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuXG4gIC8vIENoZWNrIGZvciBsaW5rZWQgbW9kdWxlc1xuICBjaGVja0xpbmtlZE1vZHVsZXMoKTtcbiAgY2FsbGJhY2soMCk7XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoMCk7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxpQkFBZ0I7QUFDeEIsU0FBUSwwQkFBeUI7QUFDakMsU0FBUSxXQUFVO0FBU1gsTUFBTSxTQUFTLE9BQU8sS0FBa0IsV0FBeUIsT0FBTyxDQUFDLE9BQXdCO0FBQ3RHLFFBQU0sRUFBQyxVQUFVLE9BQU8sTUFBSyxJQUFJO0FBR2pDLE1BQUksR0FBRyxPQUFPLG1DQUFtQyxRQUFRLEtBQUs7QUFHOUQsUUFBTSxVQUFVLFlBQVksR0FBRztBQUcvQixxQkFBbUI7QUFDbkIsV0FBUyxDQUFDO0FBQ1YsU0FBTyxRQUFRLFFBQVEsQ0FBQztBQUMxQjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,179 +0,0 @@
1
- import { execa } from "execa";
2
- import { resolve as pathResolve } from "path";
3
- import { URL } from "url";
4
- import { LexConfig } from "../LexConfig.js";
5
- import { createSpinner } from "../utils/app.js";
6
- import { relativeNodePath } from "../utils/file.js";
7
- import { log } from "../utils/log.js";
8
- const lint = async (cmd, callback = process.exit) => {
9
- const {
10
- cache,
11
- cacheFile,
12
- cacheLocation,
13
- cliName = "Lex",
14
- color,
15
- config,
16
- debug,
17
- env,
18
- envInfo,
19
- ext = ".js",
20
- fix,
21
- fixDryRun,
22
- fixType,
23
- format,
24
- global,
25
- ignorePath,
26
- ignorePattern,
27
- init,
28
- maxWarnings,
29
- noColor,
30
- noEslintrc = true,
31
- noIgnore,
32
- noInlineConfig,
33
- outputFile,
34
- parser,
35
- parserOptions,
36
- plugin,
37
- printConfig,
38
- quiet,
39
- reportUnusedDisableDirectives,
40
- resolvePluginsRelativeTo,
41
- rule,
42
- rulesdir,
43
- stdin,
44
- stdinFilename
45
- } = cmd;
46
- log(`${cliName} linting...`, "info", quiet);
47
- const spinner = createSpinner(quiet);
48
- await LexConfig.parseConfig(cmd);
49
- const { useTypescript } = LexConfig.config;
50
- let extensions = ext;
51
- if (useTypescript) {
52
- LexConfig.checkTypescriptConfig();
53
- extensions = ".ts,.tsx";
54
- }
55
- const dirName = new URL(".", import.meta.url).pathname;
56
- const dirPath = pathResolve(dirName, "../..");
57
- const eslintPath = relativeNodePath("eslint/bin/eslint.js", dirPath);
58
- const eslintOptions = ["./src"];
59
- if (noEslintrc) {
60
- eslintOptions.push("--no-eslintrc");
61
- }
62
- if (config) {
63
- eslintOptions.push("--config", config);
64
- } else {
65
- let configPath;
66
- if (useTypescript) {
67
- configPath = relativeNodePath("eslint-config-styleguidejs/typescript.js", dirPath);
68
- } else {
69
- configPath = relativeNodePath("eslint-config-styleguidejs/react.js", dirPath);
70
- }
71
- eslintOptions.push("--config", configPath);
72
- }
73
- if (env) {
74
- eslintOptions.push("--env", env);
75
- }
76
- if (extensions) {
77
- eslintOptions.push("--ext", extensions);
78
- }
79
- if (global) {
80
- eslintOptions.push("--global", global);
81
- }
82
- if (parser) {
83
- eslintOptions.push("--parser", parser);
84
- }
85
- if (parserOptions) {
86
- eslintOptions.push("--parserOptions", parserOptions);
87
- }
88
- if (resolvePluginsRelativeTo) {
89
- eslintOptions.push("--resolvePluginsRelativeTo", resolvePluginsRelativeTo);
90
- }
91
- if (rulesdir) {
92
- eslintOptions.push("--rulesdir", rulesdir);
93
- }
94
- if (plugin) {
95
- eslintOptions.push("--plugin", plugin);
96
- }
97
- if (rule) {
98
- eslintOptions.push("--rule", rule);
99
- }
100
- if (fix) {
101
- eslintOptions.push("--fix");
102
- }
103
- if (fixDryRun) {
104
- eslintOptions.push("--fixDryRun");
105
- }
106
- if (fixType) {
107
- eslintOptions.push("--fixType", fixType);
108
- }
109
- if (ignorePath) {
110
- eslintOptions.push("--ignorePath", ignorePath);
111
- }
112
- if (noIgnore) {
113
- eslintOptions.push("--noIgnore");
114
- }
115
- if (ignorePattern) {
116
- eslintOptions.push("--ignorePattern", ignorePattern);
117
- }
118
- if (stdin) {
119
- eslintOptions.push("--stdin");
120
- }
121
- if (stdinFilename) {
122
- eslintOptions.push("--stdinFilename", stdinFilename);
123
- }
124
- if (maxWarnings) {
125
- eslintOptions.push("--maxWarnings", maxWarnings);
126
- }
127
- if (outputFile) {
128
- eslintOptions.push("--outputFile", outputFile);
129
- }
130
- if (format) {
131
- eslintOptions.push("--format", format);
132
- }
133
- if (color) {
134
- eslintOptions.push("--color");
135
- }
136
- if (noColor) {
137
- eslintOptions.push("--noColor");
138
- }
139
- if (noInlineConfig) {
140
- eslintOptions.push("--noInlineConfig", noInlineConfig ? "true" : "false");
141
- }
142
- if (reportUnusedDisableDirectives) {
143
- eslintOptions.push("--reportUnusedDisableDirectives");
144
- }
145
- if (cacheLocation) {
146
- eslintOptions.push("--cacheLocation", cacheLocation);
147
- }
148
- if (init) {
149
- eslintOptions.push("--init");
150
- }
151
- if (envInfo) {
152
- eslintOptions.push("--env-info");
153
- }
154
- if (debug) {
155
- eslintOptions.push("--debug");
156
- }
157
- if (printConfig) {
158
- eslintOptions.push("--printConfig", printConfig);
159
- }
160
- try {
161
- await execa(eslintPath, eslintOptions, {
162
- encoding: "utf8",
163
- stdio: "inherit"
164
- });
165
- spinner.succeed("Linting completed!");
166
- callback(0);
167
- return 0;
168
- } catch (error) {
169
- log(`
170
- ${cliName} Error: Check for unit test errors and/or coverage.`, "error", quiet);
171
- spinner.fail("Testing failed!");
172
- callback(1);
173
- return 1;
174
- }
175
- };
176
- export {
177
- lint
178
- };
179
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2xpbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIyLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge3Jlc29sdmUgYXMgcGF0aFJlc29sdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtVUkx9IGZyb20gJ3VybCc7XG5cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjcmVhdGVTcGlubmVyfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtyZWxhdGl2ZU5vZGVQYXRofSBmcm9tICcuLi91dGlscy9maWxlLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi91dGlscy9sb2cuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpbnRPcHRpb25zIHtcbiAgcmVhZG9ubHkgY2FjaGU/OiBib29sZWFuO1xuICByZWFkb25seSBjYWNoZUZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNhY2hlTG9jYXRpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbG9yPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY29uZmlnPzogc3RyaW5nO1xuICByZWFkb25seSBkZWJ1Zz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGVudj86IHN0cmluZztcbiAgcmVhZG9ubHkgZW52SW5mbz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGV4dD86IHN0cmluZztcbiAgcmVhZG9ubHkgZml4PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZml4RHJ5UnVuPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZml4VHlwZT86IHN0cmluZztcbiAgcmVhZG9ubHkgZm9ybWF0Pzogc3RyaW5nO1xuICByZWFkb25seSBnbG9iYWw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlnbm9yZVBhdGg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlnbm9yZVBhdHRlcm4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluaXQ/OiBib29sZWFuO1xuICByZWFkb25seSBtYXhXYXJuaW5ncz86IHN0cmluZztcbiAgcmVhZG9ubHkgbm9Db2xvcj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IG5vRXNsaW50cmM/OiBib29sZWFuO1xuICByZWFkb25seSBub0lnbm9yZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IG5vSW5saW5lQ29uZmlnPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgb3V0cHV0RmlsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcGFyc2VyPzogc3RyaW5nO1xuICByZWFkb25seSBwYXJzZXJPcHRpb25zPzogc3RyaW5nO1xuICByZWFkb25seSBwbHVnaW4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByaW50Q29uZmlnPzogc3RyaW5nO1xuICByZWFkb25seSBxdWlldD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHJlcG9ydFVudXNlZERpc2FibGVEaXJlY3RpdmVzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcmVzb2x2ZVBsdWdpbnNSZWxhdGl2ZVRvPzogc3RyaW5nO1xuICByZWFkb25seSBydWxlPzogc3RyaW5nO1xuICByZWFkb25seSBydWxlc2Rpcj86IHN0cmluZztcbiAgcmVhZG9ubHkgc3RkaW4/OiBib29sZWFuO1xuICByZWFkb25seSBzdGRpbkZpbGVuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBMaW50Q2FsbGJhY2sgPSB0eXBlb2YgcHJvY2Vzcy5leGl0O1xuXG5leHBvcnQgY29uc3QgbGludCA9IGFzeW5jIChjbWQ6IExpbnRPcHRpb25zLCBjYWxsYmFjazogTGludENhbGxiYWNrID0gcHJvY2Vzcy5leGl0KTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge1xuICAgIGNhY2hlLFxuICAgIGNhY2hlRmlsZSxcbiAgICBjYWNoZUxvY2F0aW9uLFxuICAgIGNsaU5hbWUgPSAnTGV4JyxcbiAgICBjb2xvcixcbiAgICBjb25maWcsXG4gICAgZGVidWcsXG4gICAgZW52LFxuICAgIGVudkluZm8sXG4gICAgZXh0ID0gJy5qcycsXG4gICAgZml4LFxuICAgIGZpeERyeVJ1bixcbiAgICBmaXhUeXBlLFxuICAgIGZvcm1hdCxcbiAgICBnbG9iYWwsXG4gICAgaWdub3JlUGF0aCxcbiAgICBpZ25vcmVQYXR0ZXJuLFxuICAgIGluaXQsXG4gICAgbWF4V2FybmluZ3MsXG4gICAgbm9Db2xvcixcbiAgICBub0VzbGludHJjID0gdHJ1ZSxcbiAgICBub0lnbm9yZSxcbiAgICBub0lubGluZUNvbmZpZyxcbiAgICBvdXRwdXRGaWxlLFxuICAgIHBhcnNlcixcbiAgICBwYXJzZXJPcHRpb25zLFxuICAgIHBsdWdpbixcbiAgICBwcmludENvbmZpZyxcbiAgICBxdWlldCxcbiAgICByZXBvcnRVbnVzZWREaXNhYmxlRGlyZWN0aXZlcyxcbiAgICByZXNvbHZlUGx1Z2luc1JlbGF0aXZlVG8sXG4gICAgcnVsZSxcbiAgICBydWxlc2RpcixcbiAgICBzdGRpbixcbiAgICBzdGRpbkZpbGVuYW1lXG4gIH0gPSBjbWQ7XG5cbiAgbG9nKGAke2NsaU5hbWV9IGxpbnRpbmcuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBTcGlubmVyXG4gIGNvbnN0IHNwaW5uZXIgPSBjcmVhdGVTcGlubmVyKHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgY29uc3Qge3VzZVR5cGVzY3JpcHR9ID0gTGV4Q29uZmlnLmNvbmZpZztcbiAgbGV0IGV4dGVuc2lvbnMgPSBleHQ7XG5cbiAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgIExleENvbmZpZy5jaGVja1R5cGVzY3JpcHRDb25maWcoKTtcbiAgICBleHRlbnNpb25zID0gJy50cywudHN4JztcbiAgfVxuXG4gIC8vIENvbmZpZ3VyZSBqZXN0XG4gIGNvbnN0IGRpck5hbWUgPSBuZXcgVVJMKCcuJywgaW1wb3J0Lm1ldGEudXJsKS5wYXRobmFtZTtcbiAgY29uc3QgZGlyUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uJyk7XG4gIGNvbnN0IGVzbGludFBhdGg6IHN0cmluZyA9IHJlbGF0aXZlTm9kZVBhdGgoJ2VzbGludC9iaW4vZXNsaW50LmpzJywgZGlyUGF0aCk7XG4gIGNvbnN0IGVzbGludE9wdGlvbnM6IHN0cmluZ1tdID0gWycuL3NyYyddO1xuXG4gIGlmKG5vRXNsaW50cmMpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tbm8tZXNsaW50cmMnKTtcbiAgfVxuXG4gIGlmKGNvbmZpZykge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1jb25maWcnLCBjb25maWcpO1xuICB9IGVsc2Uge1xuICAgIGxldCBjb25maWdQYXRoOiBzdHJpbmc7XG5cbiAgICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgICBjb25maWdQYXRoID0gcmVsYXRpdmVOb2RlUGF0aCgnZXNsaW50LWNvbmZpZy1zdHlsZWd1aWRlanMvdHlwZXNjcmlwdC5qcycsIGRpclBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25maWdQYXRoID0gcmVsYXRpdmVOb2RlUGF0aCgnZXNsaW50LWNvbmZpZy1zdHlsZWd1aWRlanMvcmVhY3QuanMnLCBkaXJQYXRoKTtcbiAgICB9XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWNvbmZpZycsIGNvbmZpZ1BhdGgpO1xuICB9XG5cbiAgaWYoZW52KSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWVudicsIGVudik7XG4gIH1cblxuICBpZihleHRlbnNpb25zKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWV4dCcsIGV4dGVuc2lvbnMpO1xuICB9XG5cbiAgaWYoZ2xvYmFsKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWdsb2JhbCcsIGdsb2JhbCk7XG4gIH1cblxuICBpZihwYXJzZXIpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tcGFyc2VyJywgcGFyc2VyKTtcbiAgfVxuXG4gIGlmKHBhcnNlck9wdGlvbnMpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tcGFyc2VyT3B0aW9ucycsIHBhcnNlck9wdGlvbnMpO1xuICB9XG5cbiAgaWYocmVzb2x2ZVBsdWdpbnNSZWxhdGl2ZVRvKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLXJlc29sdmVQbHVnaW5zUmVsYXRpdmVUbycsIHJlc29sdmVQbHVnaW5zUmVsYXRpdmVUbyk7XG4gIH1cblxuICBpZihydWxlc2Rpcikge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1ydWxlc2RpcicsIHJ1bGVzZGlyKTtcbiAgfVxuXG4gIGlmKHBsdWdpbikge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1wbHVnaW4nLCBwbHVnaW4pO1xuICB9XG5cbiAgaWYocnVsZSkge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1ydWxlJywgcnVsZSk7XG4gIH1cblxuICBpZihmaXgpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tZml4Jyk7XG4gIH1cblxuICBpZihmaXhEcnlSdW4pIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tZml4RHJ5UnVuJyk7XG4gIH1cblxuICBpZihmaXhUeXBlKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWZpeFR5cGUnLCBmaXhUeXBlKTtcbiAgfVxuXG4gIGlmKGlnbm9yZVBhdGgpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0taWdub3JlUGF0aCcsIGlnbm9yZVBhdGgpO1xuICB9XG5cbiAgaWYobm9JZ25vcmUpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tbm9JZ25vcmUnKTtcbiAgfVxuXG4gIGlmKGlnbm9yZVBhdHRlcm4pIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0taWdub3JlUGF0dGVybicsIGlnbm9yZVBhdHRlcm4pO1xuICB9XG5cbiAgaWYoc3RkaW4pIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tc3RkaW4nKTtcbiAgfVxuXG4gIGlmKHN0ZGluRmlsZW5hbWUpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tc3RkaW5GaWxlbmFtZScsIHN0ZGluRmlsZW5hbWUpO1xuICB9XG5cbiAgaWYobWF4V2FybmluZ3MpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tbWF4V2FybmluZ3MnLCBtYXhXYXJuaW5ncyk7XG4gIH1cblxuICBpZihvdXRwdXRGaWxlKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLW91dHB1dEZpbGUnLCBvdXRwdXRGaWxlKTtcbiAgfVxuXG4gIGlmKGZvcm1hdCkge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1mb3JtYXQnLCBmb3JtYXQpO1xuICB9XG5cbiAgaWYoY29sb3IpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tY29sb3InKTtcbiAgfVxuXG4gIGlmKG5vQ29sb3IpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tbm9Db2xvcicpO1xuICB9XG5cbiAgaWYobm9JbmxpbmVDb25maWcpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tbm9JbmxpbmVDb25maWcnLCBub0lubGluZUNvbmZpZyA/ICd0cnVlJyA6ICdmYWxzZScpO1xuICB9XG5cbiAgaWYocmVwb3J0VW51c2VkRGlzYWJsZURpcmVjdGl2ZXMpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tcmVwb3J0VW51c2VkRGlzYWJsZURpcmVjdGl2ZXMnKTtcbiAgfVxuXG4gIGlmKGNhY2hlTG9jYXRpb24pIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tY2FjaGVMb2NhdGlvbicsIGNhY2hlTG9jYXRpb24pO1xuICB9XG5cbiAgaWYoaW5pdCkge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1pbml0Jyk7XG4gIH1cblxuICBpZihlbnZJbmZvKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWVudi1pbmZvJyk7XG4gIH1cblxuICBpZihkZWJ1Zykge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1kZWJ1ZycpO1xuICB9XG5cbiAgaWYocHJpbnRDb25maWcpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tcHJpbnRDb25maWcnLCBwcmludENvbmZpZyk7XG4gIH1cblxuICAvLyBUZXN0IGFwcCB1c2luZyBqZXN0XG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlY2EoZXNsaW50UGF0aCwgZXNsaW50T3B0aW9ucywge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIHN0ZGlvOiAnaW5oZXJpdCdcbiAgICB9KTtcblxuICAgIHNwaW5uZXIuc3VjY2VlZCgnTGludGluZyBjb21wbGV0ZWQhJyk7XG5cbiAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICBjYWxsYmFjaygwKTtcbiAgICByZXR1cm4gMDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogQ2hlY2sgZm9yIHVuaXQgdGVzdCBlcnJvcnMgYW5kL29yIGNvdmVyYWdlLmAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIHNwaW5uZXIuZmFpbCgnVGVzdGluZyBmYWlsZWQhJyk7XG5cbiAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsYUFBWTtBQUNwQixTQUFRLFdBQVcsbUJBQWtCO0FBQ3JDLFNBQVEsV0FBVTtBQUVsQixTQUFRLGlCQUFnQjtBQUN4QixTQUFRLHFCQUFv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
@@ -1,37 +0,0 @@
1
- import { execa } from "execa";
2
- import { LexConfig } from "../LexConfig.js";
3
- import { createSpinner, getPackageJson, removeConflictModules, removeModules } from "../utils/app.js";
4
- import { log } from "../utils/log.js";
5
- const migrate = async (cmd, callback = process.exit) => {
6
- const { cliName = "Lex", packageManager: cmdPackageManager, quiet } = cmd;
7
- const cwd = process.cwd();
8
- const spinner = createSpinner(quiet);
9
- spinner.start("Removing node modules...");
10
- await removeModules();
11
- const { packageManager: configPackageManager } = LexConfig.config;
12
- const packageManager = cmdPackageManager || configPackageManager;
13
- const packagePath = `${cwd}/package.json`;
14
- const appPackage = getPackageJson(packagePath);
15
- const { dependencies = {}, devDependencies = {} } = appPackage;
16
- appPackage.dependencies = removeConflictModules(dependencies);
17
- appPackage.devDependencies = removeConflictModules(devDependencies);
18
- try {
19
- await execa(packageManager, ["install"], {
20
- encoding: "utf8",
21
- stdio: "inherit"
22
- });
23
- spinner.succeed("Successfully migrated app!");
24
- callback(0);
25
- return 0;
26
- } catch (error) {
27
- log(`
28
- ${cliName} Error: ${error.message}`, "error", quiet);
29
- spinner.fail("Failed to remove modules.");
30
- callback(1);
31
- return 1;
32
- }
33
- };
34
- export {
35
- migrate
36
- };
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL21pZ3JhdGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjcmVhdGVTcGlubmVyLCBnZXRQYWNrYWdlSnNvbiwgcmVtb3ZlQ29uZmxpY3RNb2R1bGVzLCByZW1vdmVNb2R1bGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlncmF0ZU9wdGlvbnMge1xuICByZWFkb25seSBjbGlOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBwYWNrYWdlTWFuYWdlcj86IHN0cmluZztcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBNaWdyYXRlQ2FsbGJhY2sgPSB0eXBlb2YgcHJvY2Vzcy5leGl0O1xuXG5leHBvcnQgY29uc3QgbWlncmF0ZSA9IGFzeW5jIChjbWQ6IE1pZ3JhdGVPcHRpb25zLCBjYWxsYmFjazogTWlncmF0ZUNhbGxiYWNrID0gcHJvY2Vzcy5leGl0KTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgcGFja2FnZU1hbmFnZXI6IGNtZFBhY2thZ2VNYW5hZ2VyLCBxdWlldH0gPSBjbWQ7XG5cbiAgY29uc3QgY3dkOiBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIC8vIC8vIERpc3BsYXkgbWVzc2FnZVxuICAvLyBsb2coYCR7Y2xpTmFtZX0gY29weWluZyBcIiR7dG99XCIuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBTcGlubmVyXG4gIGNvbnN0IHNwaW5uZXIgPSBjcmVhdGVTcGlubmVyKHF1aWV0KTtcbiAgc3Bpbm5lci5zdGFydCgnUmVtb3Zpbmcgbm9kZSBtb2R1bGVzLi4uJyk7XG5cbiAgLy8gUmVtb3ZlIG5vZGVfbW9kdWxlc1xuICBhd2FpdCByZW1vdmVNb2R1bGVzKCk7XG5cbiAgY29uc3Qge3BhY2thZ2VNYW5hZ2VyOiBjb25maWdQYWNrYWdlTWFuYWdlcn0gPSBMZXhDb25maWcuY29uZmlnO1xuICBjb25zdCBwYWNrYWdlTWFuYWdlcjogc3RyaW5nID0gY21kUGFja2FnZU1hbmFnZXIgfHwgY29uZmlnUGFja2FnZU1hbmFnZXI7XG4gIGNvbnN0IHBhY2thZ2VQYXRoOiBzdHJpbmcgPSBgJHtjd2R9L3BhY2thZ2UuanNvbmA7XG4gIGNvbnN0IGFwcFBhY2thZ2UgPSBnZXRQYWNrYWdlSnNvbihwYWNrYWdlUGF0aCk7XG4gIGNvbnN0IHtkZXBlbmRlbmNpZXMgPSB7fSwgZGV2RGVwZW5kZW5jaWVzID0ge319ID0gYXBwUGFja2FnZTtcblxuICAvLyBSZW1vdmUgRVNCdWlsZCwgSmVzdCBhbmQgV2VicGFjayBmcm9tIGFwcCBzaW5jZSBpdCB3aWxsIGNvbmZsaWN0XG4gIGFwcFBhY2thZ2UuZGVwZW5kZW5jaWVzID0gcmVtb3ZlQ29uZmxpY3RNb2R1bGVzKGRlcGVuZGVuY2llcyk7XG4gIGFwcFBhY2thZ2UuZGV2RGVwZW5kZW5jaWVzID0gcmVtb3ZlQ29uZmxpY3RNb2R1bGVzKGRldkRlcGVuZGVuY2llcyk7XG5cbiAgLy8gSW5zdGFsbCBuZXcgbGlzdCBvZiBwYWNrYWdlc1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNhKHBhY2thZ2VNYW5hZ2VyLCBbJ2luc3RhbGwnXSwge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIHN0ZGlvOiAnaW5oZXJpdCdcbiAgICB9KTtcblxuICAgIC8vIFN0b3AgbG9hZGVyXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgbWlncmF0ZWQgYXBwIScpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMCk7XG4gICAgcmV0dXJuIDA7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byByZW1vdmUgbW9kdWxlcy4nKTtcblxuICAgIC8vIEtpbGwgcHJvY2Vzc1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiAxO1xuICB9XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxhQUFZO0FBRXBCLFNBQVEsaUJBQWdCO0FBQ3hCLFNBQVEsZUFBZSxnQkFBZ0IsdUJBQXVCLHFCQUFvQjtBQUNsRixTQUFRLFdBQVU7QUFVWCxNQUFNLFVBQVUsT0FBTyxLQUFxQixXQUE0QixRQUFRLFNBQTBCO0FBQy9HLFFBQU0sRUFBQyxVQUFVLE9BQU8sZ0JBQWdCLG1CQUFtQixNQUFLLElBQUk7QUFFcEUsUUFBTSxNQUFjLFFBQVEsSUFBSTtBQU1oQyxRQUFNLFVBQVUsY0FBYyxLQUFLO0FBQ25DLFVBQVEsTUFBTSwwQkFBMEI7QUFHeEMsUUFBTSxjQUFjO0FBRXBCLFFBQU0sRUFBQyxnQkFBZ0IscUJBQW9CLElBQUksVUFBVTtBQUN6RCxRQUFNLGlCQUF5QixxQkFBcUI7QUFDcEQsUUFBTSxjQUFzQixHQUFHLEdBQUc7QUFDbEMsUUFBTSxhQUFhLGVBQWUsV0FBVztBQUM3QyxRQUFNLEVBQUMsZUFBZSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsRUFBQyxJQUFJO0FBR2xELGFBQVcsZUFBZSxzQkFBc0IsWUFBWTtBQUM1RCxhQUFXLGtCQUFrQixzQkFBc0IsZUFBZTtBQUdsRSxNQUFJO0FBQ0YsVUFBTSxNQUFNLGdCQUFnQixDQUFDLFNBQVMsR0FBRztBQUFBLE1BQ3ZDLFVBQVU7QUFBQSxNQUNWLE9BQU87QUFBQSxJQUNULENBQUM7QUFHRCxZQUFRLFFBQVEsNEJBQTRCO0FBRzVDLGFBQVMsQ0FBQztBQUNWLFdBQU87QUFBQSxFQUNULFNBQVEsT0FBTztBQUViLFFBQUk7QUFBQSxFQUFLLE9BQU8sV0FBVyxNQUFNLE9BQU8sSUFBSSxTQUFTLEtBQUs7QUFHMUQsWUFBUSxLQUFLLDJCQUEyQjtBQUd4QyxhQUFTLENBQUM7QUFDVixXQUFPO0FBQUEsRUFDVDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=