@nlabs/lex 1.49.4 → 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.
- package/.swcrc +35 -0
- package/README.md +43 -59
- package/__mocks__/chalk.js +19 -17
- package/config.json +32 -8
- package/examples/lex.config.js +110 -10
- package/index.cjs +1 -5
- package/lex.config.js +34 -7
- package/lib/Button.stories.js +99 -0
- package/lib/LexConfig.d.ts +60 -22
- package/lib/LexConfig.js +285 -244
- package/lib/commands/ai/ai.js +287 -288
- package/lib/commands/ai/index.js +8 -7
- package/lib/commands/build/build.d.ts +2 -2
- package/lib/commands/build/build.js +349 -458
- package/lib/commands/clean/clean.js +45 -33
- package/lib/commands/compile/compile.js +214 -227
- package/lib/commands/config/config.js +46 -42
- package/lib/commands/copy/copy.js +36 -35
- package/lib/commands/create/create.js +200 -121
- package/lib/commands/dev/dev.d.ts +2 -0
- package/lib/commands/dev/dev.js +259 -263
- package/lib/commands/init/init.js +108 -88
- package/lib/commands/link/link.js +18 -14
- package/lib/commands/lint/lint.js +735 -742
- package/lib/commands/migrate/migrate.js +49 -36
- package/lib/commands/publish/publish.js +116 -96
- package/lib/commands/serverless/serverless.js +611 -585
- package/lib/commands/storybook/storybook.js +242 -238
- package/lib/commands/test/test.d.ts +1 -1
- package/lib/commands/test/test.js +382 -394
- package/lib/commands/update/update.js +141 -120
- package/lib/commands/upgrade/upgrade.js +51 -44
- package/lib/commands/versions/versions.d.ts +1 -1
- package/lib/commands/versions/versions.js +36 -38
- package/lib/create/changelog.js +136 -125
- package/lib/index.js +40 -38
- package/lib/lex.js +95 -68
- package/lib/storybook/index.js +6 -1
- package/lib/test-react/index.js +7 -84
- package/lib/types.d.ts +1 -1
- package/lib/types.js +7 -1
- package/lib/utils/aiService.js +240 -227
- package/lib/utils/app.js +274 -273
- package/lib/utils/deepMerge.js +37 -23
- package/lib/utils/file.js +218 -215
- package/lib/utils/log.js +29 -27
- package/lib/utils/reactShim.js +7 -85
- package/lib/utils/translations.js +91 -65
- package/package.json +63 -64
- package/templates/typescript/DataLayer.js.txt +218 -0
- package/templates/typescript/DataLayer.test.js.txt +268 -0
- package/templates/typescript/DataLayer.test.ts.txt +269 -0
- package/templates/typescript/DataLayer.ts.txt +227 -0
- package/webpack.config.js +53 -26
- package/lib/commands/lint/autofix.d.ts +0 -2
|
@@ -1,93 +1,113 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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 { execa } from 'execa';
|
|
5
|
+
import { renameSync, writeFileSync } from 'fs';
|
|
6
|
+
import { resolve as pathResolve } from 'path';
|
|
7
|
+
import { LexConfig } from '../../LexConfig.js';
|
|
8
|
+
import { createSpinner, getPackageJson, setPackageJson } from '../../utils/app.js';
|
|
9
|
+
import { getDirName } from '../../utils/file.js';
|
|
10
|
+
import { log } from '../../utils/log.js';
|
|
11
|
+
export const init = async (appName, packageName, cmd, callback = ()=>({}))=>{
|
|
12
|
+
const { cliName = 'Lex', install, packageManager: cmdPackageManager, quiet, typescript } = cmd;
|
|
13
|
+
const cwd = process.cwd();
|
|
14
|
+
// Spinner
|
|
15
|
+
const spinner = createSpinner(quiet);
|
|
16
|
+
// Download app module into temporary directory
|
|
17
|
+
log(`${cliName} is downloading the app module...`, 'info', quiet);
|
|
18
|
+
spinner.start('Downloading app...');
|
|
19
|
+
const tmpPath = pathResolve(cwd, './.lexTmp');
|
|
20
|
+
const appPath = pathResolve(cwd, `./${appName}`);
|
|
21
|
+
const dirName = getDirName();
|
|
22
|
+
const dnpPath = pathResolve(dirName, '../../../node_modules/download-npm-package/bin/cli.js');
|
|
23
|
+
// Get custom configuration
|
|
24
|
+
await LexConfig.parseConfig(cmd);
|
|
25
|
+
const { packageManager: configPackageManager, useTypescript: configTypescript } = LexConfig.config;
|
|
26
|
+
const packageManager = cmdPackageManager || configPackageManager || '';
|
|
27
|
+
const useTypescript = typescript !== undefined ? typescript : configTypescript || false;
|
|
28
|
+
let appModule = packageName;
|
|
29
|
+
// Use base app module based on config
|
|
30
|
+
if (!appModule) {
|
|
31
|
+
if (useTypescript) {
|
|
32
|
+
appModule = '@nlabs/arkhamjs-example-ts-react';
|
|
33
|
+
} else {
|
|
34
|
+
appModule = '@nlabs/arkhamjs-example-flow-react';
|
|
35
|
+
}
|
|
28
36
|
}
|
|
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
37
|
try {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
38
|
+
await execa(dnpPath, [
|
|
39
|
+
appModule,
|
|
40
|
+
tmpPath
|
|
41
|
+
], {});
|
|
42
|
+
// Stop spinner and update status
|
|
43
|
+
spinner.succeed('Successfully downloaded app!');
|
|
79
44
|
} catch (error) {
|
|
80
|
-
|
|
81
|
-
${cliName} Error: ${
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
45
|
+
console.log('error', error);
|
|
46
|
+
log(`\n${cliName} Error: There was an error downloading ${appModule}. Make sure the package exists and there is a network connection.`, 'error', quiet);
|
|
47
|
+
// Stop spinner and kill process
|
|
48
|
+
spinner.fail('Downloaded of app failed.');
|
|
49
|
+
// Kill process
|
|
50
|
+
callback(1);
|
|
51
|
+
return 1;
|
|
85
52
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
53
|
+
// Move into configured directory
|
|
54
|
+
try {
|
|
55
|
+
renameSync(`${tmpPath}/${appModule}`, appPath);
|
|
56
|
+
} catch (_error) {
|
|
57
|
+
log(`\n${cliName} Error: There was an error copying ${appModule} to the current working directory.`, 'error', quiet);
|
|
58
|
+
callback(1);
|
|
59
|
+
return 1;
|
|
60
|
+
}
|
|
61
|
+
// Configure package.json
|
|
62
|
+
const packagePath = `${appPath}/package.json`;
|
|
63
|
+
const packageJson = getPackageJson(packagePath);
|
|
64
|
+
packageJson.name = appName;
|
|
65
|
+
packageJson.description = `${cliName} created app`;
|
|
66
|
+
packageJson.version = '0.1.0';
|
|
67
|
+
delete packageJson.keywords;
|
|
68
|
+
delete packageJson.author;
|
|
69
|
+
delete packageJson.contributors;
|
|
70
|
+
delete packageJson.repository;
|
|
71
|
+
delete packageJson.homepage;
|
|
72
|
+
delete packageJson.bugs;
|
|
73
|
+
try {
|
|
74
|
+
// Update package.json
|
|
75
|
+
setPackageJson(packageJson, packagePath);
|
|
76
|
+
// Update README
|
|
77
|
+
const readmePath = `${appPath}/README.md`;
|
|
78
|
+
writeFileSync(readmePath, `# ${appName}`);
|
|
79
|
+
} catch (error) {
|
|
80
|
+
log(`\n${cliName} Error: ${error.message}`, 'error', quiet);
|
|
81
|
+
callback(1);
|
|
82
|
+
return 1;
|
|
83
|
+
}
|
|
84
|
+
if (install) {
|
|
85
|
+
spinner.start('Installing dependencies...');
|
|
86
|
+
// Change to the app directory
|
|
87
|
+
process.chdir(appPath);
|
|
88
|
+
// Install dependencies
|
|
89
|
+
try {
|
|
90
|
+
await execa(packageManager, [
|
|
91
|
+
'install'
|
|
92
|
+
], {
|
|
93
|
+
encoding: 'utf8',
|
|
94
|
+
stdio: 'inherit'
|
|
95
|
+
});
|
|
96
|
+
// Stop spinner
|
|
97
|
+
spinner.succeed('Successfully installed dependencies!');
|
|
98
|
+
} catch (error) {
|
|
99
|
+
// Display error message
|
|
100
|
+
log(`\n${cliName} Error: ${error.message}`, 'error', quiet);
|
|
101
|
+
// Stop spinner
|
|
102
|
+
spinner.fail('Failed to install dependencies.');
|
|
103
|
+
// Kill process
|
|
104
|
+
callback(1);
|
|
105
|
+
return 1;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Kill process
|
|
109
|
+
callback(0);
|
|
110
|
+
return 0;
|
|
92
111
|
};
|
|
93
|
-
|
|
112
|
+
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9pbml0L2luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7cmVuYW1lU3luYywgd3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtyZXNvbHZlIGFzIHBhdGhSZXNvbHZlfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uLy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIGdldFBhY2thZ2VKc29uLCBzZXRQYWNrYWdlSnNvbn0gZnJvbSAnLi4vLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7Z2V0RGlyTmFtZX0gZnJvbSAnLi4vLi4vdXRpbHMvZmlsZS5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBJbml0T3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluc3RhbGw/OiBib29sZWFuO1xuICByZWFkb25seSBwYWNrYWdlTWFuYWdlcj86IHN0cmluZztcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuICByZWFkb25seSB0eXBlc2NyaXB0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgSW5pdENhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgY29uc3QgaW5pdCA9IGFzeW5jIChcbiAgYXBwTmFtZTogc3RyaW5nLFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICBjbWQ6IEluaXRPcHRpb25zLFxuICBjYWxsYmFjazogSW5pdENhbGxiYWNrID0gKCkgPT4gKHt9KVxuKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgaW5zdGFsbCwgcGFja2FnZU1hbmFnZXI6IGNtZFBhY2thZ2VNYW5hZ2VyLCBxdWlldCwgdHlwZXNjcmlwdH0gPSBjbWQ7XG4gIGNvbnN0IGN3ZDogc3RyaW5nID0gcHJvY2Vzcy5jd2QoKTtcblxuICAvLyBTcGlubmVyXG4gIGNvbnN0IHNwaW5uZXIgPSBjcmVhdGVTcGlubmVyKHF1aWV0KTtcblxuICAvLyBEb3dubG9hZCBhcHAgbW9kdWxlIGludG8gdGVtcG9yYXJ5IGRpcmVjdG9yeVxuICBsb2coYCR7Y2xpTmFtZX0gaXMgZG93bmxvYWRpbmcgdGhlIGFwcCBtb2R1bGUuLi5gLCAnaW5mbycsIHF1aWV0KTtcbiAgc3Bpbm5lci5zdGFydCgnRG93bmxvYWRpbmcgYXBwLi4uJyk7XG4gIGNvbnN0IHRtcFBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGN3ZCwgJy4vLmxleFRtcCcpO1xuICBjb25zdCBhcHBQYXRoOiBzdHJpbmcgPSBwYXRoUmVzb2x2ZShjd2QsIGAuLyR7YXBwTmFtZX1gKTtcbiAgY29uc3QgZGlyTmFtZSA9IGdldERpck5hbWUoKTtcbiAgY29uc3QgZG5wUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9kb3dubG9hZC1ucG0tcGFja2FnZS9iaW4vY2xpLmpzJyk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuICBjb25zdCB7cGFja2FnZU1hbmFnZXI6IGNvbmZpZ1BhY2thZ2VNYW5hZ2VyLCB1c2VUeXBlc2NyaXB0OiBjb25maWdUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG4gIGNvbnN0IHBhY2thZ2VNYW5hZ2VyOiBzdHJpbmcgPSBjbWRQYWNrYWdlTWFuYWdlciB8fCBjb25maWdQYWNrYWdlTWFuYWdlciB8fCAnJztcbiAgY29uc3QgdXNlVHlwZXNjcmlwdDogYm9vbGVhbiA9IHR5cGVzY3JpcHQgIT09IHVuZGVmaW5lZCA/IHR5cGVzY3JpcHQgOiBjb25maWdUeXBlc2NyaXB0IHx8IGZhbHNlO1xuXG4gIGxldCBhcHBNb2R1bGU6IHN0cmluZyA9IHBhY2thZ2VOYW1lO1xuXG4gIC8vIFVzZSBiYXNlIGFwcCBtb2R1bGUgYmFzZWQgb24gY29uZmlnXG4gIGlmKCFhcHBNb2R1bGUpIHtcbiAgICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgICBhcHBNb2R1bGUgPSAnQG5sYWJzL2Fya2hhbWpzLWV4YW1wbGUtdHMtcmVhY3QnO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBNb2R1bGUgPSAnQG5sYWJzL2Fya2hhbWpzLWV4YW1wbGUtZmxvdy1yZWFjdCc7XG4gICAgfVxuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBleGVjYShkbnBQYXRoLCBbYXBwTW9kdWxlLCB0bXBQYXRoXSwge30pO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyIGFuZCB1cGRhdGUgc3RhdHVzXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgZG93bmxvYWRlZCBhcHAhJyk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBjb25zb2xlLmxvZygnZXJyb3InLCBlcnJvcik7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBUaGVyZSB3YXMgYW4gZXJyb3IgZG93bmxvYWRpbmcgJHthcHBNb2R1bGV9LiBNYWtlIHN1cmUgdGhlIHBhY2thZ2UgZXhpc3RzIGFuZCB0aGVyZSBpcyBhIG5ldHdvcmsgY29ubmVjdGlvbi5gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXIgYW5kIGtpbGwgcHJvY2Vzc1xuICAgIHNwaW5uZXIuZmFpbCgnRG93bmxvYWRlZCBvZiBhcHAgZmFpbGVkLicpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICAvLyBNb3ZlIGludG8gY29uZmlndXJlZCBkaXJlY3RvcnlcbiAgdHJ5IHtcbiAgICByZW5hbWVTeW5jKGAke3RtcFBhdGh9LyR7YXBwTW9kdWxlfWAsIGFwcFBhdGgpO1xuICB9IGNhdGNoKF9lcnJvcikge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogVGhlcmUgd2FzIGFuIGVycm9yIGNvcHlpbmcgJHthcHBNb2R1bGV9IHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8vIENvbmZpZ3VyZSBwYWNrYWdlLmpzb25cbiAgY29uc3QgcGFja2FnZVBhdGg6IHN0cmluZyA9IGAke2FwcFBhdGh9L3BhY2thZ2UuanNvbmA7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gZ2V0UGFja2FnZUpzb24ocGFja2FnZVBhdGgpO1xuICBwYWNrYWdlSnNvbi5uYW1lID0gYXBwTmFtZTtcbiAgcGFja2FnZUpzb24uZGVzY3JpcHRpb24gPSBgJHtjbGlOYW1lfSBjcmVhdGVkIGFwcGA7XG4gIHBhY2thZ2VKc29uLnZlcnNpb24gPSAnMC4xLjAnO1xuICBkZWxldGUgcGFja2FnZUpzb24ua2V5d29yZHM7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5hdXRob3I7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5jb250cmlidXRvcnM7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5yZXBvc2l0b3J5O1xuICBkZWxldGUgcGFja2FnZUpzb24uaG9tZXBhZ2U7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5idWdzO1xuXG4gIHRyeSB7XG4gICAgLy8gVXBkYXRlIHBhY2thZ2UuanNvblxuICAgIHNldFBhY2thZ2VKc29uKHBhY2thZ2VKc29uLCBwYWNrYWdlUGF0aCk7XG5cbiAgICAvLyBVcGRhdGUgUkVBRE1FXG4gICAgY29uc3QgcmVhZG1lUGF0aDogc3RyaW5nID0gYCR7YXBwUGF0aH0vUkVBRE1FLm1kYDtcbiAgICB3cml0ZUZpbGVTeW5jKHJlYWRtZVBhdGgsIGAjICR7YXBwTmFtZX1gKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIGlmKGluc3RhbGwpIHtcbiAgICBzcGlubmVyLnN0YXJ0KCdJbnN0YWxsaW5nIGRlcGVuZGVuY2llcy4uLicpO1xuXG4gICAgLy8gQ2hhbmdlIHRvIHRoZSBhcHAgZGlyZWN0b3J5XG4gICAgcHJvY2Vzcy5jaGRpcihhcHBQYXRoKTtcblxuICAgIC8vIEluc3RhbGwgZGVwZW5kZW5jaWVzXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWNhKHBhY2thZ2VNYW5hZ2VyLCBbJ2luc3RhbGwnXSwge1xuICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgICBzdGRpbzogJ2luaGVyaXQnXG4gICAgICB9KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLnN1Y2NlZWQoJ1N1Y2Nlc3NmdWxseSBpbnN0YWxsZWQgZGVwZW5kZW5jaWVzIScpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIGluc3RhbGwgZGVwZW5kZW5jaWVzLicpO1xuXG4gICAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gS2lsbCBwcm9jZXNzXG4gIGNhbGxiYWNrKDApO1xuICByZXR1cm4gMDtcbn07Il0sIm5hbWVzIjpbImV4ZWNhIiwicmVuYW1lU3luYyIsIndyaXRlRmlsZVN5bmMiLCJyZXNvbHZlIiwicGF0aFJlc29sdmUiLCJMZXhDb25maWciLCJjcmVhdGVTcGlubmVyIiwiZ2V0UGFja2FnZUpzb24iLCJzZXRQYWNrYWdlSnNvbiIsImdldERpck5hbWUiLCJsb2ciLCJpbml0IiwiYXBwTmFtZSIsInBhY2thZ2VOYW1lIiwiY21kIiwiY2FsbGJhY2siLCJjbGlOYW1lIiwiaW5zdGFsbCIsInBhY2thZ2VNYW5hZ2VyIiwiY21kUGFja2FnZU1hbmFnZXIiLCJxdWlldCIsInR5cGVzY3JpcHQiLCJjd2QiLCJwcm9jZXNzIiwic3Bpbm5lciIsInN0YXJ0IiwidG1wUGF0aCIsImFwcFBhdGgiLCJkaXJOYW1lIiwiZG5wUGF0aCIsInBhcnNlQ29uZmlnIiwiY29uZmlnUGFja2FnZU1hbmFnZXIiLCJ1c2VUeXBlc2NyaXB0IiwiY29uZmlnVHlwZXNjcmlwdCIsImNvbmZpZyIsInVuZGVmaW5lZCIsImFwcE1vZHVsZSIsInN1Y2NlZWQiLCJlcnJvciIsImNvbnNvbGUiLCJmYWlsIiwiX2Vycm9yIiwicGFja2FnZVBhdGgiLCJwYWNrYWdlSnNvbiIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsInZlcnNpb24iLCJrZXl3b3JkcyIsImF1dGhvciIsImNvbnRyaWJ1dG9ycyIsInJlcG9zaXRvcnkiLCJob21lcGFnZSIsImJ1Z3MiLCJyZWFkbWVQYXRoIiwibWVzc2FnZSIsImNoZGlyIiwiZW5jb2RpbmciLCJzdGRpbyJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsS0FBSyxRQUFPLFFBQVE7QUFDNUIsU0FBUUMsVUFBVSxFQUFFQyxhQUFhLFFBQU8sS0FBSztBQUM3QyxTQUFRQyxXQUFXQyxXQUFXLFFBQU8sT0FBTztBQUU1QyxTQUFRQyxTQUFTLFFBQU8scUJBQXFCO0FBQzdDLFNBQVFDLGFBQWEsRUFBRUMsY0FBYyxFQUFFQyxjQUFjLFFBQU8scUJBQXFCO0FBQ2pGLFNBQVFDLFVBQVUsUUFBTyxzQkFBc0I7QUFDL0MsU0FBUUMsR0FBRyxRQUFPLHFCQUFxQjtBQVl2QyxPQUFPLE1BQU1DLE9BQU8sT0FDbEJDLFNBQ0FDLGFBQ0FDLEtBQ0FDLFdBQXlCLElBQU8sQ0FBQSxDQUFDLENBQUEsQ0FBRTtJQUVuQyxNQUFNLEVBQUNDLFVBQVUsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQkMsaUJBQWlCLEVBQUVDLEtBQUssRUFBRUMsVUFBVSxFQUFDLEdBQUdQO0lBQ3pGLE1BQU1RLE1BQWNDLFFBQVFELEdBQUc7SUFFL0IsVUFBVTtJQUNWLE1BQU1FLFVBQVVsQixjQUFjYztJQUU5QiwrQ0FBK0M7SUFDL0NWLElBQUksR0FBR00sUUFBUSxpQ0FBaUMsQ0FBQyxFQUFFLFFBQVFJO0lBQzNESSxRQUFRQyxLQUFLLENBQUM7SUFDZCxNQUFNQyxVQUFrQnRCLFlBQVlrQixLQUFLO0lBQ3pDLE1BQU1LLFVBQWtCdkIsWUFBWWtCLEtBQUssQ0FBQyxFQUFFLEVBQUVWLFNBQVM7SUFDdkQsTUFBTWdCLFVBQVVuQjtJQUNoQixNQUFNb0IsVUFBa0J6QixZQUFZd0IsU0FBUztJQUU3QywyQkFBMkI7SUFDM0IsTUFBTXZCLFVBQVV5QixXQUFXLENBQUNoQjtJQUM1QixNQUFNLEVBQUNJLGdCQUFnQmEsb0JBQW9CLEVBQUVDLGVBQWVDLGdCQUFnQixFQUFDLEdBQUc1QixVQUFVNkIsTUFBTTtJQUNoRyxNQUFNaEIsaUJBQXlCQyxxQkFBcUJZLHdCQUF3QjtJQUM1RSxNQUFNQyxnQkFBeUJYLGVBQWVjLFlBQVlkLGFBQWFZLG9CQUFvQjtJQUUzRixJQUFJRyxZQUFvQnZCO0lBRXhCLHNDQUFzQztJQUN0QyxJQUFHLENBQUN1QixXQUFXO1FBQ2IsSUFBR0osZUFBZTtZQUNoQkksWUFBWTtRQUNkLE9BQU87WUFDTEEsWUFBWTtRQUNkO0lBQ0Y7SUFFQSxJQUFJO1FBQ0YsTUFBTXBDLE1BQU02QixTQUFTO1lBQUNPO1lBQVdWO1NBQVEsRUFBRSxDQUFDO1FBRTVDLGlDQUFpQztRQUNqQ0YsUUFBUWEsT0FBTyxDQUFDO0lBQ2xCLEVBQUUsT0FBTUMsT0FBTztRQUNiQyxRQUFRN0IsR0FBRyxDQUFDLFNBQVM0QjtRQUNyQjVCLElBQUksQ0FBQyxFQUFFLEVBQUVNLFFBQVEsdUNBQXVDLEVBQUVvQixVQUFVLGlFQUFpRSxDQUFDLEVBQUUsU0FBU2hCO1FBRWpKLGdDQUFnQztRQUNoQ0ksUUFBUWdCLElBQUksQ0FBQztRQUViLGVBQWU7UUFDZnpCLFNBQVM7UUFDVCxPQUFPO0lBQ1Q7SUFFQSxpQ0FBaUM7SUFDakMsSUFBSTtRQUNGZCxXQUFXLEdBQUd5QixRQUFRLENBQUMsRUFBRVUsV0FBVyxFQUFFVDtJQUN4QyxFQUFFLE9BQU1jLFFBQVE7UUFDZC9CLElBQUksQ0FBQyxFQUFFLEVBQUVNLFFBQVEsbUNBQW1DLEVBQUVvQixVQUFVLGtDQUFrQyxDQUFDLEVBQUUsU0FBU2hCO1FBQzlHTCxTQUFTO1FBQ1QsT0FBTztJQUNUO0lBRUEseUJBQXlCO0lBQ3pCLE1BQU0yQixjQUFzQixHQUFHZixRQUFRLGFBQWEsQ0FBQztJQUNyRCxNQUFNZ0IsY0FBY3BDLGVBQWVtQztJQUNuQ0MsWUFBWUMsSUFBSSxHQUFHaEM7SUFDbkIrQixZQUFZRSxXQUFXLEdBQUcsR0FBRzdCLFFBQVEsWUFBWSxDQUFDO0lBQ2xEMkIsWUFBWUcsT0FBTyxHQUFHO0lBQ3RCLE9BQU9ILFlBQVlJLFFBQVE7SUFDM0IsT0FBT0osWUFBWUssTUFBTTtJQUN6QixPQUFPTCxZQUFZTSxZQUFZO0lBQy9CLE9BQU9OLFlBQVlPLFVBQVU7SUFDN0IsT0FBT1AsWUFBWVEsUUFBUTtJQUMzQixPQUFPUixZQUFZUyxJQUFJO0lBRXZCLElBQUk7UUFDRixzQkFBc0I7UUFDdEI1QyxlQUFlbUMsYUFBYUQ7UUFFNUIsZ0JBQWdCO1FBQ2hCLE1BQU1XLGFBQXFCLEdBQUcxQixRQUFRLFVBQVUsQ0FBQztRQUNqRHpCLGNBQWNtRCxZQUFZLENBQUMsRUFBRSxFQUFFekMsU0FBUztJQUMxQyxFQUFFLE9BQU0wQixPQUFPO1FBQ2I1QixJQUFJLENBQUMsRUFBRSxFQUFFTSxRQUFRLFFBQVEsRUFBRXNCLE1BQU1nQixPQUFPLEVBQUUsRUFBRSxTQUFTbEM7UUFDckRMLFNBQVM7UUFDVCxPQUFPO0lBQ1Q7SUFFQSxJQUFHRSxTQUFTO1FBQ1ZPLFFBQVFDLEtBQUssQ0FBQztRQUVkLDhCQUE4QjtRQUM5QkYsUUFBUWdDLEtBQUssQ0FBQzVCO1FBRWQsdUJBQXVCO1FBQ3ZCLElBQUk7WUFDRixNQUFNM0IsTUFBTWtCLGdCQUFnQjtnQkFBQzthQUFVLEVBQUU7Z0JBQ3ZDc0MsVUFBVTtnQkFDVkMsT0FBTztZQUNUO1lBRUEsZUFBZTtZQUNmakMsUUFBUWEsT0FBTyxDQUFDO1FBQ2xCLEVBQUUsT0FBTUMsT0FBTztZQUNiLHdCQUF3QjtZQUN4QjVCLElBQUksQ0FBQyxFQUFFLEVBQUVNLFFBQVEsUUFBUSxFQUFFc0IsTUFBTWdCLE9BQU8sRUFBRSxFQUFFLFNBQVNsQztZQUVyRCxlQUFlO1lBQ2ZJLFFBQVFnQixJQUFJLENBQUM7WUFFYixlQUFlO1lBQ2Z6QixTQUFTO1lBQ1QsT0FBTztRQUNUO0lBQ0Y7SUFFQSxlQUFlO0lBQ2ZBLFNBQVM7SUFDVCxPQUFPO0FBQ1QsRUFBRSJ9
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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 { checkLinkedModules } from '../../utils/app.js';
|
|
6
|
+
import { log } from '../../utils/log.js';
|
|
7
|
+
export const linked = async (cmd, callback = ()=>({}))=>{
|
|
8
|
+
const { cliName = 'Lex', quiet } = cmd;
|
|
9
|
+
// Display status
|
|
10
|
+
log(`${cliName} checking for linked modules...`, 'info', quiet);
|
|
11
|
+
// Get custom configuration
|
|
12
|
+
await LexConfig.parseConfig(cmd);
|
|
13
|
+
// Check for linked modules
|
|
14
|
+
checkLinkedModules();
|
|
15
|
+
callback(0);
|
|
16
|
+
return Promise.resolve(0);
|
|
11
17
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2xpbmsvbGluay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi8uLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjaGVja0xpbmtlZE1vZHVsZXN9IGZyb20gJy4uLy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBMaW5rT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgTGlua0NhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgY29uc3QgbGlua2VkID0gYXN5bmMgKGNtZDogTGlua09wdGlvbnMsIGNhbGxiYWNrOiBMaW5rQ2FsbGJhY2sgPSAoKSA9PiAoe30pKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgcXVpZXR9ID0gY21kO1xuXG4gIC8vIERpc3BsYXkgc3RhdHVzXG4gIGxvZyhgJHtjbGlOYW1lfSBjaGVja2luZyBmb3IgbGlua2VkIG1vZHVsZXMuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgLy8gQ2hlY2sgZm9yIGxpbmtlZCBtb2R1bGVzXG4gIGNoZWNrTGlua2VkTW9kdWxlcygpO1xuICBjYWxsYmFjaygwKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgwKTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxpQkFBZ0I7QUFDeEIsU0FBUSwwQkFBeUI7QUFDakMsU0FBUSxXQUFVO0FBU1gsTUFBTSxTQUFTLE9BQU8sS0FBa0IsV0FBeUIsT0FBTyxDQUFDLE9BQXdCO0FBQ3RHLFFBQU0sRUFBQyxVQUFVLE9BQU8sTUFBSyxJQUFJO0FBR2pDLE1BQUksR0FBRyxPQUFPLG1DQUFtQyxRQUFRLEtBQUs7QUFHOUQsUUFBTSxVQUFVLFlBQVksR0FBRztBQUcvQixxQkFBbUI7QUFDbkIsV0FBUyxDQUFDO0FBQ1YsU0FBTyxRQUFRLFFBQVEsQ0FBQztBQUMxQjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9saW5rL2xpbmsudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi8uLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjaGVja0xpbmtlZE1vZHVsZXN9IGZyb20gJy4uLy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBMaW5rT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgTGlua0NhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgY29uc3QgbGlua2VkID0gYXN5bmMgKGNtZDogTGlua09wdGlvbnMsIGNhbGxiYWNrOiBMaW5rQ2FsbGJhY2sgPSAoKSA9PiAoe30pKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgcXVpZXR9ID0gY21kO1xuXG4gIC8vIERpc3BsYXkgc3RhdHVzXG4gIGxvZyhgJHtjbGlOYW1lfSBjaGVja2luZyBmb3IgbGlua2VkIG1vZHVsZXMuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgLy8gQ2hlY2sgZm9yIGxpbmtlZCBtb2R1bGVzXG4gIGNoZWNrTGlua2VkTW9kdWxlcygpO1xuICBjYWxsYmFjaygwKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgwKTtcbn07Il0sIm5hbWVzIjpbIkxleENvbmZpZyIsImNoZWNrTGlua2VkTW9kdWxlcyIsImxvZyIsImxpbmtlZCIsImNtZCIsImNhbGxiYWNrIiwiY2xpTmFtZSIsInF1aWV0IiwicGFyc2VDb25maWciLCJQcm9taXNlIiwicmVzb2x2ZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsU0FBUyxRQUFPLHFCQUFxQjtBQUM3QyxTQUFRQyxrQkFBa0IsUUFBTyxxQkFBcUI7QUFDdEQsU0FBUUMsR0FBRyxRQUFPLHFCQUFxQjtBQVN2QyxPQUFPLE1BQU1DLFNBQVMsT0FBT0MsS0FBa0JDLFdBQXlCLElBQU8sQ0FBQSxDQUFDLENBQUEsQ0FBRTtJQUNoRixNQUFNLEVBQUNDLFVBQVUsS0FBSyxFQUFFQyxLQUFLLEVBQUMsR0FBR0g7SUFFakMsaUJBQWlCO0lBQ2pCRixJQUFJLEdBQUdJLFFBQVEsK0JBQStCLENBQUMsRUFBRSxRQUFRQztJQUV6RCwyQkFBMkI7SUFDM0IsTUFBTVAsVUFBVVEsV0FBVyxDQUFDSjtJQUU1QiwyQkFBMkI7SUFDM0JIO0lBQ0FJLFNBQVM7SUFDVCxPQUFPSSxRQUFRQyxPQUFPLENBQUM7QUFDekIsRUFBRSJ9
|