@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,31 +0,0 @@
1
- import { LexConfig } from "../LexConfig.js";
2
- import { createSpinner, removeFiles, removeModules } from "../utils/app.js";
3
- import { log } from "../utils/log.js";
4
- const clean = async (cmd, callback = (status) => ({})) => {
5
- const { cliName = "Lex", quiet, snapshots } = cmd;
6
- const spinner = createSpinner(quiet);
7
- log(`${cliName} cleaning directory...`, "info", quiet);
8
- await LexConfig.parseConfig(cmd);
9
- spinner.start("Cleaning files...");
10
- try {
11
- await removeModules();
12
- await removeFiles("./coverage", true);
13
- await removeFiles("./npm-debug.log", true);
14
- if (snapshots) {
15
- await removeFiles("./**/__snapshots__", true);
16
- }
17
- spinner.succeed("Successfully cleaned!");
18
- callback(0);
19
- return 0;
20
- } catch (error) {
21
- log(`
22
- ${cliName} Error: ${error.message}`, "error", quiet);
23
- spinner.fail("Failed to clean project.");
24
- callback(1);
25
- return 1;
26
- }
27
- };
28
- export {
29
- clean
30
- };
31
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NsZWFuLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIHJlbW92ZUZpbGVzLCByZW1vdmVNb2R1bGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5PcHRpb25zIHtcbiAgcmVhZG9ubHkgY2xpTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuICByZWFkb25seSBzbmFwc2hvdHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDbGVhbkNhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgY29uc3QgY2xlYW4gPSBhc3luYyAoY21kOiBDbGVhbk9wdGlvbnMsIGNhbGxiYWNrOiBDbGVhbkNhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiAoe30pKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgcXVpZXQsIHNuYXBzaG90c30gPSBjbWQ7XG5cbiAgLy8gU3Bpbm5lclxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgLy8gRGlzcGxheSBzdGF0dXNcbiAgbG9nKGAke2NsaU5hbWV9IGNsZWFuaW5nIGRpcmVjdG9yeS4uLmAsICdpbmZvJywgcXVpZXQpO1xuXG4gIC8vIEdldCBjdXN0b20gY29uZmlndXJhdGlvblxuICBhd2FpdCBMZXhDb25maWcucGFyc2VDb25maWcoY21kKTtcblxuICAvLyBTdGFydCBjbGVhbmluZyBzcGlubmVyXG4gIHNwaW5uZXIuc3RhcnQoJ0NsZWFuaW5nIGZpbGVzLi4uJyk7XG5cbiAgdHJ5IHtcbiAgICAvLyBSZW1vdmUgbm9kZV9tb2R1bGVzXG4gICAgYXdhaXQgcmVtb3ZlTW9kdWxlcygpO1xuXG4gICAgLy8gUmVtb3ZlIHRlc3QgY292ZXJhZ2UgcmVwb3J0c1xuICAgIGF3YWl0IHJlbW92ZUZpbGVzKCcuL2NvdmVyYWdlJywgdHJ1ZSk7XG5cbiAgICAvLyBSZW1vdmUgbnBtIGxvZ3NcbiAgICBhd2FpdCByZW1vdmVGaWxlcygnLi9ucG0tZGVidWcubG9nJywgdHJ1ZSk7XG5cbiAgICBpZihzbmFwc2hvdHMpIHtcbiAgICAgIGF3YWl0IHJlbW92ZUZpbGVzKCcuLyoqL19fc25hcHNob3RzX18nLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICBzcGlubmVyLnN1Y2NlZWQoJ1N1Y2Nlc3NmdWxseSBjbGVhbmVkIScpO1xuXG4gICAgLy8gU3RvcCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMCk7XG4gICAgcmV0dXJuIDA7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byBjbGVhbiBwcm9qZWN0LicpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLGlCQUFnQjtBQUN4QixTQUFRLGVBQWUsYUFBYSxxQkFBb0I7QUFDeEQsU0FBUSxXQUFVO0FBVVgsTUFBTSxRQUFRLE9BQU8sS0FBbUIsV0FBMEIsQ0FBQyxZQUFvQixDQUFDLE9BQXdCO0FBQ3JILFFBQU0sRUFBQyxVQUFVLE9BQU8sT0FBTyxVQUFTLElBQUk7QUFHNUMsUUFBTSxVQUFVLGNBQWMsS0FBSztBQUduQyxNQUFJLEdBQUcsT0FBTywwQkFBMEIsUUFBUSxLQUFLO0FBR3JELFFBQU0sVUFBVSxZQUFZLEdBQUc7QUFHL0IsVUFBUSxNQUFNLG1CQUFtQjtBQUVqQyxNQUFJO0FBRUYsVUFBTSxjQUFjO0FBR3BCLFVBQU0sWUFBWSxjQUFjLElBQUk7QUFHcEMsVUFBTSxZQUFZLG1CQUFtQixJQUFJO0FBRXpDLFFBQUcsV0FBVztBQUNaLFlBQU0sWUFBWSxzQkFBc0IsSUFBSTtBQUFBLElBQzlDO0FBR0EsWUFBUSxRQUFRLHVCQUF1QjtBQUd2QyxhQUFTLENBQUM7QUFDVixXQUFPO0FBQUEsRUFDVCxTQUFRLE9BQU87QUFFYixRQUFJO0FBQUEsRUFBSyxPQUFPLFdBQVcsTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLO0FBRzFELFlBQVEsS0FBSywwQkFBMEI7QUFHdkMsYUFBUyxDQUFDO0FBQ1YsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,63 +0,0 @@
1
- import { clean } from "./clean.js";
2
- import { LexConfig, defaultConfigValues } from "../LexConfig.js";
3
- import { removeFiles, removeModules } from "../utils/app.js";
4
- jest.mock("../utils/app", () => ({
5
- ...jest.requireActual("../utils/app"),
6
- removeFiles: jest.fn(() => Promise.resolve()),
7
- removeModules: jest.fn(() => Promise.resolve())
8
- }));
9
- jest.mock("../LexConfig", () => ({
10
- LexConfig: {
11
- config: {},
12
- checkTypescriptConfig: jest.fn(),
13
- parseConfig: jest.fn()
14
- }
15
- }));
16
- describe("clean", () => {
17
- let callback;
18
- let oldConsole;
19
- beforeAll(() => {
20
- oldConsole = { ...console };
21
- console = {
22
- ...oldConsole,
23
- debug: jest.fn(),
24
- error: jest.fn(),
25
- warn: jest.fn()
26
- };
27
- });
28
- beforeEach(() => {
29
- callback = jest.fn();
30
- LexConfig.config = {
31
- ...defaultConfigValues
32
- };
33
- });
34
- afterAll(() => {
35
- console = { ...oldConsole };
36
- jest.resetAllMocks();
37
- });
38
- it("should clean using default config", async () => {
39
- const status = await clean({}, callback);
40
- expect(LexConfig.parseConfig).toHaveBeenCalled();
41
- expect(removeFiles).toHaveBeenCalled();
42
- expect(removeModules).toHaveBeenCalled();
43
- expect(callback).toHaveBeenCalledWith(0);
44
- expect(status).toBe(0);
45
- });
46
- it("should clean using config", async () => {
47
- const status = await clean({
48
- snapshots: true
49
- }, callback);
50
- expect(LexConfig.parseConfig).toHaveBeenCalled();
51
- expect(removeFiles).toHaveBeenCalled();
52
- expect(removeModules).toHaveBeenCalled();
53
- expect(callback).toHaveBeenCalledWith(0);
54
- expect(status).toBe(0);
55
- });
56
- it("should error on removing files", async () => {
57
- removeFiles.mockImplementation(() => Promise.reject(new Error("Remove Error")));
58
- const status = await clean({}, callback);
59
- expect(callback).toHaveBeenCalledWith(1);
60
- expect(status).toBe(1);
61
- });
62
- });
63
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NsZWFuLnRlc3QudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7Y2xlYW59IGZyb20gJy4vY2xlYW4uanMnO1xuaW1wb3J0IHtMZXhDb25maWcsIGRlZmF1bHRDb25maWdWYWx1ZXN9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge3JlbW92ZUZpbGVzLCByZW1vdmVNb2R1bGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuXG5qZXN0Lm1vY2soJy4uL3V0aWxzL2FwcCcsICgpID0+ICh7XG4gIC4uLmplc3QucmVxdWlyZUFjdHVhbCgnLi4vdXRpbHMvYXBwJyksXG4gIHJlbW92ZUZpbGVzOiBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSgpKSxcbiAgcmVtb3ZlTW9kdWxlczogamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoKSlcbn0pKTtcblxuamVzdC5tb2NrKCcuLi9MZXhDb25maWcnLCAoKSA9PiAoe1xuICBMZXhDb25maWc6IHtcbiAgICBjb25maWc6IHt9LFxuICAgIGNoZWNrVHlwZXNjcmlwdENvbmZpZzogamVzdC5mbigpLFxuICAgIHBhcnNlQ29uZmlnOiBqZXN0LmZuKClcbiAgfVxufSkpO1xuXG5kZXNjcmliZSgnY2xlYW4nLCAoKSA9PiB7XG4gIGxldCBjYWxsYmFjazogamVzdC5Nb2NrO1xuICBsZXQgb2xkQ29uc29sZTtcblxuICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgIG9sZENvbnNvbGUgPSB7Li4uY29uc29sZX07XG4gICAgY29uc29sZSA9IHtcbiAgICAgIC4uLm9sZENvbnNvbGUsXG4gICAgICBkZWJ1ZzogamVzdC5mbigpLFxuICAgICAgZXJyb3I6IGplc3QuZm4oKSxcbiAgICAgIHdhcm46IGplc3QuZm4oKVxuICAgIH07XG4gIH0pO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNhbGxiYWNrID0gamVzdC5mbigpO1xuICAgIExleENvbmZpZy5jb25maWcgPSB7XG4gICAgICAuLi5kZWZhdWx0Q29uZmlnVmFsdWVzXG4gICAgfTtcbiAgfSk7XG5cbiAgYWZ0ZXJBbGwoKCkgPT4ge1xuICAgIGNvbnNvbGUgPSB7Li4ub2xkQ29uc29sZX07XG4gICAgamVzdC5yZXNldEFsbE1vY2tzKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY2xlYW4gdXNpbmcgZGVmYXVsdCBjb25maWcnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc3RhdHVzOiBudW1iZXIgPSBhd2FpdCBjbGVhbih7fSwgY2FsbGJhY2spO1xuICAgIGV4cGVjdChMZXhDb25maWcucGFyc2VDb25maWcpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICBleHBlY3QocmVtb3ZlRmlsZXMpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICBleHBlY3QocmVtb3ZlTW9kdWxlcykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIGV4cGVjdChjYWxsYmFjaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoMCk7XG4gICAgZXhwZWN0KHN0YXR1cykudG9CZSgwKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjbGVhbiB1c2luZyBjb25maWcnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc3RhdHVzOiBudW1iZXIgPSBhd2FpdCBjbGVhbih7XG4gICAgICBzbmFwc2hvdHM6IHRydWVcbiAgICB9LCBjYWxsYmFjayk7XG4gICAgZXhwZWN0KExleENvbmZpZy5wYXJzZUNvbmZpZykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIGV4cGVjdChyZW1vdmVGaWxlcykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIGV4cGVjdChyZW1vdmVNb2R1bGVzKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgZXhwZWN0KGNhbGxiYWNrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgwKTtcbiAgICBleHBlY3Qoc3RhdHVzKS50b0JlKDApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGVycm9yIG9uIHJlbW92aW5nIGZpbGVzJywgYXN5bmMgKCkgPT4ge1xuICAgIChyZW1vdmVGaWxlcyBhcyBqZXN0Lk1vY2spLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ1JlbW92ZSBFcnJvcicpKSk7XG4gICAgY29uc3Qgc3RhdHVzOiBudW1iZXIgPSBhd2FpdCBjbGVhbih7fSwgY2FsbGJhY2spO1xuICAgIGV4cGVjdChjYWxsYmFjaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoMSk7XG4gICAgZXhwZWN0KHN0YXR1cykudG9CZSgxKTtcbiAgfSk7XG59KTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVEsYUFBWTtBQUNwQixTQUFRLFdBQVcsMkJBQTBCO0FBQzdDLFNBQVEsYUFBYSxxQkFBb0I7QUFFekMsS0FBSyxLQUFLLGdCQUFnQixPQUFPO0FBQUEsRUFDL0IsR0FBRyxLQUFLLGNBQWMsY0FBYztBQUFBLEVBQ3BDLGFBQWEsS0FBSyxHQUFHLE1BQU0sUUFBUSxRQUFRLENBQUM7QUFBQSxFQUM1QyxlQUFlLEtBQUssR0FBRyxNQUFNLFFBQVEsUUFBUSxDQUFDO0FBQ2hELEVBQUU7QUFFRixLQUFLLEtBQUssZ0JBQWdCLE9BQU87QUFBQSxFQUMvQixXQUFXO0FBQUEsSUFDVCxRQUFRLENBQUM7QUFBQSxJQUNULHVCQUF1QixLQUFLLEdBQUc7QUFBQSxJQUMvQixhQUFhLEtBQUssR0FBRztBQUFBLEVBQ3ZCO0FBQ0YsRUFBRTtBQUVGLFNBQVMsU0FBUyxNQUFNO0FBQ3RCLE1BQUk7QUFDSixNQUFJO0FBRUosWUFBVSxNQUFNO0FBQ2QsaUJBQWEsRUFBQyxHQUFHLFFBQU87QUFDeEIsY0FBVTtBQUFBLE1BQ1IsR0FBRztBQUFBLE1BQ0gsT0FBTyxLQUFLLEdBQUc7QUFBQSxNQUNmLE9BQU8sS0FBSyxHQUFHO0FBQUEsTUFDZixNQUFNLEtBQUssR0FBRztBQUFBLElBQ2hCO0FBQUEsRUFDRixDQUFDO0FBRUQsYUFBVyxNQUFNO0FBQ2YsZUFBVyxLQUFLLEdBQUc7QUFDbkIsY0FBVSxTQUFTO0FBQUEsTUFDakIsR0FBRztBQUFBLElBQ0w7QUFBQSxFQUNGLENBQUM7QUFFRCxXQUFTLE1BQU07QUFDYixjQUFVLEVBQUMsR0FBRyxXQUFVO0FBQ3hCLFNBQUssY0FBYztBQUFBLEVBQ3JCLENBQUM7QUFFRCxLQUFHLHFDQUFxQyxZQUFZO0FBQ2xELFVBQU0sU0FBaUIsTUFBTSxNQUFNLENBQUMsR0FBRyxRQUFRO0FBQy9DLFdBQU8sVUFBVSxXQUFXLEVBQUUsaUJBQWlCO0FBQy9DLFdBQU8sV0FBVyxFQUFFLGlCQUFpQjtBQUNyQyxXQUFPLGFBQWEsRUFBRSxpQkFBaUI7QUFDdkMsV0FBTyxRQUFRLEVBQUUscUJBQXFCLENBQUM7QUFDdkMsV0FBTyxNQUFNLEVBQUUsS0FBSyxDQUFDO0FBQUEsRUFDdkIsQ0FBQztBQUVELEtBQUcsNkJBQTZCLFlBQVk7QUFDMUMsVUFBTSxTQUFpQixNQUFNLE1BQU07QUFBQSxNQUNqQyxXQUFXO0FBQUEsSUFDYixHQUFHLFFBQVE7QUFDWCxXQUFPLFVBQVUsV0FBVyxFQUFFLGlCQUFpQjtBQUMvQyxXQUFPLFdBQVcsRUFBRSxpQkFBaUI7QUFDckMsV0FBTyxhQUFhLEVBQUUsaUJBQWlCO0FBQ3ZDLFdBQU8sUUFBUSxFQUFFLHFCQUFxQixDQUFDO0FBQ3ZDLFdBQU8sTUFBTSxFQUFFLEtBQUssQ0FBQztBQUFBLEVBQ3ZCLENBQUM7QUFFRCxLQUFHLGtDQUFrQyxZQUFZO0FBQy9DLElBQUMsWUFBMEIsbUJBQW1CLE1BQU0sUUFBUSxPQUFPLElBQUksTUFBTSxjQUFjLENBQUMsQ0FBQztBQUM3RixVQUFNLFNBQWlCLE1BQU0sTUFBTSxDQUFDLEdBQUcsUUFBUTtBQUMvQyxXQUFPLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQztBQUN2QyxXQUFPLE1BQU0sRUFBRSxLQUFLLENBQUM7QUFBQSxFQUN2QixDQUFDO0FBQ0gsQ0FBQzsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,195 +0,0 @@
1
- import { execa } from "execa";
2
- import { existsSync, lstatSync, readdirSync } from "fs";
3
- import { sync as globSync } from "glob";
4
- import { extname as pathExtname, join as pathJoin, resolve as pathResolve } from "path";
5
- import { URL } from "url";
6
- import { LexConfig } from "../LexConfig.js";
7
- import { checkLinkedModules, copyFiles, createSpinner, getFilesByExt, removeFiles } from "../utils/app.js";
8
- import { relativeNodePath } from "../utils/file.js";
9
- import { log } from "../utils/log.js";
10
- const hasFileType = (startPath, ext) => {
11
- if (!existsSync(startPath)) {
12
- return false;
13
- }
14
- const files = readdirSync(startPath);
15
- return files.some((file) => {
16
- const filename = pathJoin(startPath, file);
17
- const fileExt = pathExtname(filename);
18
- const stat = lstatSync(filename);
19
- if (stat.isDirectory()) {
20
- return hasFileType(filename, ext);
21
- }
22
- return ext.includes(fileExt);
23
- });
24
- };
25
- const compile = async (cmd, callback = () => ({})) => {
26
- const {
27
- cliName = "Lex",
28
- config,
29
- outputPath,
30
- quiet,
31
- remove,
32
- sourcePath,
33
- watch
34
- } = cmd;
35
- const spinner = createSpinner(quiet);
36
- log(`${cliName} compiling...`, "info", quiet);
37
- await LexConfig.parseConfig(cmd);
38
- const { outputFullPath, sourceFullPath, useTypescript } = LexConfig.config;
39
- const outputDir = outputPath || outputFullPath;
40
- const sourceDir = sourcePath ? pathResolve(process.cwd(), `./${sourcePath}`) : sourceFullPath;
41
- const dirName = new URL(".", import.meta.url).pathname;
42
- const dirPath = pathResolve(dirName, "../..");
43
- checkLinkedModules();
44
- if (remove) {
45
- await removeFiles(outputDir);
46
- }
47
- if (useTypescript) {
48
- LexConfig.checkTypescriptConfig();
49
- const typescriptPath = relativeNodePath("typescript/bin/tsc", dirPath);
50
- const typescriptOptions = config ? ["-p", config] : [
51
- "--allowSyntheticDefaultImports",
52
- "--baseUrl",
53
- sourceDir,
54
- "--declaration",
55
- "--emitDeclarationOnly",
56
- "--lib",
57
- "ESNext,DOM",
58
- "--module",
59
- "esnext",
60
- "--moduleResolution",
61
- "node",
62
- "--noImplicitReturns",
63
- "--noImplicitThis",
64
- "--outDir",
65
- outputDir,
66
- "--removeComments",
67
- "--resolveJsonModule",
68
- "--target",
69
- "ESNext",
70
- "--typeRoots",
71
- "node_modules/@types,node_modules/json-d-ts"
72
- ];
73
- spinner.start("Static type checking with Typescript...");
74
- try {
75
- await execa(typescriptPath, typescriptOptions, { encoding: "utf8" });
76
- spinner.succeed("Successfully completed type checking!");
77
- } catch (error) {
78
- log(`
79
- ${cliName} Error: ${error.message}`, "error", quiet);
80
- spinner.fail("Type checking failed.");
81
- callback(1);
82
- return 1;
83
- }
84
- }
85
- const globOptions = {
86
- cwd: sourceDir,
87
- dot: false,
88
- nodir: true,
89
- nosort: true
90
- };
91
- const tsFiles = globSync(`${sourceDir}/**/!(*.spec|*.test).ts*`, globOptions);
92
- const jsFiles = globSync(`${sourceDir}/**/!(*.spec|*.test).js`, globOptions);
93
- const sourceFiles = [...tsFiles, ...jsFiles];
94
- const esbuildPath = relativeNodePath("esbuild/bin/esbuild", dirPath);
95
- const esbuildOptions = [
96
- ...sourceFiles,
97
- "--color=true",
98
- "--format=cjs",
99
- `--outdir=${outputDir}`,
100
- "--platform=node",
101
- "--sourcemap=inline",
102
- "--target=node20"
103
- ];
104
- if (watch) {
105
- esbuildOptions.push("--watch");
106
- }
107
- const cssFiles = getFilesByExt(".css", LexConfig.config);
108
- if (cssFiles.length) {
109
- const postcssPath = relativeNodePath("postcss-cli/index.js", dirPath);
110
- const postcssOptions = [
111
- `${sourceDir}/**/**.css`,
112
- "--base",
113
- sourceDir,
114
- "--dir",
115
- outputDir,
116
- "--config",
117
- pathResolve(dirName, "../../.postcssrc.js")
118
- ];
119
- try {
120
- await execa(postcssPath, postcssOptions, { encoding: "utf8" });
121
- spinner.succeed(`Successfully formatted ${cssFiles.length} css files!`);
122
- } catch (error) {
123
- log(`
124
- ${cliName} Error: ${error.message}`, "error", quiet);
125
- spinner.fail("Failed formatting css.");
126
- callback(1);
127
- return 1;
128
- }
129
- }
130
- const gifFiles = getFilesByExt(".gif", LexConfig.config);
131
- const jpgFiles = getFilesByExt(".jpg", LexConfig.config);
132
- const pngFiles = getFilesByExt(".png", LexConfig.config);
133
- const svgFiles = getFilesByExt(".svg", LexConfig.config);
134
- const imageFiles = [...gifFiles, ...jpgFiles, ...pngFiles, ...svgFiles];
135
- if (imageFiles.length) {
136
- try {
137
- await copyFiles(imageFiles, "image", spinner, LexConfig.config);
138
- } catch (error) {
139
- log(`
140
- ${cliName} Error: ${error.message}`, "error", quiet);
141
- spinner.fail("Failed to move images to output directory.");
142
- callback(1);
143
- return 1;
144
- }
145
- }
146
- const ttfFiles = getFilesByExt(".ttf", LexConfig.config);
147
- const otfFiles = getFilesByExt(".otf", LexConfig.config);
148
- const woffFiles = getFilesByExt(".woff", LexConfig.config);
149
- const woff2Files = getFilesByExt(".woff2", LexConfig.config);
150
- const fontFiles = [...ttfFiles, ...otfFiles, ...woffFiles, ...woff2Files];
151
- if (fontFiles.length) {
152
- try {
153
- await copyFiles(fontFiles, "font", spinner, LexConfig.config);
154
- } catch (error) {
155
- log(`
156
- ${cliName} Error: ${error.message}`, "error", quiet);
157
- spinner.fail("Failed to move fonts to output directory.");
158
- callback(1);
159
- return 1;
160
- }
161
- }
162
- const mdFiles = getFilesByExt(".md", LexConfig.config);
163
- if (mdFiles.length) {
164
- try {
165
- await copyFiles(mdFiles, "documents", spinner, LexConfig.config);
166
- } catch (error) {
167
- log(`
168
- ${cliName} Error: ${error.message}`, "error", quiet);
169
- spinner.fail("Failed to move docs to output directory.");
170
- callback(1);
171
- return 1;
172
- }
173
- }
174
- spinner.start(watch ? "Watching for changes..." : "Compiling with ESBuild...");
175
- try {
176
- await execa(esbuildPath, esbuildOptions, { encoding: "utf8" });
177
- spinner.succeed("Compile completed successfully!");
178
- } catch (error) {
179
- log(`
180
- ${cliName} Error: ${error.message}`, "error", quiet);
181
- if (!quiet) {
182
- console.error(error);
183
- }
184
- spinner.fail("Code compiling failed.");
185
- callback(1);
186
- return 1;
187
- }
188
- callback(0);
189
- return 0;
190
- };
191
- export {
192
- compile,
193
- hasFileType
194
- };
195
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvbXBpbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge2V4aXN0c1N5bmMsIGxzdGF0U3luYywgcmVhZGRpclN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCB7c3luYyBhcyBnbG9iU3luY30gZnJvbSAnZ2xvYic7XG5pbXBvcnQge2V4dG5hbWUgYXMgcGF0aEV4dG5hbWUsIGpvaW4gYXMgcGF0aEpvaW4sIHJlc29sdmUgYXMgcGF0aFJlc29sdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtVUkx9IGZyb20gJ3VybCc7XG5cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjaGVja0xpbmtlZE1vZHVsZXMsIGNvcHlGaWxlcywgY3JlYXRlU3Bpbm5lciwgZ2V0RmlsZXNCeUV4dCwgcmVtb3ZlRmlsZXN9IGZyb20gJy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge3JlbGF0aXZlTm9kZVBhdGh9IGZyb20gJy4uL3V0aWxzL2ZpbGUuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBjb25zdCBoYXNGaWxlVHlwZSA9IChzdGFydFBhdGg6IHN0cmluZywgZXh0OiBzdHJpbmdbXSk6IGJvb2xlYW4gPT4ge1xuICBpZighZXhpc3RzU3luYyhzdGFydFBhdGgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZmlsZXM6IHN0cmluZ1tdID0gcmVhZGRpclN5bmMoc3RhcnRQYXRoKTtcblxuICByZXR1cm4gZmlsZXMuc29tZSgoZmlsZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZmlsZW5hbWU6IHN0cmluZyA9IHBhdGhKb2luKHN0YXJ0UGF0aCwgZmlsZSk7XG4gICAgY29uc3QgZmlsZUV4dDogc3RyaW5nID0gcGF0aEV4dG5hbWUoZmlsZW5hbWUpO1xuICAgIGNvbnN0IHN0YXQgPSBsc3RhdFN5bmMoZmlsZW5hbWUpO1xuXG4gICAgaWYoc3RhdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAvLyBSZWN1cnNpdmUgc2VhcmNoXG4gICAgICByZXR1cm4gaGFzRmlsZVR5cGUoZmlsZW5hbWUsIGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV4dC5pbmNsdWRlcyhmaWxlRXh0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29tcGlsZSA9IGFzeW5jIChjbWQ6IGFueSwgY2FsbGJhY2s6IGFueSA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7XG4gICAgY2xpTmFtZSA9ICdMZXgnLFxuICAgIGNvbmZpZyxcbiAgICBvdXRwdXRQYXRoLFxuICAgIHF1aWV0LFxuICAgIHJlbW92ZSxcbiAgICBzb3VyY2VQYXRoLFxuICAgIHdhdGNoXG4gIH0gPSBjbWQ7XG5cbiAgLy8gU3Bpbm5lclxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgLy8gRGlzcGxheSBzdGF0dXNcbiAgbG9nKGAke2NsaU5hbWV9IGNvbXBpbGluZy4uLmAsICdpbmZvJywgcXVpZXQpO1xuXG4gIC8vIEdldCBjdXN0b20gY29uZmlndXJhdGlvblxuICBhd2FpdCBMZXhDb25maWcucGFyc2VDb25maWcoY21kKTtcblxuICAvLyBDb21waWxlIHR5cGVcbiAgY29uc3Qge291dHB1dEZ1bGxQYXRoLCBzb3VyY2VGdWxsUGF0aCwgdXNlVHlwZXNjcmlwdH0gPSBMZXhDb25maWcuY29uZmlnO1xuICBjb25zdCBvdXRwdXREaXI6IHN0cmluZyA9IG91dHB1dFBhdGggfHwgb3V0cHV0RnVsbFBhdGg7XG4gIGNvbnN0IHNvdXJjZURpcjogc3RyaW5nID0gc291cmNlUGF0aCA/IHBhdGhSZXNvbHZlKHByb2Nlc3MuY3dkKCksIGAuLyR7c291cmNlUGF0aH1gKSA6IHNvdXJjZUZ1bGxQYXRoO1xuICBjb25zdCBkaXJOYW1lID0gbmV3IFVSTCgnLicsIGltcG9ydC5tZXRhLnVybCkucGF0aG5hbWU7XG4gIGNvbnN0IGRpclBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLicpO1xuXG4gIC8vIENoZWNrIGZvciBsaW5rZWQgbW9kdWxlc1xuICBjaGVja0xpbmtlZE1vZHVsZXMoKTtcblxuICAvLyBDbGVhbiBvdXRwdXQgZGlyZWN0b3J5IGJlZm9yZSB3ZSBzdGFydCBhZGRpbmcgaW4gbmV3IGZpbGVzXG4gIGlmKHJlbW92ZSkge1xuICAgIGF3YWl0IHJlbW92ZUZpbGVzKG91dHB1dERpcik7XG4gIH1cblxuICAvLyBBZGQgdHNjb25maWcgZmlsZSBpZiBub25lIGV4aXN0c1xuICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgLy8gTWFrZSBzdXJlIHRzY29uZmlnLmpzb24gZXhpc3RzXG4gICAgTGV4Q29uZmlnLmNoZWNrVHlwZXNjcmlwdENvbmZpZygpO1xuXG4gICAgLy8gQ2hlY2sgc3RhdGljIHR5cGVzIHdpdGggdHlwZXNjcmlwdFxuICAgIGNvbnN0IHR5cGVzY3JpcHRQYXRoOiBzdHJpbmcgPSByZWxhdGl2ZU5vZGVQYXRoKCd0eXBlc2NyaXB0L2Jpbi90c2MnLCBkaXJQYXRoKTtcbiAgICBjb25zdCB0eXBlc2NyaXB0T3B0aW9uczogc3RyaW5nW10gPSBjb25maWcgP1xuICAgICAgWyctcCcsIGNvbmZpZ10gOlxuICAgICAgW1xuICAgICAgICAnLS1hbGxvd1N5bnRoZXRpY0RlZmF1bHRJbXBvcnRzJyxcbiAgICAgICAgJy0tYmFzZVVybCcsIHNvdXJjZURpcixcbiAgICAgICAgJy0tZGVjbGFyYXRpb24nLFxuICAgICAgICAnLS1lbWl0RGVjbGFyYXRpb25Pbmx5JyxcbiAgICAgICAgJy0tbGliJywgJ0VTTmV4dCxET00nLFxuICAgICAgICAnLS1tb2R1bGUnLCAnZXNuZXh0JyxcbiAgICAgICAgJy0tbW9kdWxlUmVzb2x1dGlvbicsICdub2RlJyxcbiAgICAgICAgJy0tbm9JbXBsaWNpdFJldHVybnMnLFxuICAgICAgICAnLS1ub0ltcGxpY2l0VGhpcycsXG4gICAgICAgICctLW91dERpcicsIG91dHB1dERpcixcbiAgICAgICAgJy0tcmVtb3ZlQ29tbWVudHMnLFxuICAgICAgICAnLS1yZXNvbHZlSnNvbk1vZHVsZScsXG4gICAgICAgICctLXRhcmdldCcsICdFU05leHQnLFxuICAgICAgICAnLS10eXBlUm9vdHMnLCAnbm9kZV9tb2R1bGVzL0B0eXBlcyxub2RlX21vZHVsZXMvanNvbi1kLXRzJ1xuICAgICAgXTtcblxuICAgIC8vIFN0YXJ0IHR5cGUgY2hlY2tpbmcgc3Bpbm5lclxuICAgIHNwaW5uZXIuc3RhcnQoJ1N0YXRpYyB0eXBlIGNoZWNraW5nIHdpdGggVHlwZXNjcmlwdC4uLicpO1xuXG4gICAgLy8gVHlwZSBjaGVja2luZ1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBleGVjYSh0eXBlc2NyaXB0UGF0aCwgdHlwZXNjcmlwdE9wdGlvbnMsIHtlbmNvZGluZzogJ3V0ZjgnfSk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgY29tcGxldGVkIHR5cGUgY2hlY2tpbmchJyk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5mYWlsKCdUeXBlIGNoZWNraW5nIGZhaWxlZC4nKTtcblxuICAgICAgLy8gS2lsbCBQcm9jZXNzXG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBmaWxlc1xuICBjb25zdCBnbG9iT3B0aW9ucyA9IHtcbiAgICBjd2Q6IHNvdXJjZURpcixcbiAgICBkb3Q6IGZhbHNlLFxuICAgIG5vZGlyOiB0cnVlLFxuICAgIG5vc29ydDogdHJ1ZVxuICB9O1xuICBjb25zdCB0c0ZpbGVzOiBzdHJpbmdbXSA9IGdsb2JTeW5jKGAke3NvdXJjZURpcn0vKiovISgqLnNwZWN8Ki50ZXN0KS50cypgLCBnbG9iT3B0aW9ucyk7XG4gIGNvbnN0IGpzRmlsZXM6IHN0cmluZ1tdID0gZ2xvYlN5bmMoYCR7c291cmNlRGlyfS8qKi8hKCouc3BlY3wqLnRlc3QpLmpzYCwgZ2xvYk9wdGlvbnMpO1xuICBjb25zdCBzb3VyY2VGaWxlczogc3RyaW5nW10gPSBbLi4udHNGaWxlcywgLi4uanNGaWxlc107XG5cbiAgLy8gRVNCdWlsZCBvcHRpb25zXG4gIGNvbnN0IGVzYnVpbGRQYXRoOiBzdHJpbmcgPSByZWxhdGl2ZU5vZGVQYXRoKCdlc2J1aWxkL2Jpbi9lc2J1aWxkJywgZGlyUGF0aCk7XG4gIGNvbnN0IGVzYnVpbGRPcHRpb25zOiBzdHJpbmdbXSA9IFtcbiAgICAuLi5zb3VyY2VGaWxlcyxcbiAgICAnLS1jb2xvcj10cnVlJyxcbiAgICAnLS1mb3JtYXQ9Y2pzJyxcbiAgICBgLS1vdXRkaXI9JHtvdXRwdXREaXJ9YCxcbiAgICAnLS1wbGF0Zm9ybT1ub2RlJyxcbiAgICAnLS1zb3VyY2VtYXA9aW5saW5lJyxcbiAgICAnLS10YXJnZXQ9bm9kZTIwJ1xuICBdO1xuXG4gIGlmKHdhdGNoKSB7XG4gICAgZXNidWlsZE9wdGlvbnMucHVzaCgnLS13YXRjaCcpO1xuICB9XG5cbiAgLy8gVXNlIFBvc3RDU1MgZm9yIENTUyBmaWxlc1xuICBjb25zdCBjc3NGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcuY3NzJywgTGV4Q29uZmlnLmNvbmZpZyk7XG5cbiAgaWYoY3NzRmlsZXMubGVuZ3RoKSB7XG4gICAgY29uc3QgcG9zdGNzc1BhdGg6IHN0cmluZyA9IHJlbGF0aXZlTm9kZVBhdGgoJ3Bvc3Rjc3MtY2xpL2luZGV4LmpzJywgZGlyUGF0aCk7XG4gICAgY29uc3QgcG9zdGNzc09wdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICAgYCR7c291cmNlRGlyfS8qKi8qKi5jc3NgLFxuICAgICAgJy0tYmFzZScsXG4gICAgICBzb3VyY2VEaXIsXG4gICAgICAnLS1kaXInLFxuICAgICAgb3V0cHV0RGlyLFxuICAgICAgJy0tY29uZmlnJyxcbiAgICAgIHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLi8ucG9zdGNzc3JjLmpzJylcbiAgICBdO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWNhKHBvc3Rjc3NQYXRoLCBwb3N0Y3NzT3B0aW9ucywge2VuY29kaW5nOiAndXRmOCd9KTtcbiAgICAgIHNwaW5uZXIuc3VjY2VlZChgU3VjY2Vzc2Z1bGx5IGZvcm1hdHRlZCAke2Nzc0ZpbGVzLmxlbmd0aH0gY3NzIGZpbGVzIWApO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIGZvcm1hdHRpbmcgY3NzLicpO1xuXG4gICAgICAvLyBLaWxsIFByb2Nlc3NcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29weSBpbWFnZSBmaWxlc1xuICBjb25zdCBnaWZGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcuZ2lmJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IGpwZ0ZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5qcGcnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3QgcG5nRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLnBuZycsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCBzdmdGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcuc3ZnJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IGltYWdlRmlsZXM6IHN0cmluZ1tdID0gWy4uLmdpZkZpbGVzLCAuLi5qcGdGaWxlcywgLi4ucG5nRmlsZXMsIC4uLnN2Z0ZpbGVzXTtcblxuICBpZihpbWFnZUZpbGVzLmxlbmd0aCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjb3B5RmlsZXMoaW1hZ2VGaWxlcywgJ2ltYWdlJywgc3Bpbm5lciwgTGV4Q29uZmlnLmNvbmZpZyk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gbW92ZSBpbWFnZXMgdG8gb3V0cHV0IGRpcmVjdG9yeS4nKTtcblxuICAgICAgLy8gS2lsbCBQcm9jZXNzXG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvcHkgZm9udCBmaWxlc1xuICBjb25zdCB0dGZGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcudHRmJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IG90ZkZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5vdGYnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3Qgd29mZkZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy53b2ZmJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IHdvZmYyRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLndvZmYyJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IGZvbnRGaWxlczogc3RyaW5nW10gPSBbLi4udHRmRmlsZXMsIC4uLm90ZkZpbGVzLCAuLi53b2ZmRmlsZXMsIC4uLndvZmYyRmlsZXNdO1xuXG4gIGlmKGZvbnRGaWxlcy5sZW5ndGgpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgY29weUZpbGVzKGZvbnRGaWxlcywgJ2ZvbnQnLCBzcGlubmVyLCBMZXhDb25maWcuY29uZmlnKTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byBtb3ZlIGZvbnRzIHRvIG91dHB1dCBkaXJlY3RvcnkuJyk7XG5cbiAgICAgIC8vIEtpbGwgUHJvY2Vzc1xuICAgICAgY2FsbGJhY2soMSk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvLyBDb3B5IG1hcmtkb3duIGZpbGVzXG4gIGNvbnN0IG1kRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLm1kJywgTGV4Q29uZmlnLmNvbmZpZyk7XG5cbiAgaWYobWRGaWxlcy5sZW5ndGgpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgY29weUZpbGVzKG1kRmlsZXMsICdkb2N1bWVudHMnLCBzcGlubmVyLCBMZXhDb25maWcuY29uZmlnKTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byBtb3ZlIGRvY3MgdG8gb3V0cHV0IGRpcmVjdG9yeS4nKTtcblxuICAgICAgLy8gS2lsbCBQcm9jZXNzXG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0YXJ0IGNvbXBpbGUgc3Bpbm5lclxuICBzcGlubmVyLnN0YXJ0KHdhdGNoID8gJ1dhdGNoaW5nIGZvciBjaGFuZ2VzLi4uJyA6ICdDb21waWxpbmcgd2l0aCBFU0J1aWxkLi4uJyk7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBleGVjYShlc2J1aWxkUGF0aCwgZXNidWlsZE9wdGlvbnMsIHtlbmNvZGluZzogJ3V0ZjgnfSk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICBzcGlubmVyLnN1Y2NlZWQoJ0NvbXBpbGUgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSEnKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgIGlmKCFxdWlldCkge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5mYWlsKCdDb2RlIGNvbXBpbGluZyBmYWlsZWQuJyk7XG5cbiAgICAvLyBLaWxsIFByb2Nlc3NcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8vIFN0b3AgcHJvY2Vzc1xuICBjYWxsYmFjaygwKTtcbiAgcmV0dXJuIDA7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxhQUFZO0FBQ3BCLFNBQVEsWUFBWSxXQUFXLG1CQUFrQjtBQUNqRCxTQUFRLFFBQVEsZ0JBQWU7QUFDL0IsU0FBUSxXQUFXLGFBQWEs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
@@ -1,93 +0,0 @@
1
- import { existsSync, readdirSync } from "fs";
2
- import { compile, hasFileType } from "./compile.js";
3
- import { LexConfig, defaultConfigValues } from "../LexConfig.js";
4
- import { checkLinkedModules, removeFiles } from "../utils/app.js";
5
- jest.mock("execa", () => ({
6
- ...jest.requireActual("execa"),
7
- execa: jest.fn(() => Promise.resolve({}))
8
- }));
9
- jest.mock("fs", () => ({
10
- ...jest.requireActual("fs"),
11
- existsSync: jest.fn(() => true),
12
- lstatSync: jest.fn(() => ({
13
- isDirectory: jest.fn(() => false)
14
- })),
15
- readdirSync: jest.fn(() => [])
16
- }));
17
- jest.mock("../utils/app", () => ({
18
- ...jest.requireActual("../utils/app"),
19
- checkLinkedModules: jest.fn(),
20
- removeFiles: jest.fn(() => Promise.resolve()),
21
- removeModules: jest.fn(() => Promise.resolve())
22
- }));
23
- jest.mock("../LexConfig", () => ({
24
- LexConfig: {
25
- config: {},
26
- checkTypescriptConfig: jest.fn(),
27
- parseConfig: jest.fn()
28
- }
29
- }));
30
- describe("compile", () => {
31
- let callback;
32
- let oldConsole;
33
- beforeAll(() => {
34
- oldConsole = { ...console };
35
- console = {
36
- ...oldConsole,
37
- debug: jest.fn(),
38
- error: jest.fn(),
39
- warn: jest.fn()
40
- };
41
- });
42
- beforeEach(() => {
43
- callback = jest.fn();
44
- LexConfig.config = {
45
- ...defaultConfigValues
46
- };
47
- });
48
- afterAll(() => {
49
- console = { ...oldConsole };
50
- jest.resetAllMocks();
51
- });
52
- it("should clean using default config", async () => {
53
- const status = await compile({}, callback);
54
- expect(checkLinkedModules).toHaveBeenCalled();
55
- expect(callback).toHaveBeenCalledWith(0);
56
- expect(status).toBe(0);
57
- });
58
- it("should clean using config", async () => {
59
- LexConfig.config = {
60
- ...LexConfig.config,
61
- useTypescript: true
62
- };
63
- const status = await compile({
64
- remove: true
65
- }, callback);
66
- expect(checkLinkedModules).toHaveBeenCalled();
67
- expect(removeFiles).toHaveBeenCalled();
68
- expect(LexConfig.checkTypescriptConfig).toHaveBeenCalled();
69
- expect(callback).toHaveBeenCalledWith(0);
70
- expect(status).toBe(0);
71
- });
72
- describe("hasFileType", () => {
73
- const filePath = "./";
74
- it("should return false if path does not exist", () => {
75
- existsSync.mockImplementation(() => false);
76
- const status = hasFileType(filePath, [".js"]);
77
- expect(status).toBe(false);
78
- });
79
- it("should return true if path has file type", () => {
80
- existsSync.mockImplementation(() => true);
81
- readdirSync.mockImplementation(() => ["test.js"]);
82
- const status = hasFileType(filePath, [".js"]);
83
- expect(status).toBe(true);
84
- });
85
- it("should return false if path does not have file type", () => {
86
- existsSync.mockImplementation(() => true);
87
- readdirSync.mockImplementation(() => ["test.css"]);
88
- const status = hasFileType(filePath, [".js"]);
89
- expect(status).toBe(false);
90
- });
91
- });
92
- });
93
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvbXBpbGUudGVzdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtleGlzdHNTeW5jLCByZWFkZGlyU3luY30gZnJvbSAnZnMnO1xuXG5pbXBvcnQge2NvbXBpbGUsIGhhc0ZpbGVUeXBlfSBmcm9tICcuL2NvbXBpbGUuanMnO1xuaW1wb3J0IHtMZXhDb25maWcsIGRlZmF1bHRDb25maWdWYWx1ZXN9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NoZWNrTGlua2VkTW9kdWxlcywgcmVtb3ZlRmlsZXN9IGZyb20gJy4uL3V0aWxzL2FwcC5qcyc7XG5cbmplc3QubW9jaygnZXhlY2EnLCAoKSA9PiAoe1xuICAuLi5qZXN0LnJlcXVpcmVBY3R1YWwoJ2V4ZWNhJyksXG4gIGV4ZWNhOiBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSh7fSkpXG59KSk7XG5cbmplc3QubW9jaygnZnMnLCAoKSA9PiAoe1xuICAuLi5qZXN0LnJlcXVpcmVBY3R1YWwoJ2ZzJyksXG4gIGV4aXN0c1N5bmM6IGplc3QuZm4oKCkgPT4gdHJ1ZSksXG4gIGxzdGF0U3luYzogamVzdC5mbigoKSA9PiAoe1xuICAgIGlzRGlyZWN0b3J5OiBqZXN0LmZuKCgpID0+IGZhbHNlKVxuICB9KSksXG4gIHJlYWRkaXJTeW5jOiBqZXN0LmZuKCgpID0+IFtdKVxufSkpO1xuXG5qZXN0Lm1vY2soJy4uL3V0aWxzL2FwcCcsICgpID0+ICh7XG4gIC4uLmplc3QucmVxdWlyZUFjdHVhbCgnLi4vdXRpbHMvYXBwJyksXG4gIGNoZWNrTGlua2VkTW9kdWxlczogamVzdC5mbigpLFxuICByZW1vdmVGaWxlczogamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoKSksXG4gIHJlbW92ZU1vZHVsZXM6IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpXG59KSk7XG5cbmplc3QubW9jaygnLi4vTGV4Q29uZmlnJywgKCkgPT4gKHtcbiAgTGV4Q29uZmlnOiB7XG4gICAgY29uZmlnOiB7fSxcbiAgICBjaGVja1R5cGVzY3JpcHRDb25maWc6IGplc3QuZm4oKSxcbiAgICBwYXJzZUNvbmZpZzogamVzdC5mbigpXG4gIH1cbn0pKTtcblxuZGVzY3JpYmUoJ2NvbXBpbGUnLCAoKSA9PiB7XG4gIGxldCBjYWxsYmFjazogamVzdC5Nb2NrO1xuICBsZXQgb2xkQ29uc29sZTtcblxuICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgIG9sZENvbnNvbGUgPSB7Li4uY29uc29sZX07XG4gICAgY29uc29sZSA9IHtcbiAgICAgIC4uLm9sZENvbnNvbGUsXG4gICAgICBkZWJ1ZzogamVzdC5mbigpLFxuICAgICAgZXJyb3I6IGplc3QuZm4oKSxcbiAgICAgIHdhcm46IGplc3QuZm4oKVxuICAgIH07XG4gIH0pO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNhbGxiYWNrID0gamVzdC5mbigpO1xuICAgIExleENvbmZpZy5jb25maWcgPSB7XG4gICAgICAuLi5kZWZhdWx0Q29uZmlnVmFsdWVzXG4gICAgfTtcbiAgfSk7XG5cbiAgYWZ0ZXJBbGwoKCkgPT4ge1xuICAgIGNvbnNvbGUgPSB7Li4ub2xkQ29uc29sZX07XG4gICAgamVzdC5yZXNldEFsbE1vY2tzKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY2xlYW4gdXNpbmcgZGVmYXVsdCBjb25maWcnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc3RhdHVzOiBudW1iZXIgPSBhd2FpdCBjb21waWxlKHt9LCBjYWxsYmFjayk7XG4gICAgZXhwZWN0KGNoZWNrTGlua2VkTW9kdWxlcykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIGV4cGVjdChjYWxsYmFjaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoMCk7XG4gICAgZXhwZWN0KHN0YXR1cykudG9CZSgwKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjbGVhbiB1c2luZyBjb25maWcnLCBhc3luYyAoKSA9PiB7XG4gICAgTGV4Q29uZmlnLmNvbmZpZyA9IHtcbiAgICAgIC4uLkxleENvbmZpZy5jb25maWcsXG4gICAgICB1c2VUeXBlc2NyaXB0OiB0cnVlXG4gICAgfTtcbiAgICBjb25zdCBzdGF0dXM6IG51bWJlciA9IGF3YWl0IGNvbXBpbGUoe1xuICAgICAgcmVtb3ZlOiB0cnVlXG4gICAgfSwgY2FsbGJhY2spO1xuICAgIGV4cGVjdChjaGVja0xpbmtlZE1vZHVsZXMpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICBleHBlY3QocmVtb3ZlRmlsZXMpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICBleHBlY3QoTGV4Q29uZmlnLmNoZWNrVHlwZXNjcmlwdENvbmZpZykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIGV4cGVjdChjYWxsYmFjaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoMCk7XG4gICAgZXhwZWN0KHN0YXR1cykudG9CZSgwKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2hhc0ZpbGVUeXBlJywgKCkgPT4ge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gJy4vJztcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGZhbHNlIGlmIHBhdGggZG9lcyBub3QgZXhpc3QnLCAoKSA9PiB7XG4gICAgICAoZXhpc3RzU3luYyBhcyBqZXN0Lk1vY2spLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBmYWxzZSk7XG4gICAgICBjb25zdCBzdGF0dXM6IGJvb2xlYW4gPSBoYXNGaWxlVHlwZShmaWxlUGF0aCwgWycuanMnXSk7XG4gICAgICBleHBlY3Qoc3RhdHVzKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRydWUgaWYgcGF0aCBoYXMgZmlsZSB0eXBlJywgKCkgPT4ge1xuICAgICAgKGV4aXN0c1N5bmMgYXMgamVzdC5Nb2NrKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gdHJ1ZSk7XG4gICAgICAocmVhZGRpclN5bmMgYXMgamVzdC5Nb2NrKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gWyd0ZXN0LmpzJ10pO1xuICAgICAgY29uc3Qgc3RhdHVzOiBib29sZWFuID0gaGFzRmlsZVR5cGUoZmlsZVBhdGgsIFsnLmpzJ10pO1xuICAgICAgZXhwZWN0KHN0YXR1cykudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGZhbHNlIGlmIHBhdGggZG9lcyBub3QgaGF2ZSBmaWxlIHR5cGUnLCAoKSA9PiB7XG4gICAgICAoZXhpc3RzU3luYyBhcyBqZXN0Lk1vY2spLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB0cnVlKTtcbiAgICAgIChyZWFkZGlyU3luYyBhcyBqZXN0Lk1vY2spLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBbJ3Rlc3QuY3NzJ10pO1xuICAgICAgY29uc3Qgc3RhdHVzOiBib29sZWFuID0gaGFzRmlsZVR5cGUoZmlsZVBhdGgsIFsnLmpzJ10pO1xuICAgICAgZXhwZWN0KHN0YXR1cykudG9CZShmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFRLFlBQVksbUJBQWtCO0FBRXRDLFNBQVEsU0FBUyxtQkFBa0I7QUFDbkMsU0FBUSxXQUFXLDJCQUEwQjtBQUM3QyxTQUFRLG9CQUFvQixtQkFBa0I7QUFFOUMsS0FBSyxLQUFLLFNBQVMsT0FBTztBQUFBLEVBQ3hCLEdBQUcsS0FBSyxjQUFjLE9BQU87QUFBQSxFQUM3QixPQUFPLEtBQUssR0FBRyxNQUFNLFFBQVEsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUMxQyxFQUFFO0FBRUYsS0FBSyxLQUFLLE1BQU0sT0FBTztBQUFBLEVBQ3JCLEdBQUcsS0FBSyxjQUFjLElBQUk7QUFBQSxFQUMxQixZQUFZLEtBQUssR0FBRyxNQUFNLElBQUk7QUFBQSxFQUM5QixXQUFXLEtBQUssR0FBRyxPQUFPO0FBQUEsSUFDeEIsYUFBYSxLQUFLLEdBQUcsTUFBTSxLQUFLO0FBQUEsRUFDbEMsRUFBRTtBQUFBLEVBQ0YsYUFBYSxLQUFLLEdBQUcsTUFBTSxDQUFDLENB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
@@ -1,43 +0,0 @@
1
- import { writeFileSync } from "fs";
2
- import startCase from "lodash/startCase.js";
3
- import { relative as pathRelative } from "path";
4
- import { LexConfig } from "../LexConfig.js";
5
- import { createSpinner } from "../utils/app.js";
6
- import { log } from "../utils/log.js";
7
- const config = async (type, cmd, callback = () => ({})) => {
8
- const { cliName = "Lex", json, quiet } = cmd;
9
- const validTypes = ["app", "jest", "webpack"];
10
- if (!validTypes.includes(type)) {
11
- log(`
12
- ${cliName} Error: Option for ${type} not found. Configurations only available for app, jest, and webpack.`, "error", quiet);
13
- callback(1);
14
- return Promise.resolve(1);
15
- }
16
- log(`${cliName} generating configuration for ${startCase(type)}...`, "info", quiet);
17
- await LexConfig.parseConfig(cmd);
18
- let configOptions;
19
- switch (type) {
20
- case "app":
21
- configOptions = LexConfig.config;
22
- break;
23
- case "jest":
24
- configOptions = import("../../jest.config.lex.js");
25
- break;
26
- case "webpack":
27
- configOptions = import("../../webpack.config.js");
28
- break;
29
- }
30
- const jsonOutput = JSON.stringify(configOptions, null, 2);
31
- if (json) {
32
- const spinner = createSpinner(quiet);
33
- spinner.start("Creating JSON output...");
34
- writeFileSync(json, jsonOutput);
35
- spinner.succeed(`Successfully saved JSON output to ${pathRelative(process.cwd(), json)}`);
36
- }
37
- callback(0);
38
- return Promise.resolve(0);
39
- };
40
- export {
41
- config
42
- };
43
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvbmZpZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7d3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHN0YXJ0Q2FzZSBmcm9tICdsb2Rhc2gvc3RhcnRDYXNlLmpzJztcbmltcG9ydCB7cmVsYXRpdmUgYXMgcGF0aFJlbGF0aXZlfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXJ9IGZyb20gJy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdPcHRpb25zIHtcbiAgcmVhZG9ubHkgY2xpTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkganNvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDb25maWdDYWxsYmFjayA9IChzdGF0dXM6IG51bWJlcikgPT4gdm9pZDtcblxuZXhwb3J0IGNvbnN0IGNvbmZpZyA9IGFzeW5jICh0eXBlOiBzdHJpbmcsIGNtZDogQ29uZmlnT3B0aW9ucywgY2FsbGJhY2s6IENvbmZpZ0NhbGxiYWNrID0gKCkgPT4gKHt9KSk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtjbGlOYW1lID0gJ0xleCcsIGpzb24sIHF1aWV0fSA9IGNtZDtcbiAgY29uc3QgdmFsaWRUeXBlczogc3RyaW5nW10gPSBbJ2FwcCcsICdqZXN0JywgJ3dlYnBhY2snXTtcblxuICBpZighdmFsaWRUeXBlcy5pbmNsdWRlcyh0eXBlKSkge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogT3B0aW9uIGZvciAke3R5cGV9IG5vdCBmb3VuZC4gQ29uZmlndXJhdGlvbnMgb25seSBhdmFpbGFibGUgZm9yIGFwcCwgamVzdCwgYW5kIHdlYnBhY2suYCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMSk7XG4gIH1cblxuICAvLyBEaXNwbGF5IHN0YXR1c1xuICBsb2coYCR7Y2xpTmFtZX0gZ2VuZXJhdGluZyBjb25maWd1cmF0aW9uIGZvciAke3N0YXJ0Q2FzZSh0eXBlKX0uLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgbGV0IGNvbmZpZ09wdGlvbnM7XG5cbiAgc3dpdGNoKHR5cGUpIHtcbiAgICBjYXNlICdhcHAnOlxuICAgICAgY29uZmlnT3B0aW9ucyA9IExleENvbmZpZy5jb25maWc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdqZXN0JzpcbiAgICAgIGNvbmZpZ09wdGlvbnMgPSBpbXBvcnQoJy4uLy4uL2plc3QuY29uZmlnLmxleC5qcycpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnd2VicGFjayc6XG4gICAgICBjb25maWdPcHRpb25zID0gaW1wb3J0KCcuLi8uLi93ZWJwYWNrLmNvbmZpZy5qcycpO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICAvLyBPdXRwdXQgY29uZmlnIHRvIGNvbnNvbGVcbiAgY29uc3QganNvbk91dHB1dDogc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoY29uZmlnT3B0aW9ucywgbnVsbCwgMik7XG5cbiAgaWYoanNvbikge1xuICAgIC8vIFNwaW5uZXJcbiAgICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgICAvLyBTdGFydCBzcGlubmVyXG4gICAgc3Bpbm5lci5zdGFydCgnQ3JlYXRpbmcgSlNPTiBvdXRwdXQuLi4nKTtcblxuICAgIC8vIFNhdmUganNvbiBsb2NhbGx5XG4gICAgd3JpdGVGaWxlU3luYyhqc29uLCBqc29uT3V0cHV0KTtcblxuICAgIC8vIFN1Y2Nlc3Mgc3Bpbm5lclxuICAgIHNwaW5uZXIuc3VjY2VlZChgU3VjY2Vzc2Z1bGx5IHNhdmVkIEpTT04gb3V0cHV0IHRvICR7cGF0aFJlbGF0aXZlKHByb2Nlc3MuY3dkKCksIGpzb24pfWApO1xuICB9XG5cbiAgY2FsbGJhY2soMCk7XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoMCk7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxxQkFBb0I7QUFDNUIsT0FBTyxlQUFlO0FBQ3RCLFNBQVEsWUFBWSxvQkFBbUI7QUFFdkMsU0FBUSxpQkFBZ0I7QUFDeEIsU0FBUSxxQkFBb0I7QUFDNUIsU0FBUSxXQUFVO0FBVVgsTUFBTSxTQUFTLE9BQU8sTUFBYyxLQUFvQixXQUEyQixPQUFPLENBQUMsT0FBd0I7QUFDeEgsUUFBTSxFQUFDLFVBQVUsT0FBTyxNQUFNLE1BQUssSUFBSTtBQUN2QyxRQUFNLGFBQXVCLENBQUMsT0FBTyxRQUFRLFNBQVM7QUFFdEQsTUFBRyxDQUFDLFdBQVcsU0FBUyxJQUFJLEdBQUc7QUFDN0IsUUFBSTtBQUFBLEVBQUssT0FBTyxzQkFBc0IsSUFBSSx5RUFBeUUsU0FBUyxLQUFLO0FBQ2pJLGFBQVMsQ0FBQztBQUNWLFdBQU8sUUFBUSxRQUFRLENBQUM7QUFBQSxFQUMxQjtBQUdBLE1BQUksR0FBRyxPQUFPLGlDQUFpQyxVQUFVLElBQUksQ0FBQyxPQUFPLFFBQVEsS0FBSztBQUdsRixRQUFNLFVBQVUsWUFBWSxHQUFHO0FBRS9CLE1BQUk7QUFFSixVQUFPLE1BQU07QUFBQSxJQUNYLEtBQUs7QUFDSCxzQkFBZ0IsVUFBVTtBQUMxQjtBQUFBLElBQ0YsS0FBSztBQUNILHNCQUFnQixPQUFPLDBCQUEwQjtBQUNqRDtBQUFBLElBQ0YsS0FBSztBQUNILHNCQUFnQixPQUFPLHlCQUF5QjtBQUNoRDtBQUFBLEVBQ0o7QUFHQSxRQUFNLGFBQXFCLEtBQUssVUFBVSxlQUFlLE1BQU0sQ0FBQztBQUVoRSxNQUFHLE1BQU07QUFFUCxVQUFNLFVBQVUsY0FBYyxLQUFLO0FBR25DLFlBQVEsTUFBTSx5QkFBeUI7QUFHdkMsa0JBQWMsTUFBTSxVQUFVO0FBRzlCLFlBQVEsUUFBUSxxQ0FBcUMsYUFBYSxRQUFRLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRTtBQUFBLEVBQzFGO0FBRUEsV0FBUyxDQUFDO0FBQ1YsU0FBTyxRQUFRLFFBQVEsQ0FBQztBQUMxQjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,38 +0,0 @@
1
- import { existsSync, lstatSync } from "fs";
2
- import { copyFileSync, copyFolderRecursiveSync } from "../utils/app.js";
3
- import { log } from "../utils/log.js";
4
- const copy = (from, to, cmd, callback = () => ({})) => {
5
- const { cliName = "Lex", quiet } = cmd;
6
- log(`${cliName} copying "${to}"...`, "info", quiet);
7
- if (!existsSync(from)) {
8
- log(`
9
- ${cliName} Error: Path not found, "${from}"...`, "error", quiet);
10
- callback(1);
11
- return Promise.resolve(1);
12
- }
13
- if (lstatSync(from).isDirectory()) {
14
- try {
15
- copyFolderRecursiveSync(from, to);
16
- } catch (error) {
17
- log(`
18
- ${cliName} Error: Cannot copy "${from}". ${error.message}`, "error", quiet);
19
- callback(1);
20
- return Promise.resolve(1);
21
- }
22
- } else {
23
- try {
24
- copyFileSync(from, to);
25
- } catch (error) {
26
- log(`
27
- ${cliName} Error: Cannot copy "${from}" ${error.message}`, "error", quiet);
28
- callback(1);
29
- return Promise.resolve(1);
30
- }
31
- }
32
- callback(0);
33
- return Promise.resolve(0);
34
- };
35
- export {
36
- copy
37
- };
38
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvcHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4aXN0c1N5bmMsIGxzdGF0U3luY30gZnJvbSAnZnMnO1xuXG5pbXBvcnQge2NvcHlGaWxlU3luYywgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmN9IGZyb20gJy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb3B5T3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQ29weUNhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgY29uc3QgY29weSA9IChmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcsIGNtZDogQ29weU9wdGlvbnMsIGNhbGxiYWNrOiBDb3B5Q2FsbGJhY2sgPSAoKSA9PiAoe30pKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgcXVpZXR9ID0gY21kO1xuXG4gIC8vIERpc3BsYXkgbWVzc2FnZVxuICBsb2coYCR7Y2xpTmFtZX0gY29weWluZyBcIiR7dG99XCIuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICBpZighZXhpc3RzU3luYyhmcm9tKSkge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogUGF0aCBub3QgZm91bmQsIFwiJHtmcm9tfVwiLi4uYCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMSk7XG4gIH1cblxuICBpZihsc3RhdFN5bmMoZnJvbSkuaXNEaXJlY3RvcnkoKSkge1xuICAgIHRyeSB7XG4gICAgICAvLyBDb3B5IGRpcmVjdG9yeVxuICAgICAgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmMoZnJvbSwgdG8pO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogQ2Fubm90IGNvcHkgXCIke2Zyb219XCIuICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICAvLyBDb3B5IGZpbGVcbiAgICAgIGNvcHlGaWxlU3luYyhmcm9tLCB0byk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBDYW5ub3QgY29weSBcIiR7ZnJvbX1cIiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgICAgY2FsbGJhY2soMSk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKDEpO1xuICAgIH1cbiAgfVxuXG4gIGNhbGxiYWNrKDApO1xuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKDApO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsWUFBWSxpQkFBZ0I7QUFFcEMsU0FBUSxjQUFjLCtCQUE4QjtBQUNwRCxTQUFRLFdBQVU7QUFTWCxNQUFNLE9BQU8sQ0FBQyxNQUFjLElBQVksS0FBa0IsV0FBeUIsT0FBTyxDQUFDLE9BQXdCO0FBQ3hILFFBQU0sRUFBQyxVQUFVLE9BQU8sTUFBSyxJQUFJO0FBR2pDLE1BQUksR0FBRyxPQUFPLGFBQWEsRUFBRSxRQUFRLFFBQVEsS0FBSztBQUVsRCxNQUFHLENBQUMsV0FBVyxJQUFJLEdBQUc7QUFDcEIsUUFBSTtBQUFBLEVBQUssT0FBTyw0QkFBNEIsSUFBSSxRQUFRLFNBQVMsS0FBSztBQUN0RSxhQUFTLENBQUM7QUFDVixXQUFPLFFBQVEsUUFBUSxDQUFDO0FBQUEsRUFDMUI7QUFFQSxNQUFHLFVBQVUsSUFBSSxFQUFFLFlBQVksR0FBRztBQUNoQyxRQUFJO0FBRUYsOEJBQXdCLE1BQU0sRUFBRTtBQUFBLElBQ2xDLFNBQVEsT0FBTztBQUNiLFVBQUk7QUFBQSxFQUFLLE9BQU8sd0JBQXdCLElBQUksTUFBTSxNQUFNLE9BQU8sSUFBSSxTQUFTLEtBQUs7QUFDakYsZUFBUyxDQUFDO0FBQ1YsYUFBTyxRQUFRLFFBQVEsQ0FBQztBQUFBLElBQzFCO0FBQUEsRUFDRixPQUFPO0FBQ0wsUUFBSTtBQUVGLG1CQUFhLE1BQU0sRUFBRTtBQUFBLElBQ3ZCLFNBQVEsT0FBTztBQUNiLFVBQUk7QUFBQSxFQUFLLE9BQU8sd0JBQXdCLElBQUksS0FBSyxNQUFNLE9BQU8sSUFBSSxTQUFTLEtBQUs7QUFDaEYsZUFBUyxDQUFDO0FBQ1YsYUFBTyxRQUFRLFFBQVEsQ0FBQztBQUFBLElBQzFCO0FBQUEsRUFDRjtBQUVBLFdBQVMsQ0FBQztBQUNWLFNBQU8sUUFBUSxRQUFRLENBQUM7QUFDMUI7IiwKICAibmFtZXMiOiBbXQp9Cg==