@nlabs/lex 1.46.2 → 1.47.1

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 (149) 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.d.ts +79 -0
  10. package/dist/LexConfig.js +83 -15
  11. package/dist/commands/ai/ai.d.ts +17 -0
  12. package/dist/commands/ai/ai.js +303 -0
  13. package/dist/commands/ai/index.d.ts +8 -0
  14. package/dist/commands/ai/index.js +7 -0
  15. package/dist/commands/build/build.cli.test.d.ts +5 -0
  16. package/dist/commands/build/build.d.ts +18 -0
  17. package/dist/commands/build/build.integration.test.d.ts +1 -0
  18. package/dist/commands/build/build.js +400 -0
  19. package/dist/commands/build/build.options.test.d.ts +5 -0
  20. package/dist/commands/clean/clean.cli.test.d.ts +1 -0
  21. package/dist/commands/clean/clean.d.ts +7 -0
  22. package/dist/commands/clean/clean.integration.test.d.ts +1 -0
  23. package/dist/commands/clean/clean.js +31 -0
  24. package/dist/commands/clean/clean.options.test.d.ts +1 -0
  25. package/dist/commands/compile/compile.cli.test.d.ts +1 -0
  26. package/dist/commands/compile/compile.d.ts +2 -0
  27. package/dist/commands/compile/compile.integration.test.d.ts +1 -0
  28. package/dist/commands/compile/compile.js +239 -0
  29. package/dist/commands/compile/compile.options.test.d.ts +1 -0
  30. package/dist/commands/config/config.cli.test.d.ts +1 -0
  31. package/dist/commands/config/config.d.ts +7 -0
  32. package/dist/commands/config/config.integration.test.d.ts +1 -0
  33. package/dist/commands/config/config.js +43 -0
  34. package/dist/commands/config/config.options.test.d.ts +1 -0
  35. package/dist/commands/copy/copy.cli.test.d.ts +1 -0
  36. package/dist/commands/copy/copy.d.ts +6 -0
  37. package/dist/commands/copy/copy.integration.test.d.ts +1 -0
  38. package/dist/commands/copy/copy.js +38 -0
  39. package/dist/commands/copy/copy.options.test.d.ts +1 -0
  40. package/dist/commands/create/create.cli.test.d.ts +1 -0
  41. package/dist/commands/create/create.d.ts +8 -0
  42. package/dist/commands/create/create.integration.test.d.ts +1 -0
  43. package/dist/commands/create/create.js +124 -0
  44. package/dist/commands/create/create.options.test.d.ts +1 -0
  45. package/dist/commands/dev/dev.cli.test.d.ts +1 -0
  46. package/dist/commands/dev/dev.d.ts +11 -0
  47. package/dist/commands/dev/dev.integration.test.d.ts +1 -0
  48. package/dist/commands/dev/dev.js +70 -0
  49. package/dist/commands/dev/dev.options.test.d.ts +1 -0
  50. package/dist/commands/init/init.cli.test.d.ts +1 -0
  51. package/dist/commands/init/init.d.ts +9 -0
  52. package/dist/commands/init/init.integration.test.d.ts +1 -0
  53. package/dist/commands/init/init.js +93 -0
  54. package/dist/commands/init/init.options.test.d.ts +1 -0
  55. package/dist/commands/link/link.cli.test.d.ts +1 -0
  56. package/dist/commands/link/link.d.ts +6 -0
  57. package/dist/commands/link/link.integration.test.d.ts +1 -0
  58. package/dist/commands/link/link.js +15 -0
  59. package/dist/commands/link/link.options.test.d.ts +1 -0
  60. package/dist/commands/lint/autofix.d.ts +2 -0
  61. package/dist/commands/lint/lint.cli.test.d.ts +1 -0
  62. package/dist/commands/lint/lint.d.ts +39 -0
  63. package/dist/commands/lint/lint.integration.test.d.ts +1 -0
  64. package/dist/commands/lint/lint.js +820 -0
  65. package/dist/commands/lint/lint.options.test.d.ts +1 -0
  66. package/dist/commands/migrate/migrate.cli.test.d.ts +1 -0
  67. package/dist/commands/migrate/migrate.d.ts +7 -0
  68. package/dist/commands/migrate/migrate.integration.test.d.ts +1 -0
  69. package/dist/commands/migrate/migrate.js +37 -0
  70. package/dist/commands/migrate/migrate.options.test.d.ts +1 -0
  71. package/dist/commands/publish/publish.cli.test.d.ts +1 -0
  72. package/dist/commands/publish/publish.d.ts +12 -0
  73. package/dist/commands/publish/publish.integration.test.d.ts +1 -0
  74. package/dist/commands/publish/publish.js +104 -0
  75. package/dist/commands/publish/publish.options.test.d.ts +1 -0
  76. package/dist/commands/test/test.cli.test.d.ts +1 -0
  77. package/dist/commands/test/test.d.ts +50 -0
  78. package/dist/commands/test/test.integration.test.d.ts +1 -0
  79. package/dist/commands/test/test.js +327 -0
  80. package/dist/commands/test/test.options.test.d.ts +1 -0
  81. package/dist/commands/test/test.test.d.ts +1 -0
  82. package/dist/commands/update/update.cli.test.d.ts +1 -0
  83. package/dist/commands/update/update.d.ts +9 -0
  84. package/dist/commands/update/update.integration.test.d.ts +1 -0
  85. package/dist/commands/update/update.js +131 -0
  86. package/dist/commands/update/update.options.test.d.ts +1 -0
  87. package/dist/commands/upgrade/upgrade.cli.test.d.ts +1 -0
  88. package/dist/commands/upgrade/upgrade.d.ts +7 -0
  89. package/dist/commands/upgrade/upgrade.integration.test.d.ts +1 -0
  90. package/dist/commands/upgrade/upgrade.js +47 -0
  91. package/dist/commands/upgrade/upgrade.options.test.d.ts +1 -0
  92. package/dist/commands/versions/versions.cli.test.d.ts +1 -0
  93. package/dist/commands/versions/versions.d.ts +13 -0
  94. package/dist/commands/versions/versions.integration.test.d.ts +1 -0
  95. package/dist/commands/versions/versions.js +41 -0
  96. package/dist/commands/versions/versions.options.test.d.ts +1 -0
  97. package/dist/create/changelog.d.ts +6 -0
  98. package/dist/create/changelog.js +3 -3
  99. package/dist/index.d.ts +31 -0
  100. package/dist/index.js +35 -0
  101. package/dist/lex.d.ts +2 -0
  102. package/dist/lex.js +25 -22
  103. package/dist/types.d.ts +5 -0
  104. package/dist/types.js +1 -0
  105. package/dist/utils/aiService.d.ts +9 -0
  106. package/dist/utils/aiService.js +299 -0
  107. package/dist/utils/app.d.ts +41 -0
  108. package/dist/utils/app.js +53 -3
  109. package/dist/utils/file.d.ts +3 -0
  110. package/dist/utils/file.js +18 -3
  111. package/dist/utils/log.d.ts +1 -0
  112. package/dist/utils/log.js +2 -1
  113. package/dist/utils/reactShim.d.ts +2 -0
  114. package/dist/utils/reactShim.js +3 -3
  115. package/eslint.config.js +5 -0
  116. package/index.cjs +20 -0
  117. package/jest.config.cjs +31 -27
  118. package/jest.config.lex.d.ts +2 -0
  119. package/jest.config.lex.js +86 -38
  120. package/jest.setup.js +5 -0
  121. package/lex.config.js +50 -0
  122. package/package.json +73 -53
  123. package/{.postcssrc.js → postcss.config.js} +21 -9
  124. package/resolver.cjs +125 -14
  125. package/tsconfig.json +2 -1
  126. package/webpack.config.d.ts +2 -0
  127. package/webpack.config.js +27 -11
  128. package/dist/commands/build.js +0 -265
  129. package/dist/commands/bulid.test.js +0 -317
  130. package/dist/commands/clean.js +0 -31
  131. package/dist/commands/clean.test.js +0 -63
  132. package/dist/commands/compile.js +0 -195
  133. package/dist/commands/compile.test.js +0 -93
  134. package/dist/commands/config.js +0 -43
  135. package/dist/commands/copy.js +0 -38
  136. package/dist/commands/create.js +0 -120
  137. package/dist/commands/dev.js +0 -70
  138. package/dist/commands/init.js +0 -93
  139. package/dist/commands/link.js +0 -15
  140. package/dist/commands/lint.js +0 -179
  141. package/dist/commands/migrate.js +0 -37
  142. package/dist/commands/publish.js +0 -104
  143. package/dist/commands/test.js +0 -190
  144. package/dist/commands/update.js +0 -64
  145. package/dist/commands/upgrade.js +0 -47
  146. package/dist/commands/versions.js +0 -41
  147. package/dist/commands/versions.test.js +0 -49
  148. package/dist/lint.js +0 -11
  149. package/jest.setup.ts +0 -3
@@ -0,0 +1,70 @@
1
+ import { execa } from "execa";
2
+ import { resolve as pathResolve } from "path";
3
+ import { URL } from "url";
4
+ import { LexConfig } from "../../LexConfig.js";
5
+ import { createSpinner, removeFiles } from "../../utils/app.js";
6
+ import { relativeNodePath } from "../../utils/file.js";
7
+ import { log } from "../../utils/log.js";
8
+ const dev = async (cmd, callback = () => ({})) => {
9
+ const { bundleAnalyzer, cliName = "Lex", config, open = false, quiet, remove, variables } = cmd;
10
+ const spinner = createSpinner(quiet);
11
+ log(`${cliName} start development server...`, "info", quiet);
12
+ await LexConfig.parseConfig(cmd);
13
+ const { outputFullPath, useTypescript } = LexConfig.config;
14
+ let variablesObj = { NODE_ENV: "development" };
15
+ if (variables) {
16
+ try {
17
+ variablesObj = JSON.parse(variables);
18
+ } catch (_error) {
19
+ log(`
20
+ ${cliName} Error: Environment variables option is not a valid JSON object.`, "error", quiet);
21
+ callback(1);
22
+ return 1;
23
+ }
24
+ }
25
+ process.env = { ...process.env, ...variablesObj };
26
+ if (useTypescript) {
27
+ LexConfig.checkTypescriptConfig();
28
+ }
29
+ if (remove) {
30
+ spinner.start("Cleaning output directory...");
31
+ await removeFiles(outputFullPath);
32
+ spinner.succeed("Successfully cleaned output directory!");
33
+ }
34
+ const dirName = new URL(".", import.meta.url).pathname;
35
+ const webpackConfig = config || pathResolve(dirName, "../../../webpack.config.js");
36
+ const webpackOptions = [
37
+ "--color",
38
+ "--watch",
39
+ "--config",
40
+ webpackConfig
41
+ ];
42
+ if (bundleAnalyzer) {
43
+ webpackOptions.push("--bundleAnalyzer");
44
+ }
45
+ try {
46
+ const dirPath = pathResolve(dirName, "../../..");
47
+ const webpackPath = relativeNodePath("webpack-cli/bin/cli.js", dirPath);
48
+ await execa(webpackPath, webpackOptions, {
49
+ encoding: "utf8",
50
+ env: {
51
+ LEX_QUIET: quiet,
52
+ WEBPACK_DEV_OPEN: open
53
+ },
54
+ stdio: "inherit"
55
+ });
56
+ spinner.succeed("Development server started.");
57
+ callback(0);
58
+ return 0;
59
+ } catch (error) {
60
+ log(`
61
+ ${cliName} Error: ${error.message}`, "error", quiet);
62
+ spinner.fail("There was an error while running Webpack.");
63
+ callback(1);
64
+ return 1;
65
+ }
66
+ };
67
+ export {
68
+ dev
69
+ };
70
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2Rldi9kZXYudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge3Jlc29sdmUgYXMgcGF0aFJlc29sdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtVUkx9IGZyb20gJ3VybCc7XG5cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi8uLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjcmVhdGVTcGlubmVyLCByZW1vdmVGaWxlc30gZnJvbSAnLi4vLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7cmVsYXRpdmVOb2RlUGF0aH0gZnJvbSAnLi4vLi4vdXRpbHMvZmlsZS5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBEZXZPcHRpb25zIHtcbiAgcmVhZG9ubHkgYnVuZGxlQW5hbHl6ZXI/OiBib29sZWFuO1xuICByZWFkb25seSBjbGlOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBjb25maWc/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9wZW4/OiBib29sZWFuO1xuICByZWFkb25seSBxdWlldD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHJlbW92ZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHZhcmlhYmxlcz86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgRGV2Q2FsbGJhY2sgPSAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBkZXYgPSBhc3luYyAoY21kOiBEZXZPcHRpb25zLCBjYWxsYmFjazogRGV2Q2FsbGJhY2sgPSAoKSA9PiAoe30pKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2J1bmRsZUFuYWx5emVyLCBjbGlOYW1lID0gJ0xleCcsIGNvbmZpZywgb3BlbiA9IGZhbHNlLCBxdWlldCwgcmVtb3ZlLCB2YXJpYWJsZXN9ID0gY21kO1xuXG4gIC8vIFNwaW5uZXJcbiAgY29uc3Qgc3Bpbm5lciA9IGNyZWF0ZVNwaW5uZXIocXVpZXQpO1xuXG4gIC8vIERpc3BsYXkgc3RhdHVzXG4gIGxvZyhgJHtjbGlOYW1lfSBzdGFydCBkZXZlbG9wbWVudCBzZXJ2ZXIuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgY29uc3Qge291dHB1dEZ1bGxQYXRoLCB1c2VUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG5cbiAgLy8gU2V0IG5vZGUgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4gIGxldCB2YXJpYWJsZXNPYmo6IG9iamVjdCA9IHtOT0RFX0VOVjogJ2RldmVsb3BtZW50J307XG5cbiAgaWYodmFyaWFibGVzKSB7XG4gICAgdHJ5IHtcbiAgICAgIHZhcmlhYmxlc09iaiA9IEpTT04ucGFyc2UodmFyaWFibGVzKTtcbiAgICB9IGNhdGNoKF9lcnJvcikge1xuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIEpTT04gb2JqZWN0LmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgcHJvY2Vzcy5lbnYgPSB7Li4ucHJvY2Vzcy5lbnYsIC4uLnZhcmlhYmxlc09ian07XG5cbiAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgIC8vIE1ha2Ugc3VyZSB0c2NvbmZpZy5qc29uIGV4aXN0c1xuICAgIExleENvbmZpZy5jaGVja1R5cGVzY3JpcHRDb25maWcoKTtcbiAgfVxuXG4gIC8vIENsZWFuIG91dHB1dCBkaXJlY3RvcnkgYmVmb3JlIHdlIHN0YXJ0IGFkZGluZyBpbiBuZXcgZmlsZXNcbiAgaWYocmVtb3ZlKSB7XG4gICAgLy8gU3RhcnQgY2xlYW5pbmcgc3Bpbm5lclxuICAgIHNwaW5uZXIuc3RhcnQoJ0NsZWFuaW5nIG91dHB1dCBkaXJlY3RvcnkuLi4nKTtcblxuICAgIC8vIENsZWFuXG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMob3V0cHV0RnVsbFBhdGgpO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgY2xlYW5lZCBvdXRwdXQgZGlyZWN0b3J5IScpO1xuICB9XG5cbiAgLy8gR2V0IGN1c3RvbSB3ZWJwYWNrIGNvbmZpZ3VyYXRpb24gZmlsZVxuICBjb25zdCBkaXJOYW1lID0gbmV3IFVSTCgnLicsIGltcG9ydC5tZXRhLnVybCkucGF0aG5hbWU7XG4gIGNvbnN0IHdlYnBhY2tDb25maWc6IHN0cmluZyA9IGNvbmZpZyB8fCBwYXRoUmVzb2x2ZShkaXJOYW1lLCAnLi4vLi4vLi4vd2VicGFjay5jb25maWcuanMnKTtcblxuICAvLyBDb21waWxlIHVzaW5nIHdlYnBhY2tcbiAgY29uc3Qgd2VicGFja09wdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICctLWNvbG9yJyxcbiAgICAnLS13YXRjaCcsXG4gICAgJy0tY29uZmlnJywgd2VicGFja0NvbmZpZ1xuICBdO1xuXG4gIGlmKGJ1bmRsZUFuYWx5emVyKSB7XG4gICAgd2VicGFja09wdGlvbnMucHVzaCgnLS1idW5kbGVBbmFseXplcicpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBkaXJQYXRoID0gcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uLy4uJyk7XG4gICAgY29uc3Qgd2VicGFja1BhdGggPSByZWxhdGl2ZU5vZGVQYXRoKCd3ZWJwYWNrLWNsaS9iaW4vY2xpLmpzJywgZGlyUGF0aCk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGF3YWl0IGV4ZWNhKHdlYnBhY2tQYXRoLCB3ZWJwYWNrT3B0aW9ucywge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIGVudjoge1xuICAgICAgICBMRVhfUVVJRVQ6IHF1aWV0LFxuICAgICAgICBXRUJQQUNLX0RFVl9PUEVOOiBvcGVuXG4gICAgICB9LFxuICAgICAgc3RkaW86ICdpbmhlcml0J1xuICAgIH0pO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdEZXZlbG9wbWVudCBzZXJ2ZXIgc3RhcnRlZC4nKTtcblxuICAgIGNhbGxiYWNrKDApO1xuICAgIHJldHVybiAwO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5mYWlsKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgcnVubmluZyBXZWJwYWNrLicpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxhQUFZO0FBQ3BCLFNBQVEsV0FBVyxtQkFBa0I7QUFDckMsU0FBUSxXQUFVO0FBRWxCLFNBQVEsaUJBQWdCO0FBQ3hCLFNBQVEsZUFBZSxtQkFBa0I7QUFDekMsU0FBUSx3QkFBdUI7QUFDL0IsU0FBUSxXQUFVO0FBY1gsTUFBTSxNQUFNLE9BQU8sS0FBaUIsV0FBd0IsT0FBTyxDQUFDLE9BQXdCO0FBQ2pHLFFBQU0sRUFBQyxnQkFBZ0IsVUFBVSxPQUFPLFFBQVEsT0FBTyxPQUFPLE9BQU8sUUFBUSxVQUFTLElBQUk7QUFHMUYsUUFBTSxVQUFVLGNBQWMsS0FBSztBQUduQyxNQUFJLEdBQUcsT0FBTyxnQ0FBZ0MsUUFBUSxLQUFLO0FBRzNELFFBQU0sVUFBVSxZQUFZLEdBQUc7QUFFL0IsUUFBTSxFQUFDLGdCQUFnQixjQUFhLElBQUksVUFBVTtBQUdsRCxNQUFJLGVBQXVCLEVBQUMsVUFBVSxjQUFhO0FBRW5ELE1BQUcsV0FBVztBQUNaLFFBQUk7QUFDRixxQkFBZSxLQUFLLE1BQU0sU0FBUztBQUFBLElBQ3JDLFNBQVEsUUFBUTtBQUNkLFVBQUk7QUFBQSxFQUFLLE9BQU8sb0VBQW9FLFNBQVMsS0FBSztBQUNsRyxlQUFTLENBQUM7QUFDVixhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxVQUFRLE1BQU0sRUFBQyxHQUFHLFFBQVEsS0FBSyxHQUFHLGFBQVk7QUFFOUMsTUFBRyxlQUFlO0FBRWhCLGNBQVUsc0JBQXNCO0FBQUEsRUFDbEM7QUFHQSxNQUFHLFFBQVE7QUFFVCxZQUFRLE1BQU0sOEJBQThCO0FBRzVDLFVBQU0sWUFBWSxjQUFjO0FBR2hDLFlBQVEsUUFBUSx3Q0FBd0M7QUFBQSxFQUMxRDtBQUdBLFFBQU0sVUFBVSxJQUFJLElBQUksS0FBSyxZQUFZLEdBQUcsRUFBRTtBQUM5QyxRQUFNLGdCQUF3QixVQUFVLFlBQVksU0FBUyw0QkFBNEI7QUFHekYsUUFBTSxpQkFBMkI7QUFBQSxJQUMvQjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFBWTtBQUFBLEVBQ2Q7QUFFQSxNQUFHLGdCQUFnQjtBQUNqQixtQkFBZSxLQUFLLGtCQUFrQjtBQUFBLEVBQ3hDO0FBRUEsTUFBSTtBQUNGLFVBQU0sVUFBVSxZQUFZLFNBQVMsVUFBVTtBQUMvQyxVQUFNLGNBQWMsaUJBQWlCLDBCQUEwQixPQUFPO0FBRXRFLFVBQU0sTUFBTSxhQUFhLGdCQUFnQjtBQUFBLE1BQ3ZDLFVBQVU7QUFBQSxNQUNWLEtBQUs7QUFBQSxRQUNILFdBQVc7QUFBQSxRQUNYLGtCQUFrQjtBQUFBLE1BQ3BCO0FBQUEsTUFDQSxPQUFPO0FBQUEsSUFDVCxDQUFDO0FBR0QsWUFBUSxRQUFRLDZCQUE2QjtBQUU3QyxhQUFTLENBQUM7QUFDVixXQUFPO0FBQUEsRUFDVCxTQUFRLE9BQU87QUFFYixRQUFJO0FBQUEsRUFBSyxPQUFPLFdBQVcsTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLO0FBRzFELFlBQVEsS0FBSywyQ0FBMkM7QUFHeEQsYUFBUyxDQUFDO0FBQ1YsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ export interface InitOptions {
2
+ readonly cliName?: string;
3
+ readonly install?: boolean;
4
+ readonly packageManager?: string;
5
+ readonly quiet?: boolean;
6
+ readonly typescript?: boolean;
7
+ }
8
+ export type InitCallback = (status: number) => void;
9
+ export declare const init: (appName: string, packageName: string, cmd: InitOptions, callback?: InitCallback) => Promise<number>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,93 @@
1
+ import { execa } from "execa";
2
+ import { renameSync, writeFileSync } from "fs";
3
+ import { resolve as pathResolve } from "path";
4
+ import { URL } from "url";
5
+ import { LexConfig } from "../../LexConfig.js";
6
+ import { createSpinner, getPackageJson, setPackageJson } from "../../utils/app.js";
7
+ import { log } from "../../utils/log.js";
8
+ const init = async (appName, packageName, cmd, callback = () => ({})) => {
9
+ const { cliName = "Lex", install, packageManager: cmdPackageManager, quiet, typescript } = cmd;
10
+ const cwd = process.cwd();
11
+ const spinner = createSpinner(quiet);
12
+ log(`${cliName} is downloading the app module...`, "info", quiet);
13
+ spinner.start("Downloading app...");
14
+ const tmpPath = pathResolve(cwd, "./.lexTmp");
15
+ const appPath = pathResolve(cwd, `./${appName}`);
16
+ const dirName = new URL(".", import.meta.url).pathname;
17
+ const dnpPath = pathResolve(dirName, "../../../node_modules/download-npm-package/bin/cli.js");
18
+ await LexConfig.parseConfig(cmd);
19
+ const { packageManager: configPackageManager, useTypescript: configTypescript } = LexConfig.config;
20
+ const packageManager = cmdPackageManager || configPackageManager;
21
+ const useTypescript = typescript !== void 0 ? typescript : configTypescript;
22
+ let appModule = packageName;
23
+ if (!appModule) {
24
+ if (useTypescript) {
25
+ appModule = "@nlabs/arkhamjs-example-ts-react";
26
+ } else {
27
+ appModule = "@nlabs/arkhamjs-example-flow-react";
28
+ }
29
+ }
30
+ try {
31
+ await execa(dnpPath, [appModule, tmpPath], {});
32
+ spinner.succeed("Successfully downloaded app!");
33
+ } catch (error) {
34
+ console.log("error", error);
35
+ log(`
36
+ ${cliName} Error: There was an error downloading ${appModule}. Make sure the package exists and there is a network connection.`, "error", quiet);
37
+ spinner.fail("Downloaded of app failed.");
38
+ callback(1);
39
+ return 1;
40
+ }
41
+ try {
42
+ renameSync(`${tmpPath}/${appModule}`, appPath);
43
+ } catch (_error) {
44
+ log(`
45
+ ${cliName} Error: There was an error copying ${appModule} to the current working directory.`, "error", quiet);
46
+ callback(1);
47
+ return 1;
48
+ }
49
+ const packagePath = `${appPath}/package.json`;
50
+ const packageJson = getPackageJson(packagePath);
51
+ packageJson.name = appName;
52
+ packageJson.description = `${cliName} created app`;
53
+ packageJson.version = "0.1.0";
54
+ delete packageJson.keywords;
55
+ delete packageJson.author;
56
+ delete packageJson.contributors;
57
+ delete packageJson.repository;
58
+ delete packageJson.homepage;
59
+ delete packageJson.bugs;
60
+ try {
61
+ setPackageJson(packageJson, packagePath);
62
+ const readmePath = `${appPath}/README.md`;
63
+ writeFileSync(readmePath, `# ${appName}`);
64
+ } catch (error) {
65
+ log(`
66
+ ${cliName} Error: ${error.message}`, "error", quiet);
67
+ callback(1);
68
+ return 1;
69
+ }
70
+ if (install) {
71
+ spinner.start("Installing dependencies...");
72
+ process.chdir(appPath);
73
+ try {
74
+ await execa(packageManager, ["install"], {
75
+ encoding: "utf8",
76
+ stdio: "inherit"
77
+ });
78
+ spinner.succeed("Successfully installed dependencies!");
79
+ } catch (error) {
80
+ log(`
81
+ ${cliName} Error: ${error.message}`, "error", quiet);
82
+ spinner.fail("Failed to install dependencies.");
83
+ callback(1);
84
+ return 1;
85
+ }
86
+ }
87
+ callback(0);
88
+ return 0;
89
+ };
90
+ export {
91
+ init
92
+ };
93
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2luaXQvaW5pdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7cmVuYW1lU3luYywgd3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtyZXNvbHZlIGFzIHBhdGhSZXNvbHZlfSBmcm9tICdwYXRoJztcbmltcG9ydCB7VVJMfSBmcm9tICd1cmwnO1xuXG5pbXBvcnQge0xleENvbmZpZ30gZnJvbSAnLi4vLi4vTGV4Q29uZmlnLmpzJztcbmltcG9ydCB7Y3JlYXRlU3Bpbm5lciwgZ2V0UGFja2FnZUpzb24sIHNldFBhY2thZ2VKc29ufSBmcm9tICcuLi8uLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uLy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdE9wdGlvbnMge1xuICByZWFkb25seSBjbGlOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBpbnN0YWxsPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcGFja2FnZU1hbmFnZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdHlwZXNjcmlwdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIEluaXRDYWxsYmFjayA9IChzdGF0dXM6IG51bWJlcikgPT4gdm9pZDtcblxuZXhwb3J0IGNvbnN0IGluaXQgPSBhc3luYyAoXG4gIGFwcE5hbWU6IHN0cmluZyxcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgY21kOiBJbml0T3B0aW9ucyxcbiAgY2FsbGJhY2s6IEluaXRDYWxsYmFjayA9ICgpID0+ICh7fSlcbik6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtjbGlOYW1lID0gJ0xleCcsIGluc3RhbGwsIHBhY2thZ2VNYW5hZ2VyOiBjbWRQYWNrYWdlTWFuYWdlciwgcXVpZXQsIHR5cGVzY3JpcHR9ID0gY21kO1xuICBjb25zdCBjd2Q6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgLy8gU3Bpbm5lclxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgLy8gRG93bmxvYWQgYXBwIG1vZHVsZSBpbnRvIHRlbXBvcmFyeSBkaXJlY3RvcnlcbiAgbG9nKGAke2NsaU5hbWV9IGlzIGRvd25sb2FkaW5nIHRoZSBhcHAgbW9kdWxlLi4uYCwgJ2luZm8nLCBxdWlldCk7XG4gIHNwaW5uZXIuc3RhcnQoJ0Rvd25sb2FkaW5nIGFwcC4uLicpO1xuICBjb25zdCB0bXBQYXRoOiBzdHJpbmcgPSBwYXRoUmVzb2x2ZShjd2QsICcuLy5sZXhUbXAnKTtcbiAgY29uc3QgYXBwUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoY3dkLCBgLi8ke2FwcE5hbWV9YCk7XG4gIGNvbnN0IGRpck5hbWUgPSBuZXcgVVJMKCcuJywgaW1wb3J0Lm1ldGEudXJsKS5wYXRobmFtZTtcbiAgY29uc3QgZG5wUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9kb3dubG9hZC1ucG0tcGFja2FnZS9iaW4vY2xpLmpzJyk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuICBjb25zdCB7cGFja2FnZU1hbmFnZXI6IGNvbmZpZ1BhY2thZ2VNYW5hZ2VyLCB1c2VUeXBlc2NyaXB0OiBjb25maWdUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG4gIGNvbnN0IHBhY2thZ2VNYW5hZ2VyOiBzdHJpbmcgPSBjbWRQYWNrYWdlTWFuYWdlciB8fCBjb25maWdQYWNrYWdlTWFuYWdlcjtcbiAgY29uc3QgdXNlVHlwZXNjcmlwdDogYm9vbGVhbiA9IHR5cGVzY3JpcHQgIT09IHVuZGVmaW5lZCA/IHR5cGVzY3JpcHQgOiBjb25maWdUeXBlc2NyaXB0O1xuXG4gIGxldCBhcHBNb2R1bGU6IHN0cmluZyA9IHBhY2thZ2VOYW1lO1xuXG4gIC8vIFVzZSBiYXNlIGFwcCBtb2R1bGUgYmFzZWQgb24gY29uZmlnXG4gIGlmKCFhcHBNb2R1bGUpIHtcbiAgICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgICBhcHBNb2R1bGUgPSAnQG5sYWJzL2Fya2hhbWpzLWV4YW1wbGUtdHMtcmVhY3QnO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBNb2R1bGUgPSAnQG5sYWJzL2Fya2hhbWpzLWV4YW1wbGUtZmxvdy1yZWFjdCc7XG4gICAgfVxuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBleGVjYShkbnBQYXRoLCBbYXBwTW9kdWxlLCB0bXBQYXRoXSwge30pO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyIGFuZCB1cGRhdGUgc3RhdHVzXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgZG93bmxvYWRlZCBhcHAhJyk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBjb25zb2xlLmxvZygnZXJyb3InLCBlcnJvcik7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBUaGVyZSB3YXMgYW4gZXJyb3IgZG93bmxvYWRpbmcgJHthcHBNb2R1bGV9LiBNYWtlIHN1cmUgdGhlIHBhY2thZ2UgZXhpc3RzIGFuZCB0aGVyZSBpcyBhIG5ldHdvcmsgY29ubmVjdGlvbi5gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXIgYW5kIGtpbGwgcHJvY2Vzc1xuICAgIHNwaW5uZXIuZmFpbCgnRG93bmxvYWRlZCBvZiBhcHAgZmFpbGVkLicpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICAvLyBNb3ZlIGludG8gY29uZmlndXJlZCBkaXJlY3RvcnlcbiAgdHJ5IHtcbiAgICByZW5hbWVTeW5jKGAke3RtcFBhdGh9LyR7YXBwTW9kdWxlfWAsIGFwcFBhdGgpO1xuICB9IGNhdGNoKF9lcnJvcikge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogVGhlcmUgd2FzIGFuIGVycm9yIGNvcHlpbmcgJHthcHBNb2R1bGV9IHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8vIENvbmZpZ3VyZSBwYWNrYWdlLmpzb25cbiAgY29uc3QgcGFja2FnZVBhdGg6IHN0cmluZyA9IGAke2FwcFBhdGh9L3BhY2thZ2UuanNvbmA7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gZ2V0UGFja2FnZUpzb24ocGFja2FnZVBhdGgpO1xuICBwYWNrYWdlSnNvbi5uYW1lID0gYXBwTmFtZTtcbiAgcGFja2FnZUpzb24uZGVzY3JpcHRpb24gPSBgJHtjbGlOYW1lfSBjcmVhdGVkIGFwcGA7XG4gIHBhY2thZ2VKc29uLnZlcnNpb24gPSAnMC4xLjAnO1xuICBkZWxldGUgcGFja2FnZUpzb24ua2V5d29yZHM7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5hdXRob3I7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5jb250cmlidXRvcnM7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5yZXBvc2l0b3J5O1xuICBkZWxldGUgcGFja2FnZUpzb24uaG9tZXBhZ2U7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5idWdzO1xuXG4gIHRyeSB7XG4gICAgLy8gVXBkYXRlIHBhY2thZ2UuanNvblxuICAgIHNldFBhY2thZ2VKc29uKHBhY2thZ2VKc29uLCBwYWNrYWdlUGF0aCk7XG5cbiAgICAvLyBVcGRhdGUgUkVBRE1FXG4gICAgY29uc3QgcmVhZG1lUGF0aDogc3RyaW5nID0gYCR7YXBwUGF0aH0vUkVBRE1FLm1kYDtcbiAgICB3cml0ZUZpbGVTeW5jKHJlYWRtZVBhdGgsIGAjICR7YXBwTmFtZX1gKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIGlmKGluc3RhbGwpIHtcbiAgICBzcGlubmVyLnN0YXJ0KCdJbnN0YWxsaW5nIGRlcGVuZGVuY2llcy4uLicpO1xuXG4gICAgLy8gQ2hhbmdlIHRvIHRoZSBhcHAgZGlyZWN0b3J5XG4gICAgcHJvY2Vzcy5jaGRpcihhcHBQYXRoKTtcblxuICAgIC8vIEluc3RhbGwgZGVwZW5kZW5jaWVzXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWNhKHBhY2thZ2VNYW5hZ2VyLCBbJ2luc3RhbGwnXSwge1xuICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgICBzdGRpbzogJ2luaGVyaXQnXG4gICAgICB9KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLnN1Y2NlZWQoJ1N1Y2Nlc3NmdWxseSBpbnN0YWxsZWQgZGVwZW5kZW5jaWVzIScpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIGluc3RhbGwgZGVwZW5kZW5jaWVzLicpO1xuXG4gICAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gS2lsbCBw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
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface LinkOptions {
2
+ readonly cliName?: string;
3
+ readonly quiet?: boolean;
4
+ }
5
+ export type LinkCallback = (status: number) => void;
6
+ export declare const linked: (cmd: LinkOptions, callback?: LinkCallback) => Promise<number>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import { LexConfig } from "../../LexConfig.js";
2
+ import { checkLinkedModules } from "../../utils/app.js";
3
+ import { log } from "../../utils/log.js";
4
+ const linked = async (cmd, callback = () => ({})) => {
5
+ const { cliName = "Lex", quiet } = cmd;
6
+ log(`${cliName} checking for linked modules...`, "info", quiet);
7
+ await LexConfig.parseConfig(cmd);
8
+ checkLinkedModules();
9
+ callback(0);
10
+ return Promise.resolve(0);
11
+ };
12
+ export {
13
+ linked
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2xpbmsvbGluay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi8uLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjaGVja0xpbmtlZE1vZHVsZXN9IGZyb20gJy4uLy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBMaW5rT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgTGlua0NhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgY29uc3QgbGlua2VkID0gYXN5bmMgKGNtZDogTGlua09wdGlvbnMsIGNhbGxiYWNrOiBMaW5rQ2FsbGJhY2sgPSAoKSA9PiAoe30pKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgcXVpZXR9ID0gY21kO1xuXG4gIC8vIERpc3BsYXkgc3RhdHVzXG4gIGxvZyhgJHtjbGlOYW1lfSBjaGVja2luZyBmb3IgbGlua2VkIG1vZHVsZXMuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgLy8gQ2hlY2sgZm9yIGxpbmtlZCBtb2R1bGVzXG4gIGNoZWNrTGlua2VkTW9kdWxlcygpO1xuICBjYWxsYmFjaygwKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgwKTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxpQkFBZ0I7QUFDeEIsU0FBUSwwQkFBeUI7QUFDakMsU0FBUSxXQUFVO0FBU1gsTUFBTSxTQUFTLE9BQU8sS0FBa0IsV0FBeUIsT0FBTyxDQUFDLE9BQXdCO0FBQ3RHLFFBQU0sRUFBQyxVQUFVLE9BQU8sTUFBSyxJQUFJO0FBR2pDLE1BQUksR0FBRyxPQUFPLG1DQUFtQyxRQUFRLEtBQUs7QUFHOUQsUUFBTSxVQUFVLFlBQVksR0FBRztBQUcvQixxQkFBbUI7QUFDbkIsV0FBUyxDQUFDO0FBQ1YsU0FBTyxRQUFRLFFBQVEsQ0FBQztBQUMxQjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,39 @@
1
+ export interface LintOptions {
2
+ readonly cache?: boolean;
3
+ readonly cacheFile?: string;
4
+ readonly cacheLocation?: string;
5
+ readonly cliName?: string;
6
+ readonly color?: boolean;
7
+ readonly config?: string;
8
+ readonly debug?: boolean;
9
+ readonly env?: string;
10
+ readonly envInfo?: boolean;
11
+ readonly ext?: string;
12
+ readonly fix?: boolean;
13
+ readonly fixDryRun?: boolean;
14
+ readonly fixType?: string;
15
+ readonly format?: string;
16
+ readonly global?: string;
17
+ readonly ignorePath?: string;
18
+ readonly ignorePattern?: string;
19
+ readonly init?: boolean;
20
+ readonly maxWarnings?: string;
21
+ readonly noColor?: boolean;
22
+ readonly noEslintrc?: boolean;
23
+ readonly noIgnore?: boolean;
24
+ readonly noInlineConfig?: boolean;
25
+ readonly outputFile?: string;
26
+ readonly parser?: string;
27
+ readonly parserOptions?: string;
28
+ readonly plugin?: string;
29
+ readonly printConfig?: string;
30
+ readonly quiet?: boolean;
31
+ readonly reportUnusedDisableDirectives?: boolean;
32
+ readonly resolvePluginsRelativeTo?: string;
33
+ readonly rule?: string;
34
+ readonly rulesdir?: string;
35
+ readonly stdin?: boolean;
36
+ readonly stdinFilename?: string;
37
+ }
38
+ export type LintCallback = typeof process.exit;
39
+ export declare const lint: (cmd: LintOptions, callback?: LintCallback) => Promise<number>;
@@ -0,0 +1 @@
1
+ export {};