@nlabs/lex 1.49.5 → 1.50.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 (52) hide show
  1. package/.swcrc +35 -0
  2. package/README.md +43 -59
  3. package/config.json +32 -8
  4. package/examples/lex.config.js +110 -10
  5. package/lex.config.js +34 -7
  6. package/lib/Button.stories.js +99 -0
  7. package/lib/LexConfig.d.ts +60 -22
  8. package/lib/LexConfig.js +285 -244
  9. package/lib/commands/ai/ai.js +287 -288
  10. package/lib/commands/ai/index.js +8 -7
  11. package/lib/commands/build/build.d.ts +2 -2
  12. package/lib/commands/build/build.js +349 -458
  13. package/lib/commands/clean/clean.js +45 -33
  14. package/lib/commands/compile/compile.js +214 -228
  15. package/lib/commands/config/config.js +46 -42
  16. package/lib/commands/copy/copy.js +36 -35
  17. package/lib/commands/create/create.js +200 -121
  18. package/lib/commands/dev/dev.d.ts +1 -0
  19. package/lib/commands/dev/dev.js +261 -259
  20. package/lib/commands/init/init.js +108 -88
  21. package/lib/commands/link/link.js +18 -14
  22. package/lib/commands/lint/lint.js +735 -742
  23. package/lib/commands/migrate/migrate.js +49 -36
  24. package/lib/commands/publish/publish.js +116 -96
  25. package/lib/commands/serverless/serverless.js +611 -585
  26. package/lib/commands/storybook/storybook.js +242 -238
  27. package/lib/commands/test/test.js +381 -409
  28. package/lib/commands/update/update.js +141 -120
  29. package/lib/commands/upgrade/upgrade.js +51 -44
  30. package/lib/commands/versions/versions.d.ts +1 -1
  31. package/lib/commands/versions/versions.js +36 -38
  32. package/lib/create/changelog.js +136 -125
  33. package/lib/index.js +40 -38
  34. package/lib/lex.js +95 -68
  35. package/lib/storybook/index.js +6 -1
  36. package/lib/test-react/index.js +7 -84
  37. package/lib/types.d.ts +1 -1
  38. package/lib/types.js +7 -1
  39. package/lib/utils/aiService.js +240 -227
  40. package/lib/utils/app.js +274 -273
  41. package/lib/utils/deepMerge.js +37 -23
  42. package/lib/utils/file.js +218 -215
  43. package/lib/utils/log.js +29 -27
  44. package/lib/utils/reactShim.js +7 -85
  45. package/lib/utils/translations.js +92 -82
  46. package/package.json +63 -64
  47. package/templates/typescript/DataLayer.js.txt +218 -0
  48. package/templates/typescript/DataLayer.test.js.txt +268 -0
  49. package/templates/typescript/DataLayer.test.ts.txt +269 -0
  50. package/templates/typescript/DataLayer.ts.txt +227 -0
  51. package/webpack.config.js +38 -28
  52. package/lib/commands/lint/autofix.d.ts +0 -2
@@ -1,37 +1,49 @@
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
- if (spinner) {
10
- spinner.start("Cleaning files...");
11
- }
12
- try {
13
- await removeModules();
14
- await removeFiles("./coverage", true);
15
- await removeFiles("./npm-debug.log", true);
16
- if (snapshots) {
17
- await removeFiles("./**/__snapshots__", true);
18
- }
1
+ /**
2
+ * Copyright (c) 2018-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { LexConfig } from '../../LexConfig.js';
5
+ import { createSpinner, removeFiles, removeModules } from '../../utils/app.js';
6
+ import { log } from '../../utils/log.js';
7
+ export const clean = async (cmd, callback = (_status)=>({}))=>{
8
+ const { cliName = 'Lex', quiet, snapshots } = cmd;
9
+ // Spinner
10
+ const spinner = createSpinner(quiet);
11
+ // Display status
12
+ log(`${cliName} cleaning directory...`, 'info', quiet);
13
+ // Get custom configuration
14
+ await LexConfig.parseConfig(cmd);
15
+ // Start cleaning spinner
19
16
  if (spinner) {
20
- spinner.succeed("Successfully cleaned!");
17
+ spinner.start('Cleaning files...');
21
18
  }
22
- callback(0);
23
- return 0;
24
- } catch (error) {
25
- log(`
26
- ${cliName} Error: ${error.message}`, "error", quiet);
27
- if (spinner) {
28
- spinner.fail("Failed to clean project.");
19
+ try {
20
+ // Remove node_modules
21
+ await removeModules();
22
+ // Remove test coverage reports
23
+ await removeFiles('./coverage', true);
24
+ // Remove npm logs
25
+ await removeFiles('./npm-debug.log', true);
26
+ if (snapshots) {
27
+ await removeFiles('./**/__snapshots__', true);
28
+ }
29
+ // Stop spinner
30
+ if (spinner) {
31
+ spinner.succeed('Successfully cleaned!');
32
+ }
33
+ // Stop process
34
+ callback(0);
35
+ return 0;
36
+ } catch (error) {
37
+ // Display error message
38
+ log(`\n${cliName} Error: ${error.message}`, 'error', quiet);
39
+ // Stop spinner
40
+ if (spinner) {
41
+ spinner.fail('Failed to clean project.');
42
+ }
43
+ // Kill process
44
+ callback(1);
45
+ return 1;
29
46
  }
30
- callback(1);
31
- return 1;
32
- }
33
- };
34
- export {
35
- clean
36
47
  };
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NsZWFuL2NsZWFuLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uLy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIHJlbW92ZUZpbGVzLCByZW1vdmVNb2R1bGVzfSBmcm9tICcuLi8uLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uLy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5PcHRpb25zIHtcbiAgcmVhZG9ubHkgY2xpTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuICByZWFkb25seSBzbmFwc2hvdHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDbGVhbkNhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgY29uc3QgY2xlYW4gPSBhc3luYyAoY21kOiBDbGVhbk9wdGlvbnMsIGNhbGxiYWNrOiBDbGVhbkNhbGxiYWNrID0gKF9zdGF0dXM6IG51bWJlcikgPT4gKHt9KSk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtjbGlOYW1lID0gJ0xleCcsIHF1aWV0LCBzbmFwc2hvdHN9ID0gY21kO1xuXG4gIC8vIFNwaW5uZXJcbiAgY29uc3Qgc3Bpbm5lciA9IGNyZWF0ZVNwaW5uZXIocXVpZXQpO1xuXG4gIC8vIERpc3BsYXkgc3RhdHVzXG4gIGxvZyhgJHtjbGlOYW1lfSBjbGVhbmluZyBkaXJlY3RvcnkuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgLy8gU3RhcnQgY2xlYW5pbmcgc3Bpbm5lclxuICBpZihzcGlubmVyKSB7XG4gICAgc3Bpbm5lci5zdGFydCgnQ2xlYW5pbmcgZmlsZXMuLi4nKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gUmVtb3ZlIG5vZGVfbW9kdWxlc1xuICAgIGF3YWl0IHJlbW92ZU1vZHVsZXMoKTtcblxuICAgIC8vIFJlbW92ZSB0ZXN0IGNvdmVyYWdlIHJlcG9ydHNcbiAgICBhd2FpdCByZW1vdmVGaWxlcygnLi9jb3ZlcmFnZScsIHRydWUpO1xuXG4gICAgLy8gUmVtb3ZlIG5wbSBsb2dzXG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy4vbnBtLWRlYnVnLmxvZycsIHRydWUpO1xuXG4gICAgaWYoc25hcHNob3RzKSB7XG4gICAgICBhd2FpdCByZW1vdmVGaWxlcygnLi8qKi9fX3NuYXBzaG90c19fJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgaWYoc3Bpbm5lcikge1xuICAgICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgY2xlYW5lZCEnKTtcbiAgICB9XG5cbiAgICAvLyBTdG9wIHByb2Nlc3NcbiAgICBjYWxsYmFjaygwKTtcbiAgICByZXR1cm4gMDtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICBpZihzcGlubmVyKSB7XG4gICAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byBjbGVhbiBwcm9qZWN0LicpO1xuICAgIH1cblxuICAgIC8vIEtpbGwgcHJvY2Vzc1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiAxO1xuICB9XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsaUJBQWdCO0FBQ3hCLFNBQVEsZUFBZSxhQUFhLHFCQUFvQjtBQUN4RCxTQUFRLFdBQVU7QUFVWCxNQUFNLFFBQVEsT0FBTyxLQUFtQixXQUEwQixDQUFDLGFBQXFCLENBQUMsT0FBd0I7QUFDdEgsUUFBTSxFQUFDLFVBQVUsT0FBTyxPQUFPLFVBQVMsSUFBSTtBQUc1QyxRQUFNLFVBQVUsY0FBYyxLQUFLO0FBR25DLE1BQUksR0FBRyxPQUFPLDBCQUEwQixRQUFRLEtBQUs7QUFHckQsUUFBTSxVQUFVLFlBQVksR0FBRztBQUcvQixNQUFHLFNBQVM7QUFDVixZQUFRLE1BQU0sbUJBQW1CO0FBQUEsRUFDbkM7QUFFQSxNQUFJO0FBRUYsVUFBTSxjQUFjO0FBR3BCLFVBQU0sWUFBWSxjQUFjLElBQUk7QUFHcEMsVUFBTSxZQUFZLG1CQUFtQixJQUFJO0FBRXpDLFFBQUcsV0FBVztBQUNaLFlBQU0sWUFBWSxzQkFBc0IsSUFBSTtBQUFBLElBQzlDO0FBR0EsUUFBRyxTQUFTO0FBQ1YsY0FBUSxRQUFRLHVCQUF1QjtBQUFBLElBQ3pDO0FBR0EsYUFBUyxDQUFDO0FBQ1YsV0FBTztBQUFBLEVBQ1QsU0FBUyxPQUFPO0FBRWQsUUFBSTtBQUFBLEVBQUssT0FBTyxXQUFXLE1BQU0sT0FBTyxJQUFJLFNBQVMsS0FBSztBQUcxRCxRQUFHLFNBQVM7QUFDVixjQUFRLEtBQUssMEJBQTBCO0FBQUEsSUFDekM7QUFHQSxhQUFTLENBQUM7QUFDVixXQUFPO0FBQUEsRUFDVDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
48
+
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbGVhbi9jbGVhbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uLy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIHJlbW92ZUZpbGVzLCByZW1vdmVNb2R1bGVzfSBmcm9tICcuLi8uLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uLy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5PcHRpb25zIHtcbiAgcmVhZG9ubHkgY2xpTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuICByZWFkb25seSBzbmFwc2hvdHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDbGVhbkNhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgY29uc3QgY2xlYW4gPSBhc3luYyAoY21kOiBDbGVhbk9wdGlvbnMsIGNhbGxiYWNrOiBDbGVhbkNhbGxiYWNrID0gKF9zdGF0dXM6IG51bWJlcikgPT4gKHt9KSk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtjbGlOYW1lID0gJ0xleCcsIHF1aWV0LCBzbmFwc2hvdHN9ID0gY21kO1xuXG4gIC8vIFNwaW5uZXJcbiAgY29uc3Qgc3Bpbm5lciA9IGNyZWF0ZVNwaW5uZXIocXVpZXQpO1xuXG4gIC8vIERpc3BsYXkgc3RhdHVzXG4gIGxvZyhgJHtjbGlOYW1lfSBjbGVhbmluZyBkaXJlY3RvcnkuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgLy8gU3RhcnQgY2xlYW5pbmcgc3Bpbm5lclxuICBpZihzcGlubmVyKSB7XG4gICAgc3Bpbm5lci5zdGFydCgnQ2xlYW5pbmcgZmlsZXMuLi4nKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gUmVtb3ZlIG5vZGVfbW9kdWxlc1xuICAgIGF3YWl0IHJlbW92ZU1vZHVsZXMoKTtcblxuICAgIC8vIFJlbW92ZSB0ZXN0IGNvdmVyYWdlIHJlcG9ydHNcbiAgICBhd2FpdCByZW1vdmVGaWxlcygnLi9jb3ZlcmFnZScsIHRydWUpO1xuXG4gICAgLy8gUmVtb3ZlIG5wbSBsb2dzXG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy4vbnBtLWRlYnVnLmxvZycsIHRydWUpO1xuXG4gICAgaWYoc25hcHNob3RzKSB7XG4gICAgICBhd2FpdCByZW1vdmVGaWxlcygnLi8qKi9fX3NuYXBzaG90c19fJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgaWYoc3Bpbm5lcikge1xuICAgICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgY2xlYW5lZCEnKTtcbiAgICB9XG5cbiAgICAvLyBTdG9wIHByb2Nlc3NcbiAgICBjYWxsYmFjaygwKTtcbiAgICByZXR1cm4gMDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIGlmKHNwaW5uZXIpIHtcbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIGNsZWFuIHByb2plY3QuJyk7XG4gICAgfVxuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn07Il0sIm5hbWVzIjpbIkxleENvbmZpZyIsImNyZWF0ZVNwaW5uZXIiLCJyZW1vdmVGaWxlcyIsInJlbW92ZU1vZHVsZXMiLCJsb2ciLCJjbGVhbiIsImNtZCIsImNhbGxiYWNrIiwiX3N0YXR1cyIsImNsaU5hbWUiLCJxdWlldCIsInNuYXBzaG90cyIsInNwaW5uZXIiLCJwYXJzZUNvbmZpZyIsInN0YXJ0Iiwic3VjY2VlZCIsImVycm9yIiwibWVzc2FnZSIsImZhaWwiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLFNBQVMsUUFBTyxxQkFBcUI7QUFDN0MsU0FBUUMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLGFBQWEsUUFBTyxxQkFBcUI7QUFDN0UsU0FBUUMsR0FBRyxRQUFPLHFCQUFxQjtBQVV2QyxPQUFPLE1BQU1DLFFBQVEsT0FBT0MsS0FBbUJDLFdBQTBCLENBQUNDLFVBQXFCLENBQUEsQ0FBQyxDQUFBLENBQUU7SUFDaEcsTUFBTSxFQUFDQyxVQUFVLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxTQUFTLEVBQUMsR0FBR0w7SUFFNUMsVUFBVTtJQUNWLE1BQU1NLFVBQVVYLGNBQWNTO0lBRTlCLGlCQUFpQjtJQUNqQk4sSUFBSSxHQUFHSyxRQUFRLHNCQUFzQixDQUFDLEVBQUUsUUFBUUM7SUFFaEQsMkJBQTJCO0lBQzNCLE1BQU1WLFVBQVVhLFdBQVcsQ0FBQ1A7SUFFNUIseUJBQXlCO0lBQ3pCLElBQUdNLFNBQVM7UUFDVkEsUUFBUUUsS0FBSyxDQUFDO0lBQ2hCO0lBRUEsSUFBSTtRQUNGLHNCQUFzQjtRQUN0QixNQUFNWDtRQUVOLCtCQUErQjtRQUMvQixNQUFNRCxZQUFZLGNBQWM7UUFFaEMsa0JBQWtCO1FBQ2xCLE1BQU1BLFlBQVksbUJBQW1CO1FBRXJDLElBQUdTLFdBQVc7WUFDWixNQUFNVCxZQUFZLHNCQUFzQjtRQUMxQztRQUVBLGVBQWU7UUFDZixJQUFHVSxTQUFTO1lBQ1ZBLFFBQVFHLE9BQU8sQ0FBQztRQUNsQjtRQUVBLGVBQWU7UUFDZlIsU0FBUztRQUNULE9BQU87SUFDVCxFQUFFLE9BQU1TLE9BQU87UUFDYix3QkFBd0I7UUFDeEJaLElBQUksQ0FBQyxFQUFFLEVBQUVLLFFBQVEsUUFBUSxFQUFFTyxNQUFNQyxPQUFPLEVBQUUsRUFBRSxTQUFTUDtRQUVyRCxlQUFlO1FBQ2YsSUFBR0UsU0FBUztZQUNWQSxRQUFRTSxJQUFJLENBQUM7UUFDZjtRQUVBLGVBQWU7UUFDZlgsU0FBUztRQUNULE9BQU87SUFDVDtBQUNGLEVBQUUifQ==