@nlabs/lex 1.46.1 → 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 (72) 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 +4 -4
  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 +70 -50
  46. package/{.postcssrc.js → postcss.config.js} +21 -9
  47. package/tsconfig.build.json +7 -16
  48. package/tsconfig.json +2 -1
  49. package/webpack.config.js +136 -77
  50. package/.eslintrc +0 -45
  51. package/dist/commands/build.js +0 -265
  52. package/dist/commands/bulid.test.js +0 -317
  53. package/dist/commands/clean.js +0 -31
  54. package/dist/commands/clean.test.js +0 -63
  55. package/dist/commands/compile.js +0 -195
  56. package/dist/commands/compile.test.js +0 -93
  57. package/dist/commands/config.js +0 -43
  58. package/dist/commands/copy.js +0 -38
  59. package/dist/commands/create.js +0 -116
  60. package/dist/commands/dev.js +0 -70
  61. package/dist/commands/init.js +0 -93
  62. package/dist/commands/link.js +0 -15
  63. package/dist/commands/lint.js +0 -179
  64. package/dist/commands/migrate.js +0 -37
  65. package/dist/commands/publish.js +0 -104
  66. package/dist/commands/test.js +0 -190
  67. package/dist/commands/update.js +0 -64
  68. package/dist/commands/upgrade.js +0 -47
  69. package/dist/commands/versions.js +0 -41
  70. package/dist/commands/versions.test.js +0 -49
  71. package/dist/lint.js +0 -11
  72. 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 = () => ({})) => {
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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NsZWFuLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIHJlbW92ZUZpbGVzLCByZW1vdmVNb2R1bGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBjb25zdCBjbGVhbiA9IGFzeW5jIChjbWQ6IGFueSwgY2FsbGJhY2s6IGFueSA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBxdWlldCwgc25hcHNob3RzfSA9IGNtZDtcblxuICAvLyBTcGlubmVyXG4gIGNvbnN0IHNwaW5uZXIgPSBjcmVhdGVTcGlubmVyKHF1aWV0KTtcblxuICAvLyBEaXNwbGF5IHN0YXR1c1xuICBsb2coYCR7Y2xpTmFtZX0gY2xlYW5pbmcgZGlyZWN0b3J5Li4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuXG4gIC8vIFN0YXJ0IGNsZWFuaW5nIHNwaW5uZXJcbiAgc3Bpbm5lci5zdGFydCgnQ2xlYW5pbmcgZmlsZXMuLi4nKTtcblxuICB0cnkge1xuICAgIC8vIFJlbW92ZSBub2RlX21vZHVsZXNcbiAgICBhd2FpdCByZW1vdmVNb2R1bGVzKCk7XG5cbiAgICAvLyBSZW1vdmUgdGVzdCBjb3ZlcmFnZSByZXBvcnRzXG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy4vY292ZXJhZ2UnLCB0cnVlKTtcblxuICAgIC8vIFJlbW92ZSBucG0gbG9nc1xuICAgIGF3YWl0IHJlbW92ZUZpbGVzKCcuL25wbS1kZWJ1Zy5sb2cnLCB0cnVlKTtcblxuICAgIGlmKHNuYXBzaG90cykge1xuICAgICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy4vKiovX19zbmFwc2hvdHNfXycsIHRydWUpO1xuICAgIH1cblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIHNwaW5uZXIuc3VjY2VlZCgnU3VjY2Vzc2Z1bGx5IGNsZWFuZWQhJyk7XG5cbiAgICAvLyBTdG9wIHByb2Nlc3NcbiAgICBjYWxsYmFjaygwKTtcbiAgICByZXR1cm4gMDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIGNsZWFuIHByb2plY3QuJyk7XG5cbiAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsaUJBQWdCO0FBQ3hCLFNBQVEsZUFBZSxhQUFhLHFCQUFvQjtBQUN4RCxTQUFRLFdBQVU7QUFFWCxNQUFNLFFBQVEsT0FBTyxLQUFVLFdBQWdCLE9BQU8sQ0FBQyxPQUF3QjtBQUNwRixRQUFNLEVBQUMsVUFBVSxPQUFPLE9BQU8sVUFBUyxJQUFJO0FBRzVDLFFBQU0sVUFBVSxjQUFjLEtBQUs7QUFHbkMsTUFBSSxHQUFHLE9BQU8sMEJBQTBCLFFBQVEsS0FBSztBQUdyRCxRQUFNLFVBQVUsWUFBWSxHQUFHO0FBRy9CLFVBQVEsTUFBTSxtQkFBbUI7QUFFakMsTUFBSTtBQUVGLFVBQU0sY0FBYztBQUdwQixVQUFNLFlBQVksY0FBYyxJQUFJO0FBR3BDLFVBQU0sWUFBWSxtQkFBbUIsSUFBSTtBQUV6QyxRQUFHLFdBQVc7QUFDWixZQUFNLFlBQVksc0JBQXNCLElBQUk7QUFBQSxJQUM5QztBQUdBLFlBQVEsUUFBUSx1QkFBdUI7QUFHdkMsYUFBUyxDQUFDO0FBQ1YsV0FBTztBQUFBLEVBQ1QsU0FBUSxPQUFPO0FBRWIsUUFBSTtBQUFBLEVBQUssT0FBTyxXQUFXLE1BQU0sT0FBTyxJQUFJLFNBQVMsS0FBSztBQUcxRCxZQUFRLEtBQUssMEJBQTBCO0FBR3ZDLGFBQVMsQ0FBQztBQUNWLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,63 +0,0 @@
1
- import { clean } from "./clean";
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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NsZWFuLnRlc3QudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7Y2xlYW59IGZyb20gJy4vY2xlYW4nO1xuaW1wb3J0IHtMZXhDb25maWcsIGRlZmF1bHRDb25maWdWYWx1ZXN9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge3JlbW92ZUZpbGVzLCByZW1vdmVNb2R1bGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuXG5qZXN0Lm1vY2soJy4uL3V0aWxzL2FwcCcsICgpID0+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/IHBhdGhSZXNvbHZlKHByb2Nlc3MuY3dkKCksIGAuLyR7c291cmNlUGF0aH1gKSA6IHNvdXJjZUZ1bGxQYXRoO1xuICBjb25zdCBkaXJOYW1lID0gbmV3IFVSTCgnLicsIGltcG9ydC5tZXRhLnVybCkucGF0aG5hbWU7XG4gIGNvbnN0IGRpclBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLicpO1xuXG4gIC8vIENoZWNrIGZvciBsaW5rZWQgbW9kdWxlc1xuICBjaGVja0xpbmtlZE1vZHVsZXMoKTtcblxuICAvLyBDbGVhbiBvdXRwdXQgZGlyZWN0b3J5IGJlZm9yZSB3ZSBzdGFydCBhZGRpbmcgaW4gbmV3IGZpbGVzXG4gIGlmKHJlbW92ZSkge1xuICAgIGF3YWl0IHJlbW92ZUZpbGVzKG91dHB1dERpcik7XG4gIH1cblxuICAvLyBBZGQgdHNjb25maWcgZmlsZSBpZiBub25lIGV4aXN0c1xuICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgLy8gTWFrZSBzdXJlIHRzY29uZmlnLmpzb24gZXhpc3RzXG4gICAgTGV4Q29uZmlnLmNoZWNrVHlwZXNjcmlwdENvbmZpZygpO1xuXG4gICAgLy8gQ2hlY2sgc3RhdGljIHR5cGVzIHdpdGggdHlwZXNjcmlwdFxuICAgIGNvbnN0IHR5cGVzY3JpcHRQYXRoOiBzdHJpbmcgPSByZWxhdGl2ZU5vZGVQYXRoKCd0eXBlc2NyaXB0L2Jpbi90c2MnLCBkaXJQYXRoKTtcbiAgICBjb25zdCB0eXBlc2NyaXB0T3B0aW9uczogc3RyaW5nW10gPSBjb25maWcgP1xuICAgICAgWyctcCcsIGNvbmZpZ10gOlxuICAgICAgW1xuICAgICAgICAnLS1hbGxvd1N5bnRoZXRpY0RlZmF1bHRJbXBvcnRzJyxcbiAgICAgICAgJy0tYmFzZVVybCcsIHNvdXJjZURpcixcbiAgICAgICAgJy0tZGVjbGFyYXRpb24nLFxuICAgICAgICAnLS1lbWl0RGVjbGFyYXRpb25Pbmx5JyxcbiAgICAgICAgJy0tbGliJywgWydFU05leHQnLCAnRE9NJ10sXG4gICAgICAgICctLW1vZHVsZScsICdlc25leHQnLFxuICAgICAgICAnLS1tb2R1bGVSZXNvbHV0aW9uJywgJ25vZGUnLFxuICAgICAgICAnLS1ub0ltcGxpY2l0UmV0dXJucycsXG4gICAgICAgICctLW5vSW1wbGljaXRUaGlzJyxcbiAgICAgICAgJy0tb3V0RGlyJywgb3V0cHV0RGlyLFxuICAgICAgICAnLS1yZW1vdmVDb21tZW50cycsXG4gICAgICAgICctLXJlc29sdmVKc29uTW9kdWxlJyxcbiAgICAgICAgJy0tdGFyZ2V0JywgJ0VTTmV4dCcsXG4gICAgICAgICctLXR5cGVSb290cycsIFsnbm9kZV9tb2R1bGVzL0B0eXBlcycsICdub2RlX21vZHVsZXMvanNvbi1kLXRzJ11cbiAgICAgIF07XG5cbiAgICAvLyBTdGFydCB0eXBlIGNoZWNraW5nIHNwaW5uZXJcbiAgICBzcGlubmVyLnN0YXJ0KCdTdGF0aWMgdHlwZSBjaGVja2luZyB3aXRoIFR5cGVzY3JpcHQuLi4nKTtcblxuICAgIC8vIFR5cGUgY2hlY2tpbmdcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZXhlY2EodHlwZXNjcmlwdFBhdGgsIHR5cGVzY3JpcHRPcHRpb25zLCB7ZW5jb2Rpbmc6ICd1dGY4J30pO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuc3VjY2VlZCgnU3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCB0eXBlIGNoZWNraW5nIScpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuZmFpbCgnVHlwZSBjaGVja2luZyBmYWlsZWQuJyk7XG5cbiAgICAgIC8vIEtpbGwgUHJvY2Vzc1xuICAgICAgY2FsbGJhY2soMSk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvLyBTb3VyY2UgZmlsZXNcbiAgY29uc3QgZ2xvYk9wdGlvbnMgPSB7XG4gICAgY3dkOiBzb3VyY2VEaXIsXG4gICAgZG90OiBmYWxzZSxcbiAgICBub2RpcjogdHJ1ZSxcbiAgICBub3NvcnQ6IHRydWVcbiAgfTtcbiAgY29uc3QgdHNGaWxlczogc3RyaW5nW10gPSBnbG9iU3luYyhgJHtzb3VyY2VEaXJ9LyoqLyEoKi5zcGVjfCoudGVzdCkudHMqYCwgZ2xvYk9wdGlvbnMpO1xuICBjb25zdCBqc0ZpbGVzOiBzdHJpbmdbXSA9IGdsb2JTeW5jKGAke3NvdXJjZURpcn0vKiovISgqLnNwZWN8Ki50ZXN0KS5qc2AsIGdsb2JPcHRpb25zKTtcbiAgY29uc3Qgc291cmNlRmlsZXM6IHN0cmluZ1tdID0gWy4uLnRzRmlsZXMsIC4uLmpzRmlsZXNdO1xuXG4gIC8vIEVTQnVpbGQgb3B0aW9uc1xuICBjb25zdCBlc2J1aWxkUGF0aDogc3RyaW5nID0gcmVsYXRpdmVOb2RlUGF0aCgnZXNidWlsZC9iaW4vZXNidWlsZCcsIGRpclBhdGgpO1xuICBjb25zdCBlc2J1aWxkT3B0aW9uczogc3RyaW5nW10gPSBbXG4gICAgLi4uc291cmNlRmlsZXMsXG4gICAgJy0tY29sb3I9dHJ1ZScsXG4gICAgJy0tZm9ybWF0PWNqcycsXG4gICAgYC0tb3V0ZGlyPSR7b3V0cHV0RGlyfWAsXG4gICAgJy0tcGxhdGZvcm09bm9kZScsXG4gICAgJy0tc291cmNlbWFwPWlubGluZScsXG4gICAgJy0tdGFyZ2V0PW5vZGUyMCdcbiAgXTtcblxuICBpZih3YXRjaCkge1xuICAgIGVzYnVpbGRPcHRpb25zLnB1c2goJy0td2F0Y2gnKTtcbiAgfVxuXG4gIC8vIFVzZSBQb3N0Q1NTIGZvciBDU1MgZmlsZXNcbiAgY29uc3QgY3NzRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLmNzcycsIExleENvbmZpZy5jb25maWcpO1xuXG4gIGlmKGNzc0ZpbGVzLmxlbmd0aCkge1xuICAgIGNvbnN0IHBvc3Rjc3NQYXRoOiBzdHJpbmcgPSByZWxhdGl2ZU5vZGVQYXRoKCdwb3N0Y3NzLWNsaS9pbmRleC5qcycsIGRpclBhdGgpO1xuICAgIGNvbnN0IHBvc3Rjc3NPcHRpb25zOiBzdHJpbmdbXSA9IFtcbiAgICAgIGAke3NvdXJjZURpcn0vKiovKiouY3NzYCxcbiAgICAgICctLWJhc2UnLFxuICAgICAgc291cmNlRGlyLFxuICAgICAgJy0tZGlyJyxcbiAgICAgIG91dHB1dERpcixcbiAgICAgICctLWNvbmZpZycsXG4gICAgICBwYXRoUmVzb2x2ZShkaXJOYW1lLCAnLi4vLi4vLnBvc3Rjc3NyYy5qcycpXG4gICAgXTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBleGVjYShwb3N0Y3NzUGF0aCwgcG9zdGNzc09wdGlvbnMsIHtlbmNvZGluZzogJ3V0ZjgnfSk7XG4gICAgICBzcGlubmVyLnN1Y2NlZWQoYFN1Y2Nlc3NmdWxseSBmb3JtYXR0ZWQgJHtjc3NGaWxlcy5sZW5ndGh9IGNzcyBmaWxlcyFgKTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCBmb3JtYXR0aW5nIGNzcy4nKTtcblxuICAgICAgLy8gS2lsbCBQcm9jZXNzXG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvcHkgaW1hZ2UgZmlsZXNcbiAgY29uc3QgZ2lmRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLmdpZicsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCBqcGdGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcuanBnJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IHBuZ0ZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5wbmcnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3Qgc3ZnRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLnN2ZycsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCBpbWFnZUZpbGVzOiBzdHJpbmdbXSA9IFsuLi5naWZGaWxlcywgLi4uanBnRmlsZXMsIC4uLnBuZ0ZpbGVzLCAuLi5zdmdGaWxlc107XG5cbiAgaWYoaW1hZ2VGaWxlcy5sZW5ndGgpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgY29weUZpbGVzKGltYWdlRmlsZXMsICdpbWFnZScsIHNwaW5uZXIsIExleENvbmZpZy5jb25maWcpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIG1vdmUgaW1hZ2VzIHRvIG91dHB1dCBkaXJlY3RvcnkuJyk7XG5cbiAgICAgIC8vIEtpbGwgUHJvY2Vzc1xuICAgICAgY2FsbGJhY2soMSk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvLyBDb3B5IGZvbnQgZmlsZXNcbiAgY29uc3QgdHRmRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLnR0ZicsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCBvdGZGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcub3RmJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IHdvZmZGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcud29mZicsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCB3b2ZmMkZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy53b2ZmMicsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCBmb250RmlsZXM6IHN0cmluZ1tdID0gWy4uLnR0ZkZpbGVzLCAuLi5vdGZGaWxlcywgLi4ud29mZkZpbGVzLCAuLi53b2ZmMkZpbGVzXTtcblxuICBpZihmb250RmlsZXMubGVuZ3RoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvcHlGaWxlcyhmb250RmlsZXMsICdmb250Jywgc3Bpbm5lciwgTGV4Q29uZmlnLmNvbmZpZyk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gbW92ZSBmb250cyB0byBvdXRwdXQgZGlyZWN0b3J5LicpO1xuXG4gICAgICAvLyBLaWxsIFByb2Nlc3NcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29weSBtYXJrZG93biBmaWxlc1xuICBjb25zdCBtZEZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5tZCcsIExleENvbmZpZy5jb25maWcpO1xuXG4gIGlmKG1kRmlsZXMubGVuZ3RoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvcHlGaWxlcyhtZEZpbGVzLCAnZG9jdW1lbnRzJywgc3Bpbm5lciwgTGV4Q29uZmlnLmNvbmZpZyk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gbW92ZSBkb2NzIHRvIG91dHB1dCBkaXJlY3RvcnkuJyk7XG5cbiAgICAgIC8vIEtpbGwgUHJvY2Vzc1xuICAgICAgY2FsbGJhY2soMSk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvLyBTdGFydCBjb21waWxlIHNwaW5uZXJcbiAgc3Bpbm5lci5zdGFydCh3YXRjaCA/ICdXYXRjaGluZyBmb3IgY2hhbmdlcy4uLicgOiAnQ29tcGlsaW5nIHdpdGggRVNCdWlsZC4uLicpO1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlY2EoZXNidWlsZFBhdGgsIGVzYnVpbGRPcHRpb25zLCB7ZW5jb2Rpbmc6ICd1dGY4J30pO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdDb21waWxlIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICBpZighcXVpZXQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIHNwaW5uZXIuZmFpbCgnQ29kZSBjb21waWxpbmcgZmFpbGVkLicpO1xuXG4gICAgLy8gS2lsbCBQcm9jZXNzXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICAvLyBTdG9wIHByb2Nlc3NcbiAgY2FsbGJhY2soMCk7XG4gIHJldHVybiAwO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsYUFBWTtBQUNwQixTQUFRLFlBQVksV0FBVyxtQkFBa0I7QUFDakQsU0FBUSxRQUFRLGdCQUFlO0FBQy9CLFNBQVEs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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");
25
- break;
26
- case "webpack":
27
- configOptions = import("../../webpack.config");
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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvbmZpZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7d3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHN0YXJ0Q2FzZSBmcm9tICdsb2Rhc2gvc3RhcnRDYXNlLmpzJztcbmltcG9ydCB7cmVsYXRpdmUgYXMgcGF0aFJlbGF0aXZlfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXJ9IGZyb20gJy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGNvbnN0IGNvbmZpZyA9IGFzeW5jICh0eXBlOiBzdHJpbmcsIGNtZDogYW55LCBjYWxsYmFjazogYW55ID0gKCkgPT4gKHt9KSk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtjbGlOYW1lID0gJ0xleCcsIGpzb24sIHF1aWV0fSA9IGNtZDtcbiAgY29uc3QgdmFsaWRUeXBlczogc3RyaW5nW10gPSBbJ2FwcCcsICdqZXN0JywgJ3dlYnBhY2snXTtcblxuICBpZighdmFsaWRUeXBlcy5pbmNsdWRlcyh0eXBlKSkge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogT3B0aW9uIGZvciAke3R5cGV9IG5vdCBmb3VuZC4gQ29uZmlndXJhdGlvbnMgb25seSBhdmFpbGFibGUgZm9yIGFwcCwgamVzdCwgYW5kIHdlYnBhY2suYCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMSk7XG4gIH1cblxuICAvLyBEaXNwbGF5IHN0YXR1c1xuICBsb2coYCR7Y2xpTmFtZX0gZ2VuZXJhdGluZyBjb25maWd1cmF0aW9uIGZvciAke3N0YXJ0Q2FzZSh0eXBlKX0uLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgbGV0IGNvbmZpZ09wdGlvbnM7XG5cbiAgc3dpdGNoKHR5cGUpIHtcbiAgICBjYXNlICdhcHAnOlxuICAgICAgY29uZmlnT3B0aW9ucyA9IExleENvbmZpZy5jb25maWc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdqZXN0JzpcbiAgICAgIGNvbmZpZ09wdGlvbnMgPSBpbXBvcnQoJy4uLy4uL2plc3QuY29uZmlnLmxleCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnd2VicGFjayc6XG4gICAgICBjb25maWdPcHRpb25zID0gaW1wb3J0KCcuLi8uLi93ZWJwYWNrLmNvbmZpZycpO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICAvLyBPdXRwdXQgY29uZmlnIHRvIGNvbnNvbGVcbiAgY29uc3QganNvbk91dHB1dDogc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoY29uZmlnT3B0aW9ucywgbnVsbCwgMik7XG5cbiAgaWYoanNvbikge1xuICAgIC8vIFNwaW5uZXJcbiAgICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgICAvLyBTdGFydCBzcGlubmVyXG4gICAgc3Bpbm5lci5zdGFydCgnQ3JlYXRpbmcgSlNPTiBvdXRwdXQuLi4nKTtcblxuICAgIC8vIFNhdmUganNvbiBsb2NhbGx5XG4gICAgd3JpdGVGaWxlU3luYyhqc29uLCBqc29uT3V0cHV0KTtcblxuICAgIC8vIFN1Y2Nlc3Mgc3Bpbm5lclxuICAgIHNwaW5uZXIuc3VjY2VlZChgU3VjY2Vzc2Z1bGx5IHNhdmVkIEpTT04gb3V0cHV0IHRvICR7cGF0aFJlbGF0aXZlKHByb2Nlc3MuY3dkKCksIGpzb24pfWApO1xuICB9XG5cbiAgY2FsbGJhY2soMCk7XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoMCk7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxxQkFBb0I7QUFDNUIsT0FBTyxlQUFlO0FBQ3RCLFNBQVEsWUFBWSxvQkFBbUI7QUFFdkMsU0FBUSxpQkFBZ0I7QUFDeEIsU0FBUSxxQkFBb0I7QUFDNUIsU0FBUSxXQUFVO0FBRVgsTUFBTSxTQUFTLE9BQU8sTUFBYyxLQUFVLFdBQWdCLE9BQU8sQ0FBQyxPQUF3QjtBQUNuRyxRQUFNLEVBQUMsVUFBVSxPQUFPLE1BQU0sTUFBSyxJQUFJO0FBQ3ZDLFFBQU0sYUFBdUIsQ0FBQyxPQUFPLFFBQVEsU0FBUztBQUV0RCxNQUFHLENBQUMsV0FBVyxTQUFTLElBQUksR0FBRztBQUM3QixRQUFJO0FBQUEsRUFBSyxPQUFPLHNCQUFzQixJQUFJLHlFQUF5RSxTQUFTLEtBQUs7QUFDakksYUFBUyxDQUFDO0FBQ1YsV0FBTyxRQUFRLFFBQVEsQ0FBQztBQUFBLEVBQzFCO0FBR0EsTUFBSSxHQUFHLE9BQU8saUNBQWlDLFVBQVUsSUFBSSxDQUFDLE9BQU8sUUFBUSxLQUFLO0FBR2xGLFFBQU0sVUFBVSxZQUFZLEdBQUc7QUFFL0IsTUFBSTtBQUVKLFVBQU8sTUFBTTtBQUFBLElBQ1gsS0FBSztBQUNILHNCQUFnQixVQUFVO0FBQzFCO0FBQUEsSUFDRixLQUFLO0FBQ0gsc0JBQWdCLE9BQU8sdUJBQXVCO0FBQzlDO0FBQUEsSUFDRixLQUFLO0FBQ0gsc0JBQWdCLE9BQU8sc0JBQXNCO0FBQzdDO0FBQUEsRUFDSjtBQUdBLFFBQU0sYUFBcUIsS0FBSyxVQUFVLGVBQWUsTUFBTSxDQUFDO0FBRWhFLE1BQUcsTUFBTTtBQUVQLFVBQU0sVUFBVSxjQUFjLEtBQUs7QUFHbkMsWUFBUSxNQUFNLHlCQUF5QjtBQUd2QyxrQkFBYyxNQUFNLFVBQVU7QUFHOUIsWUFBUSxRQUFRLHFDQUFxQyxhQUFhLFFBQVEsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO0FBQUEsRUFDMUY7QUFFQSxXQUFTLENBQUM7QUFDVixTQUFPLFFBQVEsUUFBUSxDQUFDO0FBQzFCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvcHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4aXN0c1N5bmMsIGxzdGF0U3luY30gZnJvbSAnZnMnO1xuXG5pbXBvcnQge2NvcHlGaWxlU3luYywgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmN9IGZyb20gJy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGNvbnN0IGNvcHkgPSAoZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nLCBjbWQ6IGFueSwgY2FsbGJhY2s6IGFueSA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBxdWlldH0gPSBjbWQ7XG5cbiAgLy8gRGlzcGxheSBtZXNzYWdlXG4gIGxvZyhgJHtjbGlOYW1lfSBjb3B5aW5nIFwiJHt0b31cIi4uLmAsICdpbmZvJywgcXVpZXQpO1xuXG4gIGlmKCFleGlzdHNTeW5jKGZyb20pKSB7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBQYXRoIG5vdCBmb3VuZCwgXCIke2Zyb219XCIuLi5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxKTtcbiAgfVxuXG4gIGlmKGxzdGF0U3luYyhmcm9tKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIENvcHkgZGlyZWN0b3J5XG4gICAgICBjb3B5Rm9sZGVyUmVjdXJzaXZlU3luYyhmcm9tLCB0byk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBDYW5ub3QgY29weSBcIiR7ZnJvbX1cIi4gJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIENvcHkgZmlsZVxuICAgICAgY29weUZpbGVTeW5jKGZyb20sIHRvKTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IENhbm5vdCBjb3B5IFwiJHtmcm9tfVwiICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMSk7XG4gICAgfVxuICB9XG5cbiAgY2FsbGJhY2soMCk7XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoMCk7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxZQUFZLGlCQUFnQjtBQUVwQyxTQUFRLGNBQWMsK0JBQThCO0FBQ3BELFNBQVEsV0FBVTtBQUVYLE1BQU0sT0FBTyxDQUFDLE1BQWMsSUFBWSxLQUFVLFdBQWdCLE9BQU8sQ0FBQyxPQUF3QjtBQUN2RyxRQUFNLEVBQUMsVUFBVSxPQUFPLE1BQUssSUFBSTtBQUdqQyxNQUFJLEdBQUcsT0FBTyxhQUFhLEVBQUUsUUFBUSxRQUFRLEtBQUs7QUFFbEQsTUFBRyxDQUFDLFdBQVcsSUFBSSxHQUFHO0FBQ3BCLFFBQUk7QUFBQSxFQUFLLE9BQU8sNEJBQTRCLElBQUksUUFBUSxTQUFTLEtBQUs7QUFDdEUsYUFBUyxDQUFDO0FBQ1YsV0FBTyxRQUFRLFFBQVEsQ0FBQztBQUFBLEVBQzFCO0FBRUEsTUFBRyxVQUFVLElBQUksRUFBRSxZQUFZLEdBQUc7QUFDaEMsUUFBSTtBQUVGLDhCQUF3QixNQUFNLEVBQUU7QUFBQSxJQUNsQyxTQUFRLE9BQU87QUFDYixVQUFJO0FBQUEsRUFBSyxPQUFPLHdCQUF3QixJQUFJLE1BQU0sTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLO0FBQ2pGLGVBQVMsQ0FBQztBQUNWLGFBQU8sUUFBUSxRQUFRLENBQUM7QUFBQSxJQUMxQjtBQUFBLEVBQ0YsT0FBTztBQUNMLFFBQUk7QUFFRixtQkFBYSxNQUFNLEVBQUU7QUFBQSxJQUN2QixTQUFRLE9BQU87QUFDYixVQUFJO0FBQUEsRUFBSyxPQUFPLHdCQUF3QixJQUFJLEtBQUssTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLO0FBQ2hGLGVBQVMsQ0FBQztBQUNWLGFBQU8sUUFBUSxRQUFRLENBQUM7QUFBQSxJQUMxQjtBQUFBLEVBQ0Y7QUFFQSxXQUFTLENBQUM7QUFDVixTQUFPLFFBQVEsUUFBUSxDQUFDO0FBQzFCOyIsCiAgIm5hbWVzIjogW10KfQo=