@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.
- package/__mocks__/LexConfig.js +20 -0
- package/__mocks__/boxen.js +7 -0
- package/__mocks__/build.js +16 -0
- package/__mocks__/chalk.js +23 -0
- package/__mocks__/compile.js +8 -0
- package/__mocks__/execa.js +21 -0
- package/__mocks__/ora.js +17 -0
- package/__mocks__/versions.js +12 -0
- package/dist/LexConfig.js +72 -14
- package/dist/commands/ai/ai.js +303 -0
- package/dist/commands/ai/index.js +7 -0
- package/dist/commands/build/build.js +350 -0
- package/dist/commands/clean/clean.js +31 -0
- package/dist/commands/compile/compile.js +195 -0
- package/dist/commands/config/config.js +43 -0
- package/dist/commands/copy/copy.js +38 -0
- package/dist/commands/create/create.js +124 -0
- package/dist/commands/dev/dev.js +70 -0
- package/dist/commands/init/init.js +93 -0
- package/dist/commands/link/link.js +15 -0
- package/dist/commands/lint/lint.js +656 -0
- package/dist/commands/migrate/migrate.js +37 -0
- package/dist/commands/publish/publish.js +104 -0
- package/dist/commands/test/test.js +327 -0
- package/dist/commands/update/update.js +62 -0
- package/dist/commands/upgrade/upgrade.js +47 -0
- package/dist/commands/versions/versions.js +41 -0
- package/dist/create/changelog.js +3 -3
- package/dist/index.js +35 -0
- package/dist/jest.config.lex.d.ts +2 -0
- package/dist/lex.js +25 -22
- package/dist/types.js +1 -0
- package/dist/utils/aiService.js +290 -0
- package/dist/utils/app.js +4 -4
- package/dist/utils/file.js +1 -1
- package/dist/utils/log.js +2 -1
- package/dist/utils/reactShim.js +3 -3
- package/dist/webpack.config.d.ts +2 -0
- package/eslint.config.js +10 -0
- package/index.cjs +20 -0
- package/jest.config.cjs +31 -27
- package/jest.config.lex.js +90 -38
- package/jest.setup.js +5 -0
- package/lex.config.js +50 -0
- package/package.json +70 -50
- package/{.postcssrc.js → postcss.config.js} +21 -9
- package/tsconfig.build.json +7 -16
- package/tsconfig.json +2 -1
- package/webpack.config.js +136 -77
- package/.eslintrc +0 -45
- package/dist/commands/build.js +0 -265
- package/dist/commands/bulid.test.js +0 -317
- package/dist/commands/clean.js +0 -31
- package/dist/commands/clean.test.js +0 -63
- package/dist/commands/compile.js +0 -195
- package/dist/commands/compile.test.js +0 -93
- package/dist/commands/config.js +0 -43
- package/dist/commands/copy.js +0 -38
- package/dist/commands/create.js +0 -116
- package/dist/commands/dev.js +0 -70
- package/dist/commands/init.js +0 -93
- package/dist/commands/link.js +0 -15
- package/dist/commands/lint.js +0 -179
- package/dist/commands/migrate.js +0 -37
- package/dist/commands/publish.js +0 -104
- package/dist/commands/test.js +0 -190
- package/dist/commands/update.js +0 -64
- package/dist/commands/upgrade.js +0 -47
- package/dist/commands/versions.js +0 -41
- package/dist/commands/versions.test.js +0 -49
- package/dist/lint.js +0 -11
- package/jest.setup.ts +0 -3
package/dist/commands/create.js
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync, renameSync, writeFileSync } from "fs";
|
|
2
|
-
import { resolve as pathResolve } from "path";
|
|
3
|
-
import { URL } from "url";
|
|
4
|
-
import { createChangelog } from "../create/changelog.js";
|
|
5
|
-
import { LexConfig } from "../LexConfig.js";
|
|
6
|
-
import { copyFolderRecursiveSync, getFilenames, removeFiles, updateTemplateName } from "../utils/app.js";
|
|
7
|
-
import { log } from "../utils/log.js";
|
|
8
|
-
const create = async (type, cmd, callback = () => ({})) => {
|
|
9
|
-
const { cliName = "Lex", outputFile, outputName, quiet } = cmd;
|
|
10
|
-
const cwd = process.cwd();
|
|
11
|
-
log(`${cliName} creating ${type}...`, "info", quiet);
|
|
12
|
-
await LexConfig.parseConfig(cmd, false);
|
|
13
|
-
const { outputPath, sourcePath, useTypescript } = LexConfig.config;
|
|
14
|
-
if (useTypescript) {
|
|
15
|
-
LexConfig.checkTypescriptConfig();
|
|
16
|
-
}
|
|
17
|
-
const { config } = LexConfig;
|
|
18
|
-
const dirName = new URL(".", import.meta.url).pathname;
|
|
19
|
-
switch (type) {
|
|
20
|
-
case "changelog": {
|
|
21
|
-
const statusChangelog = await createChangelog({ cliName, config, outputFile, quiet });
|
|
22
|
-
callback(statusChangelog);
|
|
23
|
-
return statusChangelog;
|
|
24
|
-
}
|
|
25
|
-
case "store": {
|
|
26
|
-
try {
|
|
27
|
-
const { nameCaps, templateExt, templatePath } = getFilenames({
|
|
28
|
-
cliName,
|
|
29
|
-
name: outputName,
|
|
30
|
-
quiet,
|
|
31
|
-
type,
|
|
32
|
-
useTypescript
|
|
33
|
-
});
|
|
34
|
-
const storePath = `${cwd}/${nameCaps}Store`;
|
|
35
|
-
if (!existsSync(storePath)) {
|
|
36
|
-
copyFolderRecursiveSync(pathResolve(dirName, templatePath, "./.SampleStore"), cwd);
|
|
37
|
-
renameSync(`${cwd}/.SampleStore`, storePath);
|
|
38
|
-
const storeTestPath = `${storePath}/${nameCaps}Store.test${templateExt}`;
|
|
39
|
-
renameSync(`${storePath}/SampleStore.test${templateExt}.txt`, storeTestPath);
|
|
40
|
-
updateTemplateName(storeTestPath, outputName, nameCaps);
|
|
41
|
-
const storeFilePath = `${storePath}/${nameCaps}Store${templateExt}`;
|
|
42
|
-
renameSync(`${storePath}/SampleStore${templateExt}.txt`, storeFilePath);
|
|
43
|
-
updateTemplateName(storeFilePath, outputName, nameCaps);
|
|
44
|
-
} else {
|
|
45
|
-
log(`
|
|
46
|
-
${cliName} Error: Cannot create new ${type}. Directory, ${storePath} already exists.`, "error", quiet);
|
|
47
|
-
callback(1);
|
|
48
|
-
return 1;
|
|
49
|
-
}
|
|
50
|
-
} catch (error) {
|
|
51
|
-
log(`
|
|
52
|
-
${cliName} Error: Cannot create new ${type}. ${error.message}`, "error", quiet);
|
|
53
|
-
callback(1);
|
|
54
|
-
return 1;
|
|
55
|
-
}
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
case "tsconfig": {
|
|
59
|
-
await removeFiles("tsconfig.json", true);
|
|
60
|
-
const templatePath = pathResolve(dirName, "../../tsconfig.template.json");
|
|
61
|
-
let data = readFileSync(templatePath, "utf8");
|
|
62
|
-
data = data.replace(/.\/src/g, sourcePath);
|
|
63
|
-
data = data.replace(/.\/dist/g, outputPath);
|
|
64
|
-
const destPath = pathResolve(cwd, "./tsconfig.json");
|
|
65
|
-
writeFileSync(destPath, data, "utf8");
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
case "view": {
|
|
69
|
-
const { nameCaps, templatePath, templateReact } = getFilenames({
|
|
70
|
-
cliName,
|
|
71
|
-
name: outputName,
|
|
72
|
-
quiet,
|
|
73
|
-
type,
|
|
74
|
-
useTypescript
|
|
75
|
-
});
|
|
76
|
-
const viewPath = `${cwd}/${nameCaps}View`;
|
|
77
|
-
try {
|
|
78
|
-
if (!existsSync(viewPath)) {
|
|
79
|
-
copyFolderRecursiveSync(pathResolve(dirName, templatePath, "./.SampleView"), cwd);
|
|
80
|
-
renameSync(`${cwd}/.SampleView`, viewPath);
|
|
81
|
-
const viewStylePath = `${viewPath}/${outputName}View.css`;
|
|
82
|
-
renameSync(`${viewPath}/sampleView.css`, viewStylePath);
|
|
83
|
-
updateTemplateName(viewStylePath, outputName, nameCaps);
|
|
84
|
-
const viewTestPath = `${viewPath}/${nameCaps}View.test${templateReact}`;
|
|
85
|
-
renameSync(`${viewPath}/SampleView.test${templateReact}.txt`, viewTestPath);
|
|
86
|
-
updateTemplateName(viewTestPath, outputName, nameCaps);
|
|
87
|
-
const viewFilePath = `${viewPath}/${nameCaps}View${templateReact}`;
|
|
88
|
-
renameSync(`${viewPath}/SampleView${templateReact}.txt`, viewFilePath);
|
|
89
|
-
updateTemplateName(viewFilePath, outputName, nameCaps);
|
|
90
|
-
} else {
|
|
91
|
-
log(`
|
|
92
|
-
${cliName} Error: Cannot create new ${type}. Directory, ${viewPath} already exists.`, "error", quiet);
|
|
93
|
-
callback(1);
|
|
94
|
-
return 1;
|
|
95
|
-
}
|
|
96
|
-
} catch (error) {
|
|
97
|
-
log(`
|
|
98
|
-
${cliName} Error: Cannot create new ${type}. ${error.message}`, "error", quiet);
|
|
99
|
-
callback(1);
|
|
100
|
-
return 1;
|
|
101
|
-
}
|
|
102
|
-
break;
|
|
103
|
-
}
|
|
104
|
-
case "vscode": {
|
|
105
|
-
await removeFiles(".vscode", true);
|
|
106
|
-
copyFolderRecursiveSync(pathResolve(dirName, "../../.vscode"), cwd);
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
callback(0);
|
|
111
|
-
return 0;
|
|
112
|
-
};
|
|
113
|
-
export {
|
|
114
|
-
create
|
|
115
|
-
};
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NyZWF0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhpc3RzU3luYywgcmVhZEZpbGVTeW5jLCByZW5hbWVTeW5jLCB3cml0ZUZpbGVTeW5jfSBmcm9tICdmcyc7XG5pbXBvcnQge3Jlc29sdmUgYXMgcGF0aFJlc29sdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtVUkx9IGZyb20gJ3VybCc7XG5cbmltcG9ydCB7Y3JlYXRlQ2hhbmdlbG9nfSBmcm9tICcuLi9jcmVhdGUvY2hhbmdlbG9nLmpzJztcbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjb3B5Rm9sZGVyUmVjdXJzaXZlU3luYywgZ2V0RmlsZW5hbWVzLCByZW1vdmVGaWxlcywgdXBkYXRlVGVtcGxhdGVOYW1lfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGUgPSBhc3luYyAodHlwZTogc3RyaW5nLCBjbWQ6IGFueSwgY2FsbGJhY2s6IGFueSA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBvdXRwdXRGaWxlLCBvdXRwdXROYW1lLCBxdWlldH0gPSBjbWQ7XG4gIGNvbnN0IGN3ZDogc3RyaW5nID0gcHJvY2Vzcy5jd2QoKTtcbiAgbG9nKGAke2NsaU5hbWV9IGNyZWF0aW5nICR7dHlwZX0uLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCwgZmFsc2UpO1xuICBjb25zdCB7b3V0cHV0UGF0aCwgc291cmNlUGF0aCwgdXNlVHlwZXNjcmlwdH0gPSBMZXhDb25maWcuY29uZmlnO1xuXG4gIGlmKHVzZVR5cGVzY3JpcHQpIHtcbiAgICAvLyBNYWtlIHN1cmUgdHNjb25maWcuanNvbiBleGlzdHNcbiAgICBMZXhDb25maWcuY2hlY2tUeXBlc2NyaXB0Q29uZmlnKCk7XG4gIH1cblxuICBjb25zdCB7Y29uZmlnfSA9IExleENvbmZpZztcbiAgY29uc3QgZGlyTmFtZSA9IG5ldyBVUkwoJy4nLCBpbXBvcnQubWV0YS51cmwpLnBhdGhuYW1lO1xuXG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSAnY2hhbmdlbG9nJzoge1xuICAgICAgY29uc3Qgc3RhdHVzQ2hhbmdlbG9nOiBudW1iZXIgPSBhd2FpdCBjcmVhdGVDaGFuZ2Vsb2coe2NsaU5hbWUsIGNvbmZpZywgb3V0cHV0RmlsZSwgcXVpZXR9KTtcbiAgICAgIGNhbGxiYWNrKHN0YXR1c0NoYW5nZWxvZyk7XG4gICAgICByZXR1cm4gc3RhdHVzQ2hhbmdlbG9nO1xuICAgIH1cbiAgICBjYXNlICdzdG9yZSc6IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHtuYW1lQ2FwcywgdGVtcGxhdGVFeHQsIHRlbXBsYXRlUGF0aH0gPSBnZXRGaWxlbmFtZXMoe1xuICAgICAgICAgIGNsaU5hbWUsXG4gICAgICAgICAgbmFtZTogb3V0cHV0TmFtZSxcbiAgICAgICAgICBxdWlldCxcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIHVzZVR5cGVzY3JpcHRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHN0b3JlUGF0aDogc3RyaW5nID0gYCR7Y3dkfS8ke25hbWVDYXBzfVN0b3JlYDtcblxuICAgICAgICBpZighZXhpc3RzU3luYyhzdG9yZVBhdGgpKSB7XG4gICAgICAgICAgLy8gQ29weSBzdG9yZSBmaWxlc1xuICAgICAgICAgIGNvcHlGb2xkZXJSZWN1cnNpdmVTeW5jKHBhdGhSZXNvbHZlKGRpck5hbWUsIHRlbXBsYXRlUGF0aCwgJy4vLlNhbXBsZVN0b3JlJyksIGN3ZCk7XG5cbiAgICAgICAgICAvLyBSZW5hbWUgZGlyZWN0b3J5XG4gICAgICAgICAgcmVuYW1lU3luYyhgJHtjd2R9Ly5TYW1wbGVTdG9yZWAsIHN0b3JlUGF0aCk7XG5cbiAgICAgICAgICAvLyBSZW5hbWUgdGVzdFxuICAgICAgICAgIGNvbnN0IHN0b3JlVGVzdFBhdGg6IHN0cmluZyA9IGAke3N0b3JlUGF0aH0vJHtuYW1lQ2Fwc31TdG9yZS50ZXN0JHt0ZW1wbGF0ZUV4dH1gO1xuICAgICAgICAgIHJlbmFtZVN5bmMoYCR7c3RvcmVQYXRofS9TYW1wbGVTdG9yZS50ZXN0JHt0ZW1wbGF0ZUV4dH0udHh0YCwgc3RvcmVUZXN0UGF0aCk7XG5cbiAgICAgICAgICAvLyBTZWFyY2ggYW5kIHJlcGxhY2Ugc3RvcmUgbmFtZVxuICAgICAgICAgIHVwZGF0ZVRlbXBsYXRlTmFtZShzdG9yZVRlc3RQYXRoLCBvdXRwdXROYW1lLCBuYW1lQ2Fwcyk7XG5cbiAgICAgICAgICAvLyBSZW5hbWUgc291cmNlIGZpbGVcbiAgICAgICAgICBjb25zdCBzdG9yZUZpbGVQYXRoOiBzdHJpbmcgPSBgJHtzdG9yZVBhdGh9LyR7bmFtZUNhcHN9U3RvcmUke3RlbXBsYXRlRXh0fWA7XG4gICAgICAgICAgcmVuYW1lU3luYyhgJHtzdG9yZVBhdGh9L1NhbXBsZVN0b3JlJHt0ZW1wbGF0ZUV4dH0udHh0YCwgc3RvcmVGaWxlUGF0aCk7XG5cbiAgICAgICAgICAvLyBTZWFyY2ggYW5kIHJlcGxhY2Ugc3RvcmUgbmFtZVxuICAgICAgICAgIHVwZGF0ZVRlbXBsYXRlTmFtZShzdG9yZUZpbGVQYXRoLCBvdXRwdXROYW1lLCBuYW1lQ2Fwcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBDYW5ub3QgY3JlYXRlIG5ldyAke3R5cGV9LiBEaXJlY3RvcnksICR7c3RvcmVQYXRofSBhbHJlYWR5IGV4aXN0cy5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICAgICAgY2FsbGJhY2soMSk7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBDYW5ub3QgY3JlYXRlIG5ldyAke3R5cGV9LiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgICAgICBjYWxsYmFjaygxKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSAndHNjb25maWcnOiB7XG4gICAgICAvLyBSZW1vdmUgZXhpc3RpbmcgZmlsZVxuICAgICAgYXdhaXQgcmVtb3ZlRmlsZXMoJ3RzY29uZmlnLmpzb24nLCB0cnVlKTtcblxuICAgICAgLy8gR2V0IHRzY29uZmlnIHRlbXBsYXRlXG4gICAgICBjb25zdCB0ZW1wbGF0ZVBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLi90c2NvbmZpZy50ZW1wbGF0ZS5qc29uJyk7XG4gICAgICBsZXQgZGF0YTogc3RyaW5nID0gcmVhZEZpbGVTeW5jKHRlbXBsYXRlUGF0aCwgJ3V0ZjgnKTtcblxuICAgICAgLy8gVXBkYXRlIExleCB0c2NvbmZpZyB0ZW1wbGF0ZSB3aXRoIHNvdXJjZSBhbmQgb3V0cHV0IGRpcmVjdG9yaWVzXG4gICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC8uXFwvc3JjL2csIHNvdXJjZVBhdGgpO1xuICAgICAgZGF0YSA9IGRhdGEucmVwbGFjZSgvLlxcL2Rpc3QvZywgb3V0cHV0UGF0aCk7XG5cbiAgICAgIC8vIFNhdmUgbmV3IHRzY29uZmlnIHRvIGFwcFxuICAgICAgY29uc3QgZGVzdFBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGN3ZCwgJy4vdHNjb25maWcuanNvbicpO1xuICAgICAgd3JpdGVGaWxlU3luYyhkZXN0UGF0aCwgZGF0YSwgJ3V0ZjgnKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlICd2aWV3Jzoge1xuICAgICAgY29uc3Qge25hbWVDYXBzLCB0ZW1wbGF0ZVBhdGgsIHRlbXBsYXRlUmVhY3R9ID0gZ2V0RmlsZW5hbWVzKHtcbiAgICAgICAgY2xpTmFtZSxcbiAgICAgICAgbmFtZTogb3V0cHV0TmFtZSxcbiAgICAgICAgcXVpZXQsXG4gICAgICAgIHR5cGUsXG4gICAgICAgIHVzZVR5cGVzY3JpcHRcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgdmlld1BhdGg6IHN0cmluZyA9IGAke2N3ZH0vJHtuYW1lQ2Fwc31WaWV3YDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaWYoIWV4aXN0c1N5bmModmlld1BhdGgpKSB7XG4gICAgICAgICAgLy8gQ29weSB2aWV3IGZpbGVzXG4gICAgICAgICAgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmMocGF0aFJlc29sdmUoZGlyTmFtZSwgdGVtcGxhdGVQYXRoLCAnLi8uU2FtcGxlVmlldycpLCBjd2QpO1xuXG4gICAgICAgICAgLy8gUmVuYW1lIGRpcmVjdG9yeVxuICAgICAgICAgIHJlbmFtZVN5bmMoYCR7Y3dkfS8uU2FtcGxlVmlld2AsIHZpZXdQYXRoKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBDU1NcbiAgICAgICAgICBjb25zdCB2aWV3U3R5bGVQYXRoOiBzdHJpbmcgPSBgJHt2aWV3UGF0aH0vJHtvdXRwdXROYW1lfVZpZXcuY3NzYDtcbiAgICAgICAgICByZW5hbWVTeW5jKGAke3ZpZXdQYXRofS9zYW1wbGVWaWV3LmNzc2AsIHZpZXdTdHlsZVBhdGgpO1xuXG4gICAgICAgICAgLy8gU2VhcmNoIGFuZCByZXBsYWNlIHZpZXcgbmFtZVxuICAgICAgICAgIHVwZGF0ZVRlbXBsYXRlTmFtZSh2aWV3U3R5bGVQYXRoLCBvdXRwdXROYW1lLCBuYW1lQ2Fwcyk7XG5cbiAgICAgICAgICAvLyBSZW5hbWUgdGVzdFxuICAgICAgICAgIGNvbnN0IHZpZXdUZXN0UGF0aDogc3RyaW5nID0gYCR7dmlld1BhdGh9LyR7bmFtZUNhcHN9Vmlldy50ZXN0JHt0ZW1wbGF0ZVJlYWN0fWA7XG4gICAgICAgICAgcmVuYW1lU3luYyhgJHt2aWV3UGF0aH0vU2FtcGxlVmlldy50ZXN0JHt0ZW1wbGF0ZVJlYWN0fS50eHRgLCB2aWV3VGVzdFBhdGgpO1xuXG4gICAgICAgICAgLy8gU2VhcmNoIGFuZCByZXBsYWNlIHZpZXcgbmFtZVxuICAgICAgICAgIHVwZGF0ZVRlbXBsYXRlTmFtZSh2aWV3VGVzdFBhdGgsIG91dHB1dE5hbWUsIG5hbWVDYXBzKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBzb3VyY2UgZmlsZVxuICAgICAgICAgIGNvbnN0IHZpZXdGaWxlUGF0aDogc3RyaW5nID0gYCR7dmlld1BhdGh9LyR7bmFtZUNhcHN9VmlldyR7dGVtcGxhdGVSZWFjdH1gO1xuICAgICAgICAgIHJlbmFtZVN5bmMoYCR7dmlld1BhdGh9L1NhbXBsZVZpZXcke3RlbXBsYXRlUmVhY3R9LnR4dGAsIHZpZXdGaWxlUGF0aCk7XG5cbiAgICAgICAgICAvLyBTZWFyY2ggYW5kIHJlcGxhY2UgdmlldyBuYW1lXG4gICAgICAgICAgdXBkYXRlVGVtcGxhdGVOYW1lKHZpZXdGaWxlUGF0aCwgb3V0cHV0TmFtZSwgbmFtZUNhcHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogQ2Fubm90IGNyZWF0ZSBuZXcgJHt0eXBlfS4gRGlyZWN0b3J5LCAke3ZpZXdQYXRofSBhbHJlYWR5IGV4aXN0cy5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICAgICAgY2FsbGJhY2soMSk7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBDYW5ub3QgY3JlYXRlIG5ldyAke3R5cGV9LiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgICAgICBjYWxsYmFjaygxKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSAndnNjb2RlJzoge1xuICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGRpcmVjdG9yeVxuICAgICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy52c2NvZGUnLCB0cnVlKTtcblxuICAgICAgLy8gQ29weSB2c2NvZGUgY29uZmlndXJhdGlvblxuICAgICAgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmMocGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uLy52c2NvZGUnKSwgY3dkKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGNhbGxiYWNrKDApO1xuICByZXR1cm4gMDtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLFlBQVksY0FBYyxZQUFZLHFCQUFvQjtBQUNsRSxTQUFRLFdBQVcsbUJBQWtCO0FBQ3JDLFNBQVEsV0FBVTtBQUVsQixTQUFRLHVCQUFzQjtBQUM5QixTQUFRLGlCQUFnQjtBQUN4QixTQUFRLHlCQUF5QixjQUFjLGFBQWEsMEJBQXlCO0FBQ3JGLFNBQVEsV0FBVTtBQUVYLE1BQU0sU0FBUyxPQUFPLE1BQWMsS0FBVSxXQUFnQixPQUFPLENBQUMsT0FBd0I7QUFDbkcsUUFBTSxFQUFDLFVBQVUsT0FBTyxZQUFZLFlBQVksTUFBSyxJQUFJO0FBQ3pELFFBQU0sTUFBYyxRQUFRLElBQUk7QUFDaEMsTUFBSSxHQUFHLE9BQU8sYUFBYSxJQUFJLE9BQU8sUUFBUSxLQUFLO0FBR25ELFFBQU0sVUFBVSxZQUFZLEtBQUssS0FBSztBQUN0QyxRQUFNLEVBQUMsWUFBWSxZQUFZLGNBQWEsSUFBSSxVQUFVO0FBRTFELE1BQUcsZUFBZTtBQUVoQixjQUFVLHNCQUFzQjtBQUFBLEVBQ2xDO0FBRUEsUUFBTSxFQUFDLE9BQU0sSUFBSTtBQUNqQixRQUFNLFVBQVUs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
|
package/dist/commands/dev.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2Rldi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7cmVzb2x2ZSBhcyBwYXRoUmVzb2x2ZX0gZnJvbSAncGF0aCc7XG5pbXBvcnQge1VSTH0gZnJvbSAndXJsJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIHJlbW92ZUZpbGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtyZWxhdGl2ZU5vZGVQYXRofSBmcm9tICcuLi91dGlscy9maWxlLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi91dGlscy9sb2cuanMnO1xuXG5leHBvcnQgY29uc3QgZGV2ID0gYXN5bmMgKGNtZDogYW55LCBjYWxsYmFjazogYW55ID0gKCkgPT4gKHt9KSk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtidW5kbGVBbmFseXplciwgY2xpTmFtZSA9ICdMZXgnLCBjb25maWcsIG9wZW4gPSBmYWxzZSwgcXVpZXQsIHJlbW92ZSwgdmFyaWFibGVzfSA9IGNtZDtcblxuICAvLyBTcGlubmVyXG4gIGNvbnN0IHNwaW5uZXIgPSBjcmVhdGVTcGlubmVyKHF1aWV0KTtcblxuICAvLyBEaXNwbGF5IHN0YXR1c1xuICBsb2coYCR7Y2xpTmFtZX0gc3RhcnQgZGV2ZWxvcG1lbnQgc2VydmVyLi4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuXG4gIGNvbnN0IHtvdXRwdXRGdWxsUGF0aCwgdXNlVHlwZXNjcmlwdH0gPSBMZXhDb25maWcuY29uZmlnO1xuXG4gIC8vIFNldCBub2RlIGVudmlyb25tZW50IHZhcmlhYmxlc1xuICBsZXQgdmFyaWFibGVzT2JqOiBvYmplY3QgPSB7Tk9ERV9FTlY6ICdkZXZlbG9wbWVudCd9O1xuXG4gIGlmKHZhcmlhYmxlcykge1xuICAgIHRyeSB7XG4gICAgICB2YXJpYWJsZXNPYmogPSBKU09OLnBhcnNlKHZhcmlhYmxlcyk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIEpTT04gb2JqZWN0LmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgcHJvY2Vzcy5lbnYgPSB7Li4ucHJvY2Vzcy5lbnYsIC4uLnZhcmlhYmxlc09ian07XG5cbiAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgIC8vIE1ha2Ugc3VyZSB0c2NvbmZpZy5qc29uIGV4aXN0c1xuICAgIExleENvbmZpZy5jaGVja1R5cGVzY3JpcHRDb25maWcoKTtcbiAgfVxuXG4gIC8vIENsZWFuIG91dHB1dCBkaXJlY3RvcnkgYmVmb3JlIHdlIHN0YXJ0IGFkZGluZyBpbiBuZXcgZmlsZXNcbiAgaWYocmVtb3ZlKSB7XG4gICAgLy8gU3RhcnQgY2xlYW5pbmcgc3Bpbm5lclxuICAgIHNwaW5uZXIuc3RhcnQoJ0NsZWFuaW5nIG91dHB1dCBkaXJlY3RvcnkuLi4nKTtcblxuICAgIC8vIENsZWFuXG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMob3V0cHV0RnVsbFBhdGgpO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgY2xlYW5lZCBvdXRwdXQgZGlyZWN0b3J5IScpO1xuICB9XG5cbiAgLy8gR2V0IGN1c3RvbSB3ZWJwYWNrIGNvbmZpZ3VyYXRpb24gZmlsZVxuICBjb25zdCBkaXJOYW1lID0gbmV3IFVSTCgnLicsIGltcG9ydC5tZXRhLnVybCkucGF0aG5hbWU7XG4gIGNvbnN0IHdlYnBhY2tDb25maWc6IHN0cmluZyA9IGNvbmZpZyB8fCBwYXRoUmVzb2x2ZShkaXJOYW1lLCAnLi4vLi4vd2VicGFjay5jb25maWcuanMnKTtcblxuICAvLyBDb21waWxlIHVzaW5nIHdlYnBhY2tcbiAgY29uc3Qgd2VicGFja09wdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICctLWNvbG9yJyxcbiAgICAnLS13YXRjaCcsXG4gICAgJy0tY29uZmlnJywgd2VicGFja0NvbmZpZ1xuICBdO1xuXG4gIGlmKGJ1bmRsZUFuYWx5emVyKSB7XG4gICAgd2VicGFja09wdGlvbnMucHVzaCgnLS1idW5kbGVBbmFseXplcicpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBkaXJQYXRoOiBzdHJpbmcgPSBwYXRoUmVzb2x2ZShkaXJOYW1lLCAnLi4vLi4nKTtcbiAgICBjb25zdCB3ZWJwYWNrUGF0aDogc3RyaW5nID0gcmVsYXRpdmVOb2RlUGF0aCgnd2VicGFjay1jbGkvYmluL2NsaS5qcycsIGRpclBhdGgpO1xuICAgIGF3YWl0IGV4ZWNhKHdlYnBhY2tQYXRoLCB3ZWJwYWNrT3B0aW9ucywge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIGVudjoge1xuICAgICAgICBMRVhfUVVJRVQ6IHF1aWV0LFxuICAgICAgICBXRUJQQUNLX0RFVl9PUEVOOiBvcGVuXG4gICAgICB9LFxuICAgICAgc3RkaW86ICdpbmhlcml0J1xuICAgIH0pO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdEZXZlbG9wbWVudCBzZXJ2ZXIgc3RhcnRlZC4nKTtcblxuICAgIGNhbGxiYWNrKDApO1xuICAgIHJldHVybiAwO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5mYWlsKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgcnVubmluZyBXZWJwYWNrLicpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLGFBQVk7QUFDcEIsU0FBUSxXQUFXLG1CQUFrQjtBQUNyQyxTQUFRLFdBQVU7QUFFbEIsU0FBUSxpQkFBZ0I7QUFDeEIsU0FBUSxlQUFlLG1CQUFrQjtBQUN6QyxTQUFRLHdCQUF1QjtBQUMvQixTQUFRLFdBQVU7QUFFWCxNQUFNLE1BQU0sT0FBTyxLQUFVLFdBQWdCLE9BQU8sQ0FBQyxPQUF3QjtBQUNsRixRQUFNLEVBQUMsZ0JBQWdCLFVBQVUsT0FBTyxRQUFRLE9BQU8sT0FBTyxPQUFPLFFBQVEsVUFBUyxJQUFJO0FBRzFGLFFBQU0sVUFBVSxjQUFjLEtBQUs7QUFHbkMsTUFBSSxHQUFHLE9BQU8sZ0NBQWdDLFFBQVEsS0FBSztBQUczRCxRQUFNLFVBQVUsWUFBWSxHQUFHO0FBRS9CLFFBQU0sRUFBQyxnQkFBZ0IsY0FBYSxJQUFJLFVBQVU7QUFHbEQsTUFBSSxlQUF1QixFQUFDLFVBQVUsY0FBYTtBQUVuRCxNQUFHLFdBQVc7QUFDWixRQUFJO0FBQ0YscUJBQWUsS0FBSyxNQUFNLFNBQVM7QUFBQSxJQUNyQyxTQUFRLE9BQU87QUFDYixVQUFJO0FBQUEsRUFBSyxPQUFPLG9FQUFvRSxTQUFTLEtBQUs7QUFDbEcsZUFBUyxDQUFDO0FBQ1YsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBRUEsVUFBUSxNQUFNLEVBQUMsR0FBRyxRQUFRLEtBQUssR0FBRyxhQUFZO0FBRTlDLE1BQUcsZUFBZTtBQUVoQixjQUFVLHNCQUFzQjtBQUFBLEVBQ2xDO0FBR0EsTUFBRyxRQUFRO0FBRVQsWUFBUSxNQUFNLDhCQUE4QjtBQUc1QyxVQUFNLFlBQVksY0FBYztBQUdoQyxZQUFRLFFBQVEsd0NBQXdDO0FBQUEsRUFDMUQ7QUFHQSxRQUFNLFVBQVUsSUFBSSxJQUFJLEtBQUssWUFBWSxHQUFHLEVBQUU7QUFDOUMsUUFBTSxnQkFBd0IsVUFBVSxZQUFZLFNBQVMseUJBQXlCO0FBR3RGLFFBQU0saUJBQTJCO0FBQUEsSUFDL0I7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQVk7QUFBQSxFQUNkO0FBRUEsTUFBRyxnQkFBZ0I7QUFDakIsbUJBQWUsS0FBSyxrQkFBa0I7QUFBQSxFQUN4QztBQUVBLE1BQUk7QUFDRixVQUFNLFVBQWtCLFlBQVksU0FBUyxPQUFPO0FBQ3BELFVBQU0sY0FBc0IsaUJBQWlCLDBCQUEwQixPQUFPO0FBQzlFLFVBQU0sTUFBTSxhQUFhLGdCQUFnQjtBQUFBLE1BQ3ZDLFVBQVU7QUFBQSxNQUNWLEtBQUs7QUFBQSxRQUNILFdBQVc7QUFBQSxRQUNYLGtCQUFrQjtBQUFBLE1BQ3BCO0FBQUEsTUFDQSxPQUFPO0FBQUEsSUFDVCxDQUFDO0FBR0QsWUFBUSxRQUFRLDZCQUE2QjtBQUU3QyxhQUFTLENBQUM7QUFDVixXQUFPO0FBQUEsRUFDVCxTQUFRLE9BQU87QUFFYixRQUFJO0FBQUEsRUFBSyxPQUFPLFdBQVcsTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLO0FBRzFELFlBQVEsS0FBSywyQ0FBMkM7QUFHeEQsYUFBUyxDQUFDO0FBQ1YsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
package/dist/commands/init.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2luaXQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge3JlbmFtZVN5bmMsIHdyaXRlRmlsZVN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCB7cmVzb2x2ZSBhcyBwYXRoUmVzb2x2ZX0gZnJvbSAncGF0aCc7XG5pbXBvcnQge1VSTH0gZnJvbSAndXJsJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIGdldFBhY2thZ2VKc29uLCBzZXRQYWNrYWdlSnNvbn0gZnJvbSAnLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi91dGlscy9sb2cuanMnO1xuXG5leHBvcnQgY29uc3QgaW5pdCA9IGFzeW5jIChcbiAgYXBwTmFtZTogc3RyaW5nLFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICBjbWQ6IGFueSxcbiAgY2FsbGJhY2s6IGFueSA9ICgpID0+ICh7fSlcbik6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtjbGlOYW1lID0gJ0xleCcsIGluc3RhbGwsIHBhY2thZ2VNYW5hZ2VyOiBjbWRQYWNrYWdlTWFuYWdlciwgcXVpZXQsIHR5cGVzY3JpcHR9ID0gY21kO1xuICBjb25zdCBjd2Q6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgLy8gU3Bpbm5lclxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgLy8gRG93bmxvYWQgYXBwIG1vZHVsZSBpbnRvIHRlbXBvcmFyeSBkaXJlY3RvcnlcbiAgbG9nKGAke2NsaU5hbWV9IGlzIGRvd25sb2FkaW5nIHRoZSBhcHAgbW9kdWxlLi4uYCwgJ2luZm8nLCBxdWlldCk7XG4gIHNwaW5uZXIuc3RhcnQoJ0Rvd25sb2FkaW5nIGFwcC4uLicpO1xuICBjb25zdCB0bXBQYXRoOiBzdHJpbmcgPSBwYXRoUmVzb2x2ZShjd2QsICcuLy5sZXhUbXAnKTtcbiAgY29uc3QgYXBwUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoY3dkLCBgLi8ke2FwcE5hbWV9YCk7XG4gIGNvbnN0IGRpck5hbWUgPSBuZXcgVVJMKCcuJywgaW1wb3J0Lm1ldGEudXJsKS5wYXRobmFtZTtcbiAgY29uc3QgZG5wUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uL25vZGVfbW9kdWxlcy9kb3dubG9hZC1ucG0tcGFja2FnZS9iaW4vY2xpLmpzJyk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuICBjb25zdCB7cGFja2FnZU1hbmFnZXI6IGNvbmZpZ1BhY2thZ2VNYW5hZ2VyLCB1c2VUeXBlc2NyaXB0OiBjb25maWdUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG4gIGNvbnN0IHBhY2thZ2VNYW5hZ2VyOiBzdHJpbmcgPSBjbWRQYWNrYWdlTWFuYWdlciB8fCBjb25maWdQYWNrYWdlTWFuYWdlcjtcbiAgY29uc3QgdXNlVHlwZXNjcmlwdDogYm9vbGVhbiA9IHR5cGVzY3JpcHQgIT09IHVuZGVmaW5lZCA/IHR5cGVzY3JpcHQgOiBjb25maWdUeXBlc2NyaXB0O1xuXG4gIGxldCBhcHBNb2R1bGU6IHN0cmluZyA9IHBhY2thZ2VOYW1lO1xuXG4gIC8vIFVzZSBiYXNlIGFwcCBtb2R1bGUgYmFzZWQgb24gY29uZmlnXG4gIGlmKCFhcHBNb2R1bGUpIHtcbiAgICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgICBhcHBNb2R1bGUgPSAnQG5sYWJzL2Fya2hhbWpzLWV4YW1wbGUtdHMtcmVhY3QnO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBNb2R1bGUgPSAnQG5sYWJzL2Fya2hhbWpzLWV4YW1wbGUtZmxvdy1yZWFjdCc7XG4gICAgfVxuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBleGVjYShkbnBQYXRoLCBbYXBwTW9kdWxlLCB0bXBQYXRoXSwge30pO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyIGFuZCB1cGRhdGUgc3RhdHVzXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgZG93bmxvYWRlZCBhcHAhJyk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBjb25zb2xlLmxvZygnZXJyb3InLCBlcnJvcik7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBUaGVyZSB3YXMgYW4gZXJyb3IgZG93bmxvYWRpbmcgJHthcHBNb2R1bGV9LiBNYWtlIHN1cmUgdGhlIHBhY2thZ2UgZXhpc3RzIGFuZCB0aGVyZSBpcyBhIG5ldHdvcmsgY29ubmVjdGlvbi5gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXIgYW5kIGtpbGwgcHJvY2Vzc1xuICAgIHNwaW5uZXIuZmFpbCgnRG93bmxvYWRlZCBvZiBhcHAgZmFpbGVkLicpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICAvLyBNb3ZlIGludG8gY29uZmlndXJlZCBkaXJlY3RvcnlcbiAgdHJ5IHtcbiAgICByZW5hbWVTeW5jKGAke3RtcFBhdGh9LyR7YXBwTW9kdWxlfWAsIGFwcFBhdGgpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBUaGVyZSB3YXMgYW4gZXJyb3IgY29weWluZyAke2FwcE1vZHVsZX0gdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuYCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgLy8gQ29uZmlndXJlIHBhY2thZ2UuanNvblxuICBjb25zdCBwYWNrYWdlUGF0aDogc3RyaW5nID0gYCR7YXBwUGF0aH0vcGFja2FnZS5qc29uYDtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBnZXRQYWNrYWdlSnNvbihwYWNrYWdlUGF0aCk7XG4gIHBhY2thZ2VKc29uLm5hbWUgPSBhcHBOYW1lO1xuICBwYWNrYWdlSnNvbi5kZXNjcmlwdGlvbiA9IGAke2NsaU5hbWV9IGNyZWF0ZWQgYXBwYDtcbiAgcGFja2FnZUpzb24udmVyc2lvbiA9ICcwLjEuMCc7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5rZXl3b3JkcztcbiAgZGVsZXRlIHBhY2thZ2VKc29uLmF1dGhvcjtcbiAgZGVsZXRlIHBhY2thZ2VKc29uLmNvbnRyaWJ1dG9ycztcbiAgZGVsZXRlIHBhY2thZ2VKc29uLnJlcG9zaXRvcnk7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5ob21lcGFnZTtcbiAgZGVsZXRlIHBhY2thZ2VKc29uLmJ1Z3M7XG5cbiAgdHJ5IHtcbiAgICAvLyBVcGRhdGUgcGFja2FnZS5qc29uXG4gICAgc2V0UGFja2FnZUpzb24ocGFja2FnZUpzb24sIHBhY2thZ2VQYXRoKTtcblxuICAgIC8vIFVwZGF0ZSBSRUFETUVcbiAgICBjb25zdCByZWFkbWVQYXRoOiBzdHJpbmcgPSBgJHthcHBQYXRofS9SRUFETUUubWRgO1xuICAgIHdyaXRlRmlsZVN5bmMocmVhZG1lUGF0aCwgYCMgJHthcHBOYW1lfWApO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgaWYoaW5zdGFsbCkge1xuICAgIHNwaW5uZXIuc3RhcnQoJ0luc3RhbGxpbmcgZGVwZW5kZW5jaWVzLi4uJyk7XG5cbiAgICAvLyBDaGFuZ2UgdG8gdGhlIGFwcCBkaXJlY3RvcnlcbiAgICBwcm9jZXNzLmNoZGlyKGFwcFBhdGgpO1xuXG4gICAgLy8gSW5zdGFsbCBkZXBlbmRlbmNpZXNcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZXhlY2EocGFja2FnZU1hbmFnZXIsIFsnaW5zdGFsbCddLCB7XG4gICAgICAgIGVuY29kaW5nOiAndXRmOCcsXG4gICAgICAgIHN0ZGlvOiAnaW5oZXJpdCdcbiAgICAgIH0pO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuc3VjY2VlZCgnU3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCBkZXBlbmRlbmNpZXMhJyk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gaW5zdGFsbCBkZXBlbmRlbmNpZXMuJyk7XG5cbiAgICAgIC8vIEtpbGwgcHJvY2Vzc1xuICAgICAgY2FsbGJhY2soMSk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvLyBLaWxsIHByb2Nlc3NcbiAgY2FsbGJhY2soMCk7XG4gIHJldHVybiAwO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsYUFBWTtBQUNwQixTQUFRLFlBQVkscUJBQW9CO0FBQ3hDLFNBQVEsV0FBVyxtQkFBa0I7QUFDckMsU0FBUSxXQUFVO0FBRWxCLFNBQVEsaUJBQWdCO0FBQ3hCLFNBQVEsZUFBZSxnQkFBZ0Isc0JBQXFCO0FBQzVELFNBQVEsV0FBVTtBQUVYLE1BQU0sT0FBTyxPQUNsQixTQUNBLGFBQ0EsS0FDQSxXQUFnQixPQUFPLENBQUMsT0FDSjtBQUNwQixRQUFNLEVBQUMsVUFBVSxPQUFPLFNBQVMsZ0JB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
|
package/dist/commands/link.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge0xleENvbmZpZ30gZnJvbSAnLi4vTGV4Q29uZmlnLmpzJztcbmltcG9ydCB7Y2hlY2tMaW5rZWRNb2R1bGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBjb25zdCBsaW5rZWQgPSBhc3luYyAoY21kOiBhbnksIGNhbGxiYWNrOiBhbnkgPSAoKSA9PiAoe30pKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgcXVpZXR9ID0gY21kO1xuXG4gIC8vIERpc3BsYXkgc3RhdHVzXG4gIGxvZyhgJHtjbGlOYW1lfSBjaGVja2luZyBmb3IgbGlua2VkIG1vZHVsZXMuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgLy8gQ2hlY2sgZm9yIGxpbmtlZCBtb2R1bGVzXG4gIGNoZWNrTGlua2VkTW9kdWxlcygpO1xuICBjYWxsYmFjaygwKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgwKTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLGlCQUFnQjtBQUN4QixTQUFRLDBCQUF5QjtBQUNqQyxTQUFRLFdBQVU7QUFFWCxNQUFNLFNBQVMsT0FBTyxLQUFVLFdBQWdCLE9BQU8sQ0FBQyxPQUF3QjtBQUNyRixRQUFNLEVBQUMsVUFBVSxPQUFPLE1BQUssSUFBSTtBQUdqQyxNQUFJLEdBQUcsT0FBTyxtQ0FBbUMsUUFBUSxLQUFLO0FBRzlELFFBQU0sVUFBVSxZQUFZLEdBQUc7QUFHL0IscUJBQW1CO0FBQ25CLFdBQVMsQ0FBQztBQUNWLFNBQU8sUUFBUSxRQUFRLENBQUM7QUFDMUI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
package/dist/commands/lint.js
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
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 } from "../utils/app.js";
|
|
6
|
-
import { relativeNodePath } from "../utils/file.js";
|
|
7
|
-
import { log } from "../utils/log.js";
|
|
8
|
-
const lint = async (cmd, callback = process.exit) => {
|
|
9
|
-
const {
|
|
10
|
-
cache,
|
|
11
|
-
cacheFile,
|
|
12
|
-
cacheLocation,
|
|
13
|
-
cliName = "Lex",
|
|
14
|
-
color,
|
|
15
|
-
config,
|
|
16
|
-
debug,
|
|
17
|
-
env,
|
|
18
|
-
envInfo,
|
|
19
|
-
ext = ".js",
|
|
20
|
-
fix,
|
|
21
|
-
fixDryRun,
|
|
22
|
-
fixType,
|
|
23
|
-
format,
|
|
24
|
-
global,
|
|
25
|
-
ignorePath,
|
|
26
|
-
ignorePattern,
|
|
27
|
-
init,
|
|
28
|
-
maxWarnings,
|
|
29
|
-
noColor,
|
|
30
|
-
noEslintrc = true,
|
|
31
|
-
noIgnore,
|
|
32
|
-
noInlineConfig,
|
|
33
|
-
outputFile,
|
|
34
|
-
parser,
|
|
35
|
-
parserOptions,
|
|
36
|
-
plugin,
|
|
37
|
-
printConfig,
|
|
38
|
-
quiet,
|
|
39
|
-
reportUnusedDisableDirectives,
|
|
40
|
-
resolvePluginsRelativeTo,
|
|
41
|
-
rule,
|
|
42
|
-
rulesdir,
|
|
43
|
-
stdin,
|
|
44
|
-
stdinFilename
|
|
45
|
-
} = cmd;
|
|
46
|
-
log(`${cliName} linting...`, "info", quiet);
|
|
47
|
-
const spinner = createSpinner(quiet);
|
|
48
|
-
await LexConfig.parseConfig(cmd);
|
|
49
|
-
const { useTypescript } = LexConfig.config;
|
|
50
|
-
let extensions = ext;
|
|
51
|
-
if (useTypescript) {
|
|
52
|
-
LexConfig.checkTypescriptConfig();
|
|
53
|
-
extensions = ".ts,.tsx";
|
|
54
|
-
}
|
|
55
|
-
const dirName = new URL(".", import.meta.url).pathname;
|
|
56
|
-
const dirPath = pathResolve(dirName, "../..");
|
|
57
|
-
const eslintPath = relativeNodePath("eslint/bin/eslint.js", dirPath);
|
|
58
|
-
const eslintOptions = ["./src"];
|
|
59
|
-
if (noEslintrc) {
|
|
60
|
-
eslintOptions.push("--no-eslintrc");
|
|
61
|
-
}
|
|
62
|
-
if (config) {
|
|
63
|
-
eslintOptions.push("--config", config);
|
|
64
|
-
} else {
|
|
65
|
-
let configPath;
|
|
66
|
-
if (useTypescript) {
|
|
67
|
-
configPath = relativeNodePath("eslint-config-styleguidejs/typescript.js", dirPath);
|
|
68
|
-
} else {
|
|
69
|
-
configPath = relativeNodePath("eslint-config-styleguidejs/react.js", dirPath);
|
|
70
|
-
}
|
|
71
|
-
eslintOptions.push("--config", configPath);
|
|
72
|
-
}
|
|
73
|
-
if (env) {
|
|
74
|
-
eslintOptions.push("--env", env);
|
|
75
|
-
}
|
|
76
|
-
if (extensions) {
|
|
77
|
-
eslintOptions.push("--ext", extensions);
|
|
78
|
-
}
|
|
79
|
-
if (global) {
|
|
80
|
-
eslintOptions.push("--global", global);
|
|
81
|
-
}
|
|
82
|
-
if (parser) {
|
|
83
|
-
eslintOptions.push("--parser", parser);
|
|
84
|
-
}
|
|
85
|
-
if (parserOptions) {
|
|
86
|
-
eslintOptions.push("--parserOptions", parserOptions);
|
|
87
|
-
}
|
|
88
|
-
if (resolvePluginsRelativeTo) {
|
|
89
|
-
eslintOptions.push("--resolvePluginsRelativeTo", resolvePluginsRelativeTo);
|
|
90
|
-
}
|
|
91
|
-
if (rulesdir) {
|
|
92
|
-
eslintOptions.push("--rulesdir", rulesdir);
|
|
93
|
-
}
|
|
94
|
-
if (plugin) {
|
|
95
|
-
eslintOptions.push("--plugin", plugin);
|
|
96
|
-
}
|
|
97
|
-
if (rule) {
|
|
98
|
-
eslintOptions.push("--rule", rule);
|
|
99
|
-
}
|
|
100
|
-
if (fix) {
|
|
101
|
-
eslintOptions.push("--fix");
|
|
102
|
-
}
|
|
103
|
-
if (fixDryRun) {
|
|
104
|
-
eslintOptions.push("--fixDryRun");
|
|
105
|
-
}
|
|
106
|
-
if (fixType) {
|
|
107
|
-
eslintOptions.push("--fixType", fixType);
|
|
108
|
-
}
|
|
109
|
-
if (ignorePath) {
|
|
110
|
-
eslintOptions.push("--ignorePath", ignorePath);
|
|
111
|
-
}
|
|
112
|
-
if (noIgnore) {
|
|
113
|
-
eslintOptions.push("--noIgnore");
|
|
114
|
-
}
|
|
115
|
-
if (ignorePattern) {
|
|
116
|
-
eslintOptions.push("--ignorePattern", ignorePattern);
|
|
117
|
-
}
|
|
118
|
-
if (stdin) {
|
|
119
|
-
eslintOptions.push("--stdin");
|
|
120
|
-
}
|
|
121
|
-
if (stdinFilename) {
|
|
122
|
-
eslintOptions.push("--stdinFilename", stdinFilename);
|
|
123
|
-
}
|
|
124
|
-
if (maxWarnings) {
|
|
125
|
-
eslintOptions.push("--maxWarnings", maxWarnings);
|
|
126
|
-
}
|
|
127
|
-
if (outputFile) {
|
|
128
|
-
eslintOptions.push("--outputFile", outputFile);
|
|
129
|
-
}
|
|
130
|
-
if (format) {
|
|
131
|
-
eslintOptions.push("--format", format);
|
|
132
|
-
}
|
|
133
|
-
if (color) {
|
|
134
|
-
eslintOptions.push("--color");
|
|
135
|
-
}
|
|
136
|
-
if (noColor) {
|
|
137
|
-
eslintOptions.push("--noColor");
|
|
138
|
-
}
|
|
139
|
-
if (noInlineConfig) {
|
|
140
|
-
eslintOptions.push("--noInlineConfig", noInlineConfig);
|
|
141
|
-
}
|
|
142
|
-
if (reportUnusedDisableDirectives) {
|
|
143
|
-
eslintOptions.push("--reportUnusedDisableDirectives");
|
|
144
|
-
}
|
|
145
|
-
if (cacheLocation) {
|
|
146
|
-
eslintOptions.push("--cacheLocation", cacheLocation);
|
|
147
|
-
}
|
|
148
|
-
if (init) {
|
|
149
|
-
eslintOptions.push("--init");
|
|
150
|
-
}
|
|
151
|
-
if (envInfo) {
|
|
152
|
-
eslintOptions.push("--env-info");
|
|
153
|
-
}
|
|
154
|
-
if (debug) {
|
|
155
|
-
eslintOptions.push("--debug");
|
|
156
|
-
}
|
|
157
|
-
if (printConfig) {
|
|
158
|
-
eslintOptions.push("--printConfig", printConfig);
|
|
159
|
-
}
|
|
160
|
-
try {
|
|
161
|
-
await execa(eslintPath, eslintOptions, {
|
|
162
|
-
encoding: "utf8",
|
|
163
|
-
stdio: "inherit"
|
|
164
|
-
});
|
|
165
|
-
spinner.succeed("Linting completed!");
|
|
166
|
-
callback(0);
|
|
167
|
-
return 0;
|
|
168
|
-
} catch (error) {
|
|
169
|
-
log(`
|
|
170
|
-
${cliName} Error: Check for unit test errors and/or coverage.`, "error", quiet);
|
|
171
|
-
spinner.fail("Testing failed!");
|
|
172
|
-
callback(1);
|
|
173
|
-
return 1;
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
export {
|
|
177
|
-
lint
|
|
178
|
-
};
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2xpbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIyLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge3Jlc29sdmUgYXMgcGF0aFJlc29sdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtVUkx9IGZyb20gJ3VybCc7XG5cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjcmVhdGVTcGlubmVyfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtyZWxhdGl2ZU5vZGVQYXRofSBmcm9tICcuLi91dGlscy9maWxlLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi91dGlscy9sb2cuanMnO1xuXG5leHBvcnQgY29uc3QgbGludCA9IGFzeW5jIChjbWQ6IGFueSwgY2FsbGJhY2s6IGFueSA9IHByb2Nlc3MuZXhpdCk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBjYWNoZSxcbiAgICBjYWNoZUZpbGUsXG4gICAgY2FjaGVMb2NhdGlvbixcbiAgICBjbGlOYW1lID0gJ0xleCcsXG4gICAgY29sb3IsXG4gICAgY29uZmlnLFxuICAgIGRlYnVnLFxuICAgIGVudixcbiAgICBlbnZJbmZvLFxuICAgIGV4dCA9ICcuanMnLFxuICAgIGZpeCxcbiAgICBmaXhEcnlSdW4sXG4gICAgZml4VHlwZSxcbiAgICBmb3JtYXQsXG4gICAgZ2xvYmFsLFxuICAgIGlnbm9yZVBhdGgsXG4gICAgaWdub3JlUGF0dGVybixcbiAgICBpbml0LFxuICAgIG1heFdhcm5pbmdzLFxuICAgIG5vQ29sb3IsXG4gICAgbm9Fc2xpbnRyYyA9IHRydWUsXG4gICAgbm9JZ25vcmUsXG4gICAgbm9JbmxpbmVDb25maWcsXG4gICAgb3V0cHV0RmlsZSxcbiAgICBwYXJzZXIsXG4gICAgcGFyc2VyT3B0aW9ucyxcbiAgICBwbHVnaW4sXG4gICAgcHJpbnRDb25maWcsXG4gICAgcXVpZXQsXG4gICAgcmVwb3J0VW51c2VkRGlzYWJsZURpcmVjdGl2ZXMsXG4gICAgcmVzb2x2ZVBsdWdpbnNSZWxhdGl2ZVRvLFxuICAgIHJ1bGUsXG4gICAgcnVsZXNkaXIsXG4gICAgc3RkaW4sXG4gICAgc3RkaW5GaWxlbmFtZVxuICB9ID0gY21kO1xuXG4gIGxvZyhgJHtjbGlOYW1lfSBsaW50aW5nLi4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgLy8gU3Bpbm5lclxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuXG4gIGNvbnN0IHt1c2VUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG4gIGxldCBleHRlbnNpb25zID0gZXh0O1xuXG4gIGlmKHVzZVR5cGVzY3JpcHQpIHtcbiAgICBMZXhDb25maWcuY2hlY2tUeXBlc2NyaXB0Q29uZmlnKCk7XG4gICAgZXh0ZW5zaW9ucyA9ICcudHMsLnRzeCc7XG4gIH1cblxuICAvLyBDb25maWd1cmUgamVzdFxuICBjb25zdCBkaXJOYW1lID0gbmV3IFVSTCgnLicsIGltcG9ydC5tZXRhLnVybCkucGF0aG5hbWU7XG4gIGNvbnN0IGRpclBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLicpO1xuICBjb25zdCBlc2xpbnRQYXRoOiBzdHJpbmcgPSByZWxhdGl2ZU5vZGVQYXRoKCdlc2xpbnQvYmluL2VzbGludC5qcycsIGRpclBhdGgpO1xuICBjb25zdCBlc2xpbnRPcHRpb25zOiBzdHJpbmdbXSA9IFsnLi9zcmMnXTtcblxuICBpZihub0VzbGludHJjKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLW5vLWVzbGludHJjJyk7XG4gIH1cblxuICBpZihjb25maWcpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tY29uZmlnJywgY29uZmlnKTtcbiAgfSBlbHNlIHtcbiAgICBsZXQgY29uZmlnUGF0aDogc3RyaW5nO1xuXG4gICAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgICAgY29uZmlnUGF0aCA9IHJlbGF0aXZlTm9kZVBhdGgoJ2VzbGludC1jb25maWctc3R5bGVndWlkZWpzL3R5cGVzY3JpcHQuanMnLCBkaXJQYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmlnUGF0aCA9IHJlbGF0aXZlTm9kZVBhdGgoJ2VzbGludC1jb25maWctc3R5bGVndWlkZWpzL3JlYWN0LmpzJywgZGlyUGF0aCk7XG4gICAgfVxuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1jb25maWcnLCBjb25maWdQYXRoKTtcbiAgfVxuXG4gIGlmKGVudikge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1lbnYnLCBlbnYpO1xuICB9XG5cbiAgaWYoZXh0ZW5zaW9ucykge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1leHQnLCBleHRlbnNpb25zKTtcbiAgfVxuXG4gIGlmKGdsb2JhbCkge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1nbG9iYWwnLCBnbG9iYWwpO1xuICB9XG5cbiAgaWYocGFyc2VyKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLXBhcnNlcicsIHBhcnNlcik7XG4gIH1cblxuICBpZihwYXJzZXJPcHRpb25zKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLXBhcnNlck9wdGlvbnMnLCBwYXJzZXJPcHRpb25zKTtcbiAgfVxuXG4gIGlmKHJlc29sdmVQbHVnaW5zUmVsYXRpdmVUbykge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1yZXNvbHZlUGx1Z2luc1JlbGF0aXZlVG8nLCByZXNvbHZlUGx1Z2luc1JlbGF0aXZlVG8pO1xuICB9XG5cbiAgaWYocnVsZXNkaXIpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tcnVsZXNkaXInLCBydWxlc2Rpcik7XG4gIH1cblxuICBpZihwbHVnaW4pIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tcGx1Z2luJywgcGx1Z2luKTtcbiAgfVxuXG4gIGlmKHJ1bGUpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tcnVsZScsIHJ1bGUpO1xuICB9XG5cbiAgaWYoZml4KSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWZpeCcpO1xuICB9XG5cbiAgaWYoZml4RHJ5UnVuKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWZpeERyeVJ1bicpO1xuICB9XG5cbiAgaWYoZml4VHlwZSkge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1maXhUeXBlJywgZml4VHlwZSk7XG4gIH1cblxuICBpZihpZ25vcmVQYXRoKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWlnbm9yZVBhdGgnLCBpZ25vcmVQYXRoKTtcbiAgfVxuXG4gIGlmKG5vSWdub3JlKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLW5vSWdub3JlJyk7XG4gIH1cblxuICBpZihpZ25vcmVQYXR0ZXJuKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWlnbm9yZVBhdHRlcm4nLCBpZ25vcmVQYXR0ZXJuKTtcbiAgfVxuXG4gIGlmKHN0ZGluKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLXN0ZGluJyk7XG4gIH1cblxuICBpZihzdGRpbkZpbGVuYW1lKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLXN0ZGluRmlsZW5hbWUnLCBzdGRpbkZpbGVuYW1lKTtcbiAgfVxuXG4gIGlmKG1heFdhcm5pbmdzKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLW1heFdhcm5pbmdzJywgbWF4V2FybmluZ3MpO1xuICB9XG5cbiAgaWYob3V0cHV0RmlsZSkge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1vdXRwdXRGaWxlJywgb3V0cHV0RmlsZSk7XG4gIH1cblxuICBpZihmb3JtYXQpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tZm9ybWF0JywgZm9ybWF0KTtcbiAgfVxuXG4gIGlmKGNvbG9yKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWNvbG9yJyk7XG4gIH1cblxuICBpZihub0NvbG9yKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLW5vQ29sb3InKTtcbiAgfVxuXG4gIGlmKG5vSW5saW5lQ29uZmlnKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLW5vSW5saW5lQ29uZmlnJywgbm9JbmxpbmVDb25maWcpO1xuICB9XG5cbiAgaWYocmVwb3J0VW51c2VkRGlzYWJsZURpcmVjdGl2ZXMpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tcmVwb3J0VW51c2VkRGlzYWJsZURpcmVjdGl2ZXMnKTtcbiAgfVxuXG4gIGlmKGNhY2hlTG9jYXRpb24pIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tY2FjaGVMb2NhdGlvbicsIGNhY2hlTG9jYXRpb24pO1xuICB9XG5cbiAgaWYoaW5pdCkge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1pbml0Jyk7XG4gIH1cblxuICBpZihlbnZJbmZvKSB7XG4gICAgZXNsaW50T3B0aW9ucy5wdXNoKCctLWVudi1pbmZvJyk7XG4gIH1cblxuICBpZihkZWJ1Zykge1xuICAgIGVzbGludE9wdGlvbnMucHVzaCgnLS1kZWJ1ZycpO1xuICB9XG5cbiAgaWYocHJpbnRDb25maWcpIHtcbiAgICBlc2xpbnRPcHRpb25zLnB1c2goJy0tcHJpbnRDb25maWcnLCBwcmludENvbmZpZyk7XG4gIH1cblxuICAvLyBUZXN0IGFwcCB1c2luZyBqZXN0XG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlY2EoZXNsaW50UGF0aCwgZXNsaW50T3B0aW9ucywge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIHN0ZGlvOiAnaW5oZXJpdCdcbiAgICB9KTtcblxuICAgIHNwaW5uZXIuc3VjY2VlZCgnTGludGluZyBjb21wbGV0ZWQhJyk7XG5cbiAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICBjYWxsYmFjaygwKTtcbiAgICByZXR1cm4gMDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogQ2hlY2sgZm9yIHVuaXQgdGVzdCBlcnJvcnMgYW5kL29yIGNvdmVyYWdlLmAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIHNwaW5uZXIuZmFpbCgnVGVzdGluZyBmYWlsZWQhJyk7XG5cbiAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsYUFBWTtBQUNwQixTQUFRLFdBQVcsbUJBQWtCO0FBQ3JDLFNBQVEsV0FBVTtBQUVsQixTQUFRLGlCQUFnQjtBQUN4QixTQUFRLHFCQUFvQjtBQUM1QixTQUFRLHdCQUF1QjtBQUMvQixTQUFRLFdBQVU7QUFFWCxNQUFNLE9BQU8sT0FBTyxLQUFVLFdBQWdCLFFBQVEsU0FBMEI7QUFDckYsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsVUFBVTtBQUFBLElBQ1Y7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQSxNQUFNO0FBQUEsSUFDTjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsYUFBYTtBQUFBLElBQ2I7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFB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
|
package/dist/commands/migrate.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { execa } from "execa";
|
|
2
|
-
import { LexConfig } from "../LexConfig.js";
|
|
3
|
-
import { createSpinner, getPackageJson, removeConflictModules, removeModules } from "../utils/app.js";
|
|
4
|
-
import { log } from "../utils/log.js";
|
|
5
|
-
const migrate = async (cmd, callback = process.exit) => {
|
|
6
|
-
const { cliName = "Lex", packageManager: cmdPackageManager, quiet } = cmd;
|
|
7
|
-
const cwd = process.cwd();
|
|
8
|
-
const spinner = createSpinner(quiet);
|
|
9
|
-
spinner.start("Removing node modules...");
|
|
10
|
-
await removeModules();
|
|
11
|
-
const { packageManager: configPackageManager } = LexConfig.config;
|
|
12
|
-
const packageManager = cmdPackageManager || configPackageManager;
|
|
13
|
-
const packagePath = `${cwd}/package.json`;
|
|
14
|
-
const appPackage = getPackageJson(packagePath);
|
|
15
|
-
const { dependencies = {}, devDependencies = {} } = appPackage;
|
|
16
|
-
appPackage.dependencies = removeConflictModules(dependencies);
|
|
17
|
-
appPackage.devDependencies = removeConflictModules(devDependencies);
|
|
18
|
-
try {
|
|
19
|
-
await execa(packageManager, ["install"], {
|
|
20
|
-
encoding: "utf8",
|
|
21
|
-
stdio: "inherit"
|
|
22
|
-
});
|
|
23
|
-
spinner.succeed("Successfully migrated app!");
|
|
24
|
-
callback(0);
|
|
25
|
-
return 0;
|
|
26
|
-
} catch (error) {
|
|
27
|
-
log(`
|
|
28
|
-
${cliName} Error: ${error.message}`, "error", quiet);
|
|
29
|
-
spinner.fail("Failed to remove modules.");
|
|
30
|
-
callback(1);
|
|
31
|
-
return 1;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
export {
|
|
35
|
-
migrate
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL21pZ3JhdGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjcmVhdGVTcGlubmVyLCBnZXRQYWNrYWdlSnNvbiwgcmVtb3ZlQ29uZmxpY3RNb2R1bGVzLCByZW1vdmVNb2R1bGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBjb25zdCBtaWdyYXRlID0gYXN5bmMgKGNtZDogYW55LCBjYWxsYmFjazogYW55ID0gcHJvY2Vzcy5leGl0KTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgcGFja2FnZU1hbmFnZXI6IGNtZFBhY2thZ2VNYW5hZ2VyLCBxdWlldH0gPSBjbWQ7XG5cbiAgY29uc3QgY3dkOiBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIC8vIC8vIERpc3BsYXkgbWVzc2FnZVxuICAvLyBsb2coYCR7Y2xpTmFtZX0gY29weWluZyBcIiR7dG99XCIuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBTcGlubmVyXG4gIGNvbnN0IHNwaW5uZXIgPSBjcmVhdGVTcGlubmVyKHF1aWV0KTtcbiAgc3Bpbm5lci5zdGFydCgnUmVtb3Zpbmcgbm9kZSBtb2R1bGVzLi4uJyk7XG5cbiAgLy8gUmVtb3ZlIG5vZGVfbW9kdWxlc1xuICBhd2FpdCByZW1vdmVNb2R1bGVzKCk7XG5cbiAgY29uc3Qge3BhY2thZ2VNYW5hZ2VyOiBjb25maWdQYWNrYWdlTWFuYWdlcn0gPSBMZXhDb25maWcuY29uZmlnO1xuICBjb25zdCBwYWNrYWdlTWFuYWdlcjogc3RyaW5nID0gY21kUGFja2FnZU1hbmFnZXIgfHwgY29uZmlnUGFja2FnZU1hbmFnZXI7XG4gIGNvbnN0IHBhY2thZ2VQYXRoOiBzdHJpbmcgPSBgJHtjd2R9L3BhY2thZ2UuanNvbmA7XG4gIGNvbnN0IGFwcFBhY2thZ2UgPSBnZXRQYWNrYWdlSnNvbihwYWNrYWdlUGF0aCk7XG4gIGNvbnN0IHtkZXBlbmRlbmNpZXMgPSB7fSwgZGV2RGVwZW5kZW5jaWVzID0ge319ID0gYXBwUGFja2FnZTtcblxuICAvLyBSZW1vdmUgRVNCdWlsZCwgSmVzdCBhbmQgV2VicGFjayBmcm9tIGFwcCBzaW5jZSBpdCB3aWxsIGNvbmZsaWN0XG4gIGFwcFBhY2thZ2UuZGVwZW5kZW5jaWVzID0gcmVtb3ZlQ29uZmxpY3RNb2R1bGVzKGRlcGVuZGVuY2llcyk7XG4gIGFwcFBhY2thZ2UuZGV2RGVwZW5kZW5jaWVzID0gcmVtb3ZlQ29uZmxpY3RNb2R1bGVzKGRldkRlcGVuZGVuY2llcyk7XG5cbiAgLy8gSW5zdGFsbCBuZXcgbGlzdCBvZiBwYWNrYWdlc1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNhKHBhY2thZ2VNYW5hZ2VyLCBbJ2luc3RhbGwnXSwge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIHN0ZGlvOiAnaW5oZXJpdCdcbiAgICB9KTtcblxuICAgIC8vIFN0b3AgbG9hZGVyXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgbWlncmF0ZWQgYXBwIScpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMCk7XG4gICAgcmV0dXJuIDA7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byByZW1vdmUgbW9kdWxlcy4nKTtcblxuICAgIC8vIEtpbGwgcHJvY2Vzc1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiAxO1xuICB9XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxhQUFZO0FBRXBCLFNBQVEsaUJBQWdCO0FBQ3hCLFNBQVEsZUFBZSxnQkFBZ0IsdUJBQXVCLHFCQUFvQjtBQUNsRixTQUFRLFdBQVU7QUFFWCxNQUFNLFVBQVUsT0FBTyxLQUFVLFdBQWdCLFFBQVEsU0FBMEI7QUFDeEYsUUFBTSxFQUFDLFVBQVUsT0FBTyxnQkFBZ0IsbUJBQW1CLE1BQUssSUFBSTtBQUVwRSxRQUFNLE1BQWMsUUFBUSxJQUFJO0FBTWhDLFFBQU0sVUFBVSxjQUFjLEtBQUs7QUFDbkMsVUFBUSxNQUFNLDBCQUEwQjtBQUd4QyxRQUFNLGNBQWM7QUFFcEIsUUFBTSxFQUFDLGdCQUFnQixxQkFBb0IsSUFBSSxVQUFVO0FBQ3pELFFBQU0saUJBQXlCLHFCQUFxQjtBQUNwRCxRQUFNLGNBQXNCLEdBQUcsR0FBRztBQUNsQyxRQUFNLGFBQWEsZUFBZSxXQUFXO0FBQzdDLFFBQU0sRUFBQyxlQUFlLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxFQUFDLElBQUk7QUFHbEQsYUFBVyxlQUFlLHNCQUFzQixZQUFZO0FBQzVELGFBQVcsa0JBQWtCLHNCQUFzQixlQUFlO0FBR2xFLE1BQUk7QUFDRixVQUFNLE1BQU0sZ0JBQWdCLENBQUMsU0FBUyxHQUFHO0FBQUEsTUFDdkMsVUFBVTtBQUFBLE1BQ1YsT0FBTztBQUFBLElBQ1QsQ0FBQztBQUdELFlBQVEsUUFBUSw0QkFBNEI7QUFHNUMsYUFBUyxDQUFDO0FBQ1YsV0FBTztBQUFBLEVBQ1QsU0FBUSxPQUFPO0FBRWIsUUFBSTtBQUFBLEVBQUssT0FBTyxXQUFXLE1BQU0sT0FBTyxJQUFJLFNBQVMsS0FBSztBQUcxRCxZQUFRLEtBQUssMkJBQTJCO0FBR3hDLGFBQVMsQ0FBQztBQUNWLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|