@simplysm/sd-cli 13.0.68 → 13.0.70
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/README.md +10 -957
- package/dist/builders/BaseBuilder.d.ts +23 -23
- package/dist/builders/BaseBuilder.d.ts.map +1 -1
- package/dist/builders/BaseBuilder.js +15 -15
- package/dist/builders/DtsBuilder.d.ts +4 -4
- package/dist/builders/DtsBuilder.js +1 -1
- package/dist/builders/LibraryBuilder.d.ts +3 -3
- package/dist/builders/types.d.ts +10 -10
- package/dist/capacitor/capacitor.d.ts +36 -36
- package/dist/capacitor/capacitor.js +63 -63
- package/dist/capacitor/capacitor.js.map +1 -1
- package/dist/commands/add-client.d.ts +8 -8
- package/dist/commands/add-client.js +15 -15
- package/dist/commands/add-client.js.map +1 -1
- package/dist/commands/add-server.d.ts +9 -9
- package/dist/commands/add-server.js +13 -13
- package/dist/commands/add-server.js.map +1 -1
- package/dist/commands/build.d.ts +9 -9
- package/dist/commands/check.js +3 -3
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/dev.d.ts +9 -9
- package/dist/commands/device.d.ts +9 -9
- package/dist/commands/device.d.ts.map +1 -1
- package/dist/commands/device.js +17 -17
- package/dist/commands/device.js.map +1 -1
- package/dist/commands/init.d.ts +6 -6
- package/dist/commands/init.js +12 -12
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/lint.d.ts +23 -23
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +25 -25
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/publish.d.ts +13 -13
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +61 -61
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/replace-deps.d.ts +3 -3
- package/dist/commands/replace-deps.d.ts.map +1 -1
- package/dist/commands/replace-deps.js +1 -1
- package/dist/commands/replace-deps.js.map +1 -1
- package/dist/commands/typecheck.d.ts +20 -20
- package/dist/commands/typecheck.d.ts.map +1 -1
- package/dist/commands/typecheck.js +20 -20
- package/dist/commands/typecheck.js.map +1 -1
- package/dist/commands/watch.d.ts +7 -7
- package/dist/electron/electron.d.ts +27 -27
- package/dist/electron/electron.js +32 -32
- package/dist/electron/electron.js.map +1 -1
- package/dist/infra/ResultCollector.d.ts +9 -9
- package/dist/infra/ResultCollector.js +5 -5
- package/dist/infra/SignalHandler.d.ts +7 -7
- package/dist/infra/SignalHandler.js +4 -4
- package/dist/infra/WorkerManager.d.ts +14 -14
- package/dist/infra/WorkerManager.js +11 -11
- package/dist/orchestrators/BuildOrchestrator.d.ts +19 -19
- package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/BuildOrchestrator.js +26 -26
- package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
- package/dist/orchestrators/DevOrchestrator.d.ts +25 -25
- package/dist/orchestrators/DevOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/DevOrchestrator.js +30 -30
- package/dist/orchestrators/DevOrchestrator.js.map +1 -1
- package/dist/orchestrators/WatchOrchestrator.d.ts +13 -13
- package/dist/orchestrators/WatchOrchestrator.js +17 -17
- package/dist/orchestrators/WatchOrchestrator.js.map +1 -1
- package/dist/sd-cli-entry.d.ts +2 -2
- package/dist/sd-cli-entry.js +38 -38
- package/dist/sd-cli-entry.js.map +1 -1
- package/dist/sd-cli.d.ts +2 -2
- package/dist/sd-cli.js +1 -1
- package/dist/sd-cli.js.map +1 -1
- package/dist/sd-config.types.d.ts +84 -84
- package/dist/sd-config.types.d.ts.map +1 -1
- package/dist/utils/build-env.d.ts +1 -1
- package/dist/utils/config-editor.d.ts +5 -5
- package/dist/utils/config-editor.js +2 -2
- package/dist/utils/config-editor.js.map +1 -1
- package/dist/utils/copy-public.d.ts +9 -9
- package/dist/utils/copy-src.d.ts +9 -9
- package/dist/utils/esbuild-config.d.ts +30 -30
- package/dist/utils/esbuild-config.d.ts.map +1 -1
- package/dist/utils/output-utils.d.ts +6 -6
- package/dist/utils/package-utils.d.ts +6 -6
- package/dist/utils/package-utils.js +1 -1
- package/dist/utils/package-utils.js.map +1 -1
- package/dist/utils/rebuild-manager.js +3 -3
- package/dist/utils/rebuild-manager.js.map +1 -1
- package/dist/utils/replace-deps.d.ts +25 -25
- package/dist/utils/replace-deps.js +3 -3
- package/dist/utils/replace-deps.js.map +1 -1
- package/dist/utils/sd-config.d.ts +3 -3
- package/dist/utils/sd-config.js +3 -3
- package/dist/utils/sd-config.js.map +1 -1
- package/dist/utils/tailwind-config-deps.d.ts +3 -3
- package/dist/utils/template.d.ts +8 -8
- package/dist/utils/tsconfig.d.ts +16 -16
- package/dist/utils/tsconfig.js +2 -2
- package/dist/utils/tsconfig.js.map +1 -1
- package/dist/utils/typecheck-serialization.d.ts +8 -8
- package/dist/utils/vite-config.d.ts +8 -8
- package/dist/utils/vite-config.d.ts.map +1 -1
- package/dist/utils/vite-config.js +3 -3
- package/dist/utils/worker-events.d.ts +12 -12
- package/dist/utils/worker-events.d.ts.map +1 -1
- package/dist/utils/worker-utils.d.ts +3 -3
- package/dist/utils/worker-utils.js +2 -2
- package/dist/utils/worker-utils.js.map +1 -1
- package/dist/workers/client.worker.d.ts +14 -14
- package/dist/workers/client.worker.d.ts.map +1 -1
- package/dist/workers/client.worker.js +1 -1
- package/dist/workers/client.worker.js.map +1 -1
- package/dist/workers/dts.worker.d.ts +13 -13
- package/dist/workers/dts.worker.d.ts.map +1 -1
- package/dist/workers/dts.worker.js +3 -3
- package/dist/workers/dts.worker.js.map +1 -1
- package/dist/workers/library.worker.d.ts +12 -12
- package/dist/workers/library.worker.js +1 -1
- package/dist/workers/library.worker.js.map +1 -1
- package/dist/workers/lint.worker.d.ts +1 -1
- package/dist/workers/server-runtime.worker.d.ts +6 -6
- package/dist/workers/server-runtime.worker.js +6 -6
- package/dist/workers/server-runtime.worker.js.map +1 -1
- package/dist/workers/server.worker.d.ts +20 -20
- package/dist/workers/server.worker.d.ts.map +1 -1
- package/dist/workers/server.worker.js +6 -6
- package/dist/workers/server.worker.js.map +1 -1
- package/package.json +8 -7
- package/src/builders/BaseBuilder.ts +33 -33
- package/src/builders/DtsBuilder.ts +5 -5
- package/src/builders/LibraryBuilder.ts +9 -9
- package/src/builders/types.ts +10 -10
- package/src/capacitor/capacitor.ts +119 -119
- package/src/commands/add-client.ts +31 -31
- package/src/commands/add-server.ts +34 -34
- package/src/commands/build.ts +9 -9
- package/src/commands/check.ts +5 -5
- package/src/commands/dev.ts +9 -9
- package/src/commands/device.ts +30 -30
- package/src/commands/init.ts +25 -25
- package/src/commands/lint.ts +64 -64
- package/src/commands/publish.ts +139 -139
- package/src/commands/replace-deps.ts +4 -4
- package/src/commands/typecheck.ts +74 -74
- package/src/commands/watch.ts +7 -7
- package/src/electron/electron.ts +51 -51
- package/src/infra/ResultCollector.ts +9 -9
- package/src/infra/SignalHandler.ts +7 -7
- package/src/infra/WorkerManager.ts +14 -14
- package/src/orchestrators/BuildOrchestrator.ts +76 -76
- package/src/orchestrators/DevOrchestrator.ts +88 -88
- package/src/orchestrators/WatchOrchestrator.ts +39 -39
- package/src/sd-cli-entry.ts +43 -43
- package/src/sd-cli.ts +15 -15
- package/src/sd-config.types.ts +85 -85
- package/src/utils/build-env.ts +1 -1
- package/src/utils/config-editor.ts +19 -19
- package/src/utils/copy-public.ts +17 -17
- package/src/utils/copy-src.ts +11 -11
- package/src/utils/esbuild-config.ts +33 -33
- package/src/utils/output-utils.ts +11 -11
- package/src/utils/package-utils.ts +12 -12
- package/src/utils/rebuild-manager.ts +3 -3
- package/src/utils/replace-deps.ts +361 -361
- package/src/utils/sd-config.ts +44 -44
- package/src/utils/tailwind-config-deps.ts +98 -98
- package/src/utils/template.ts +56 -56
- package/src/utils/tsconfig.ts +127 -127
- package/src/utils/typecheck-serialization.ts +86 -86
- package/src/utils/vite-config.ts +341 -341
- package/src/utils/worker-events.ts +16 -16
- package/src/utils/worker-utils.ts +45 -45
- package/src/workers/client.worker.ts +34 -34
- package/src/workers/dts.worker.ts +467 -467
- package/src/workers/library.worker.ts +314 -314
- package/src/workers/lint.worker.ts +16 -16
- package/src/workers/server-runtime.worker.ts +157 -157
- package/src/workers/server.worker.ts +572 -572
- package/templates/add-client/__CLIENT__/package.json.hbs +1 -1
- package/templates/add-server/__SERVER__/package.json.hbs +2 -2
- package/templates/init/package.json.hbs +3 -3
- package/tests/config-editor.spec.ts +160 -0
- package/tests/copy-src.spec.ts +50 -0
- package/tests/get-compiler-options-for-package.spec.ts +139 -0
- package/tests/get-package-source-files.spec.ts +181 -0
- package/tests/get-types-from-package-json.spec.ts +107 -0
- package/tests/infra/ResultCollector.spec.ts +39 -0
- package/tests/infra/SignalHandler.spec.ts +38 -0
- package/tests/infra/WorkerManager.spec.ts +97 -0
- package/tests/load-ignore-patterns.spec.ts +188 -0
- package/tests/load-sd-config.spec.ts +137 -0
- package/tests/package-utils.spec.ts +188 -0
- package/tests/parse-root-tsconfig.spec.ts +89 -0
- package/tests/replace-deps.spec.ts +308 -0
- package/tests/run-lint.spec.ts +415 -0
- package/tests/run-typecheck.spec.ts +653 -0
- package/tests/run-watch.spec.ts +75 -0
- package/tests/sd-cli.spec.ts +330 -0
- package/tests/tailwind-config-deps.spec.ts +30 -0
- package/tests/template.spec.ts +70 -0
- package/tests/utils/rebuild-manager.spec.ts +43 -0
- package/tests/write-changed-output-files.spec.ts +97 -0
|
@@ -21,16 +21,16 @@ async function runAddServer(_options) {
|
|
|
21
21
|
const logger = consola.withTag("sd:cli:add-server");
|
|
22
22
|
const sdConfigPath = path.join(cwd, "sd.config.ts");
|
|
23
23
|
if (!fs.existsSync(sdConfigPath)) {
|
|
24
|
-
consola.error("sd.config.ts
|
|
24
|
+
consola.error("Cannot find sd.config.ts. Please run this from the project root.");
|
|
25
25
|
process.exitCode = 1;
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
28
|
const projectName = path.basename(cwd);
|
|
29
29
|
const serverSuffix = await input({
|
|
30
|
-
message: '
|
|
30
|
+
message: 'Server name suffix (leave empty for "server"):',
|
|
31
31
|
validate: (value) => {
|
|
32
32
|
if (value.trim() === "") return true;
|
|
33
|
-
if (!/^[a-z][a-z0-9-]*$/.test(value)) return "
|
|
33
|
+
if (!/^[a-z][a-z0-9-]*$/.test(value)) return "Only lowercase letters, numbers, and hyphens are allowed.";
|
|
34
34
|
return true;
|
|
35
35
|
}
|
|
36
36
|
});
|
|
@@ -39,13 +39,13 @@ async function runAddServer(_options) {
|
|
|
39
39
|
let selectedClients = [];
|
|
40
40
|
if (clientPackages.length > 0) {
|
|
41
41
|
selectedClients = await checkbox({
|
|
42
|
-
message: "
|
|
42
|
+
message: "Select the clients this server will serve:",
|
|
43
43
|
choices: clientPackages.map((name) => ({ name, value: name }))
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
const packageDir = path.join(cwd, "packages", serverName);
|
|
47
47
|
if (fs.existsSync(packageDir)) {
|
|
48
|
-
consola.error(`packages/${serverName}
|
|
48
|
+
consola.error(`packages/${serverName} directory already exists.`);
|
|
49
49
|
process.exitCode = 1;
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
@@ -59,23 +59,23 @@ async function runAddServer(_options) {
|
|
|
59
59
|
const dirReplacements = {
|
|
60
60
|
__SERVER__: serverName
|
|
61
61
|
};
|
|
62
|
-
logger.info(
|
|
62
|
+
logger.info(`Creating ${serverName} package...`);
|
|
63
63
|
await renderTemplateDir(templateDir, path.join(cwd, "packages"), context, dirReplacements);
|
|
64
|
-
logger.success(`packages/${serverName}
|
|
64
|
+
logger.success(`packages/${serverName} created successfully`);
|
|
65
65
|
const added = addPackageToSdConfig(sdConfigPath, serverName, { target: "server" });
|
|
66
66
|
if (added) {
|
|
67
|
-
logger.success("sd.config.ts
|
|
67
|
+
logger.success("Server package added to sd.config.ts");
|
|
68
68
|
} else {
|
|
69
|
-
consola.warn(`"${serverName}"
|
|
69
|
+
consola.warn(`"${serverName}" already exists in sd.config.ts.`);
|
|
70
70
|
}
|
|
71
71
|
for (const clientName of selectedClients) {
|
|
72
72
|
setClientServerInSdConfig(sdConfigPath, clientName, serverName);
|
|
73
|
-
logger.info(
|
|
73
|
+
logger.info(`Set ${clientName} server to "${serverName}"`);
|
|
74
74
|
}
|
|
75
|
-
logger.info("pnpm install
|
|
75
|
+
logger.info("Running pnpm install...");
|
|
76
76
|
await execa("pnpm", ["install"], { cwd });
|
|
77
|
-
logger.success("pnpm install
|
|
78
|
-
consola.box(
|
|
77
|
+
logger.success("pnpm install completed");
|
|
78
|
+
consola.box(`Server "${serverName}" has been added!`);
|
|
79
79
|
}
|
|
80
80
|
export {
|
|
81
81
|
runAddServer
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/add-server.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,OAAO,gBAAgB;AAChC,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,SAAS,sBAAsB,iCAAiC;AAChE,SAAS,aAAa;AACtB,SAAS,uBAAuB;AAgBhC,SAAS,mBAAmB,cAAgC;AAC1D,QAAM,UAAU,GAAG,aAAa,cAAc,OAAO;AACrD,QAAM,UAAoB,CAAC;AAG3B,QAAM,QAAQ;AACd,MAAI;AACJ,UAAQ,QAAQ,MAAM,KAAK,OAAO,MAAM,MAAM;AAC5C,YAAQ,KAAK,MAAM,CAAC,CAAC;AAAA,EACvB;AACA,SAAO;AACT;AAiBA,eAAsB,aAAa,UAA2C;AAC5E,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,SAAS,QAAQ,QAAQ,mBAAmB;AAGlD,QAAM,eAAe,KAAK,KAAK,KAAK,cAAc;AAClD,MAAI,CAAC,GAAG,WAAW,YAAY,GAAG;AAChC,YAAQ,MAAM,
|
|
4
|
+
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,OAAO,gBAAgB;AAChC,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,SAAS,sBAAsB,iCAAiC;AAChE,SAAS,aAAa;AACtB,SAAS,uBAAuB;AAgBhC,SAAS,mBAAmB,cAAgC;AAC1D,QAAM,UAAU,GAAG,aAAa,cAAc,OAAO;AACrD,QAAM,UAAoB,CAAC;AAG3B,QAAM,QAAQ;AACd,MAAI;AACJ,UAAQ,QAAQ,MAAM,KAAK,OAAO,MAAM,MAAM;AAC5C,YAAQ,KAAK,MAAM,CAAC,CAAC;AAAA,EACvB;AACA,SAAO;AACT;AAiBA,eAAsB,aAAa,UAA2C;AAC5E,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,SAAS,QAAQ,QAAQ,mBAAmB;AAGlD,QAAM,eAAe,KAAK,KAAK,KAAK,cAAc;AAClD,MAAI,CAAC,GAAG,WAAW,YAAY,GAAG;AAChC,YAAQ,MAAM,kEAAkE;AAChF,YAAQ,WAAW;AACnB;AAAA,EACF;AAEA,QAAM,cAAc,KAAK,SAAS,GAAG;AAGrC,QAAM,eAAe,MAAM,MAAM;AAAA,IAC/B,SAAS;AAAA,IACT,UAAU,CAAC,UAAU;AACnB,UAAI,MAAM,KAAK,MAAM,GAAI,QAAO;AAChC,UAAI,CAAC,oBAAoB,KAAK,KAAK,EAAG,QAAO;AAC7C,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AAED,QAAM,aAAa,aAAa,KAAK,MAAM,KAAK,WAAW,UAAU,YAAY;AAGjF,QAAM,iBAAiB,mBAAmB,YAAY;AACtD,MAAI,kBAA4B,CAAC;AAEjC,MAAI,eAAe,SAAS,GAAG;AAC7B,sBAAkB,MAAM,SAAS;AAAA,MAC/B,SAAS;AAAA,MACT,SAAS,eAAe,IAAI,CAAC,UAAU,EAAE,MAAM,OAAO,KAAK,EAAE;AAAA,IAC/D,CAAC;AAAA,EACH;AAGA,QAAM,aAAa,KAAK,KAAK,KAAK,YAAY,UAAU;AACxD,MAAI,GAAG,WAAW,UAAU,GAAG;AAC7B,YAAQ,MAAM,YAAY,UAAU,4BAA4B;AAChE,YAAQ,WAAW;AACnB;AAAA,EACF;AAGA,QAAM,UAAU,gBAAgB,YAAY,OAAO;AACnD,QAAM,cAAc,KAAK,KAAK,SAAS,aAAa,YAAY;AAEhE,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR;AAEA,QAAM,kBAAkB;AAAA,IACtB,YAAY;AAAA,EACd;AAEA,SAAO,KAAK,YAAY,UAAU,aAAa;AAC/C,QAAM,kBAAkB,aAAa,KAAK,KAAK,KAAK,UAAU,GAAG,SAAS,eAAe;AACzF,SAAO,QAAQ,YAAY,UAAU,uBAAuB;AAG5D,QAAM,QAAQ,qBAAqB,cAAc,YAAY,EAAE,QAAQ,SAAS,CAAC;AACjF,MAAI,OAAO;AACT,WAAO,QAAQ,sCAAsC;AAAA,EACvD,OAAO;AACL,YAAQ,KAAK,IAAI,UAAU,mCAAmC;AAAA,EAChE;AAGA,aAAW,cAAc,iBAAiB;AACxC,8BAA0B,cAAc,YAAY,UAAU;AAC9D,WAAO,KAAK,OAAO,UAAU,eAAe,UAAU,GAAG;AAAA,EAC3D;AAGA,SAAO,KAAK,yBAAyB;AACrC,QAAM,MAAM,QAAQ,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC;AACxC,SAAO,QAAQ,wBAAwB;AAGvC,UAAQ,IAAI,WAAW,UAAU,mBAAmB;AACtD;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/commands/build.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { type BuildOrchestratorOptions } from "../orchestrators/BuildOrchestrator";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Run production build.
|
|
4
4
|
*
|
|
5
|
-
* - `sd.config.ts
|
|
6
|
-
* - lint
|
|
7
|
-
* - dist
|
|
8
|
-
* - `node`/`browser`/`neutral`
|
|
9
|
-
* - `client`
|
|
10
|
-
* -
|
|
5
|
+
* - Load `sd.config.ts` to check build target info per package (required)
|
|
6
|
+
* - Run lint
|
|
7
|
+
* - Clean dist folder (clean build)
|
|
8
|
+
* - `node`/`browser`/`neutral` target: esbuild JS build + dts generation (with type check)
|
|
9
|
+
* - `client` target: Vite production build + typecheck (dts not needed)
|
|
10
|
+
* - Set `process.exitCode = 1` if any step fails
|
|
11
11
|
*
|
|
12
|
-
* @param options - build
|
|
13
|
-
* @returns
|
|
12
|
+
* @param options - build execution options
|
|
13
|
+
* @returns resolves on completion
|
|
14
14
|
*/
|
|
15
15
|
export declare function runBuild(options: BuildOrchestratorOptions): Promise<void>;
|
|
16
16
|
//# sourceMappingURL=build.d.ts.map
|
package/dist/commands/check.js
CHANGED
|
@@ -47,7 +47,7 @@ ${summary}${detail}`;
|
|
|
47
47
|
async function runCheck(options) {
|
|
48
48
|
const { targets, types } = options;
|
|
49
49
|
const logger = consola.withTag("sd:cli:check");
|
|
50
|
-
logger.debug("check
|
|
50
|
+
logger.debug("start check", { targets, types });
|
|
51
51
|
const tasks = [];
|
|
52
52
|
if (types.includes("typecheck")) {
|
|
53
53
|
tasks.push(
|
|
@@ -80,9 +80,9 @@ async function runCheck(options) {
|
|
|
80
80
|
if (types.includes("test")) {
|
|
81
81
|
tasks.push(spawnVitest(targets));
|
|
82
82
|
}
|
|
83
|
-
logger.start(`check
|
|
83
|
+
logger.start(`running check... (${types.join(", ")})`);
|
|
84
84
|
const results = await Promise.allSettled(tasks);
|
|
85
|
-
logger.success("check
|
|
85
|
+
logger.success("check completed");
|
|
86
86
|
const checkResults = results.map((r) => {
|
|
87
87
|
if (r.status === "fulfilled") return r.value;
|
|
88
88
|
return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/check.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,aAAa;AACtB,SAAS,cAAgC;AACzC,SAAS,oBAAoB;AAC7B,SAAS,wBAA8C;AAGvD,SAAS,eAAe;AAuBxB,eAAe,YAAY,SAAyC;AAClE,MAAI;AACF,UAAM,OAAO,CAAC,UAAU,GAAG,SAAS,OAAO;AAC3C,UAAM,SAAS,MAAM,MAAM,QAAQ,MAAM,EAAE,KAAK,QAAQ,IAAI,GAAG,QAAQ,MAAM,CAAC;AAC9E,UAAM,SAAS,OAAO,SAAS,OAAO;AACtC,UAAM,OAAO,OAAO;AAEpB,UAAM,YACJ,OAAO,MAAM,0BAA0B,KACvC,OAAO,MAAM,yBAAyB,KACtC,OAAO,MAAM,eAAe;AAC9B,UAAM,YAAY,YAAY,OAAO,UAAU,CAAC,CAAC,IAAI;AAErD,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,SAAS;AAAA,MAClB,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,iBAAiB,SAAS,IAAI,KAAK;AAAA,IACrC;AAAA,EACF,SAAS,KAAK;AACZ,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,iBAAiB,aAAa,GAAG;AAAA,IACnC;AAAA,EACF;AACF;AAEA,SAAS,cAAc,QAA6B;AAClD,QAAM,SAAS;AAAA,EAAK,IAAI,OAAO,CAAC,CAAC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC;AACjE,QAAM,OAAO,OAAO,UAAU,WAAM;AAEpC,MAAI;AACJ,MAAI,OAAO,SAAS,QAAQ;AAC1B,UAAM,YAAY,OAAO,aAAa,IAAI,GAAG,OAAO,UAAU,YAAY;AAC1E,cAAU,OAAO,UAAU,GAAG,IAAI,YAAY,GAAG,IAAI,IAAI,SAAS;AAAA,EACpE,OAAO;AACL,cAAU,GAAG,IAAI,IAAI,OAAO,UAAU,YAAY,OAAO,YAAY;AAAA,EACvE;AAEA,QAAM,SAAS,CAAC,OAAO,WAAW,OAAO,kBAAkB;AAAA,EAAK,OAAO,eAAe,KAAK;AAE3F,SAAO,GAAG,MAAM;AAAA,EAAK,OAAO,GAAG,MAAM;AACvC;AAMA,eAAsB,SAAS,SAAsC;AACnE,QAAM,EAAE,SAAS,MAAM,IAAI;AAC3B,QAAM,SAAS,QAAQ,QAAQ,cAAc;AAE7C,SAAO,MAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/commands/dev.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { type DevOrchestratorOptions } from "../orchestrators/DevOrchestrator";
|
|
2
2
|
/**
|
|
3
|
-
* Client
|
|
3
|
+
* Run Client and Server packages in development mode.
|
|
4
4
|
*
|
|
5
|
-
* - `sd.config.ts
|
|
6
|
-
* - `client`
|
|
7
|
-
* - `server`
|
|
8
|
-
* - Server-Client
|
|
9
|
-
* - Capacitor
|
|
10
|
-
* - SIGINT/SIGTERM
|
|
5
|
+
* - Load `sd.config.ts` to check build target info per package (required)
|
|
6
|
+
* - `client` target: Start Vite dev server
|
|
7
|
+
* - `server` target: Server Build Worker + Server Runtime Worker
|
|
8
|
+
* - Support Server-Client proxy connections
|
|
9
|
+
* - Support Capacitor initialization
|
|
10
|
+
* - Terminate with SIGINT/SIGTERM signals
|
|
11
11
|
*
|
|
12
|
-
* @param options - dev
|
|
13
|
-
* @returns
|
|
12
|
+
* @param options - dev execution options
|
|
13
|
+
* @returns resolves on termination signal
|
|
14
14
|
*/
|
|
15
15
|
export declare function runDev(options: DevOrchestratorOptions): Promise<void>;
|
|
16
16
|
//# sourceMappingURL=dev.d.ts.map
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Device
|
|
2
|
+
* Device command options
|
|
3
3
|
*/
|
|
4
4
|
export interface DeviceOptions {
|
|
5
|
-
/**
|
|
5
|
+
/** Package name (required) */
|
|
6
6
|
package: string;
|
|
7
|
-
/**
|
|
7
|
+
/** Development server URL (optional, uses server config from sd.config.ts if not specified) */
|
|
8
8
|
url?: string;
|
|
9
|
-
/** sd.config.ts
|
|
9
|
+
/** Additional options to pass to sd.config.ts */
|
|
10
10
|
options: string[];
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Runs an app on an Android device.
|
|
14
14
|
*
|
|
15
|
-
* -
|
|
16
|
-
* -
|
|
15
|
+
* - Runs app on connected Android device
|
|
16
|
+
* - Connects development server URL to WebView to support Hot Reload
|
|
17
17
|
*
|
|
18
|
-
* @param options - device
|
|
19
|
-
* @returns
|
|
18
|
+
* @param options - device execution options
|
|
19
|
+
* @returns resolves when complete
|
|
20
20
|
*/
|
|
21
21
|
export declare function runDevice(options: DeviceOptions): Promise<void>;
|
|
22
22
|
//# sourceMappingURL=device.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["..\\..\\src\\commands\\device.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["..\\..\\src\\commands\\device.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,+FAA+F;IAC/F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAMD;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsGrE"}
|
package/dist/commands/device.js
CHANGED
|
@@ -8,24 +8,24 @@ async function runDevice(options) {
|
|
|
8
8
|
const { package: packageName, url } = options;
|
|
9
9
|
const cwd = process.cwd();
|
|
10
10
|
const logger = consola.withTag("sd:cli:device");
|
|
11
|
-
logger.debug("device
|
|
11
|
+
logger.debug("device start", { package: packageName, url });
|
|
12
12
|
let sdConfig;
|
|
13
13
|
try {
|
|
14
14
|
sdConfig = await loadSdConfig({ cwd, dev: true, opt: options.options });
|
|
15
|
-
logger.debug("sd.config.ts
|
|
15
|
+
logger.debug("sd.config.ts loaded");
|
|
16
16
|
} catch (err) {
|
|
17
|
-
logger.error(`sd.config.ts
|
|
17
|
+
logger.error(`Failed to load sd.config.ts: ${err instanceof Error ? err.message : err}`);
|
|
18
18
|
process.exitCode = 1;
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
const pkgConfig = sdConfig.packages[packageName];
|
|
22
22
|
if (pkgConfig == null) {
|
|
23
|
-
logger.error(
|
|
23
|
+
logger.error(`Package not found: ${packageName}`);
|
|
24
24
|
process.exitCode = 1;
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
if (pkgConfig.target !== "client") {
|
|
28
|
-
logger.error(`client
|
|
28
|
+
logger.error(`Only client target packages are supported: ${packageName} (current: ${pkgConfig.target})`);
|
|
29
29
|
process.exitCode = 1;
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
@@ -38,20 +38,20 @@ async function runDevice(options) {
|
|
|
38
38
|
serverUrl = `http://localhost:${clientConfig.server}/${packageName}/`;
|
|
39
39
|
} else {
|
|
40
40
|
logger.error(
|
|
41
|
-
`--url
|
|
41
|
+
`--url option is required. server is set to package name: ${clientConfig.server}`
|
|
42
42
|
);
|
|
43
43
|
process.exitCode = 1;
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
logger.debug("
|
|
48
|
-
logger.start(
|
|
47
|
+
logger.debug("development server URL", { serverUrl });
|
|
48
|
+
logger.start(`Running ${packageName} (electron)...`);
|
|
49
49
|
try {
|
|
50
50
|
const electron = await Electron.create(pkgDir, clientConfig.electron);
|
|
51
51
|
await electron.run(serverUrl);
|
|
52
|
-
logger.success("Electron
|
|
52
|
+
logger.success("Electron execution completed");
|
|
53
53
|
} catch (err) {
|
|
54
|
-
logger.error(`
|
|
54
|
+
logger.error(`Failed to run Electron: ${err instanceof Error ? err.message : err}`);
|
|
55
55
|
process.exitCode = 1;
|
|
56
56
|
}
|
|
57
57
|
} else if (clientConfig.capacitor != null) {
|
|
@@ -61,7 +61,7 @@ async function runDevice(options) {
|
|
|
61
61
|
serverUrl = `http://localhost:${clientConfig.server}/${packageName}/capacitor/`;
|
|
62
62
|
} else {
|
|
63
63
|
logger.error(
|
|
64
|
-
`--url
|
|
64
|
+
`--url option is required. server is set to package name: ${clientConfig.server}`
|
|
65
65
|
);
|
|
66
66
|
process.exitCode = 1;
|
|
67
67
|
return;
|
|
@@ -69,26 +69,26 @@ async function runDevice(options) {
|
|
|
69
69
|
} else if (!serverUrl.endsWith("/")) {
|
|
70
70
|
serverUrl = `${serverUrl}/${packageName}/capacitor/`;
|
|
71
71
|
}
|
|
72
|
-
logger.debug("
|
|
72
|
+
logger.debug("development server URL", { serverUrl });
|
|
73
73
|
const capPath = path.join(pkgDir, ".capacitor");
|
|
74
74
|
if (!await fsExists(capPath)) {
|
|
75
75
|
logger.error(
|
|
76
|
-
`Capacitor
|
|
76
|
+
`Capacitor project is not initialized. First run 'pnpm watch ${packageName}'.`
|
|
77
77
|
);
|
|
78
78
|
process.exitCode = 1;
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
|
-
logger.start(
|
|
81
|
+
logger.start(`Running ${packageName} (device)...`);
|
|
82
82
|
try {
|
|
83
83
|
const cap = await Capacitor.create(pkgDir, clientConfig.capacitor);
|
|
84
84
|
await cap.runOnDevice(serverUrl);
|
|
85
|
-
logger.success("
|
|
85
|
+
logger.success("Device execution completed");
|
|
86
86
|
} catch (err) {
|
|
87
|
-
logger.error(
|
|
87
|
+
logger.error(`Failed to run device: ${err instanceof Error ? err.message : err}`);
|
|
88
88
|
process.exitCode = 1;
|
|
89
89
|
}
|
|
90
90
|
} else {
|
|
91
|
-
logger.error(`electron
|
|
91
|
+
logger.error(`No electron or capacitor config found: ${packageName}`);
|
|
92
92
|
process.exitCode = 1;
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/device.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,gBAAgB;AACzB,SAAS,eAAe;AAExB,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AA6BzB,eAAsB,UAAU,SAAuC;AACrE,QAAM,EAAE,SAAS,aAAa,IAAI,IAAI;AACtC,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,SAAS,QAAQ,QAAQ,eAAe;AAE9C,SAAO,MAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Init
|
|
2
|
+
* Init command options
|
|
3
3
|
*/
|
|
4
4
|
export interface InitOptions {
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Initializes a new Simplysm project in the current directory.
|
|
8
8
|
*
|
|
9
|
-
* 1.
|
|
10
|
-
* 2.
|
|
11
|
-
* 3. Handlebars
|
|
12
|
-
* 4. pnpm install
|
|
9
|
+
* 1. Check if directory is empty
|
|
10
|
+
* 2. Validate project name (folder name)
|
|
11
|
+
* 3. Render Handlebars template
|
|
12
|
+
* 4. Run pnpm install
|
|
13
13
|
*/
|
|
14
14
|
export declare function runInit(_options: InitOptions): Promise<void>;
|
|
15
15
|
//# sourceMappingURL=init.d.ts.map
|
package/dist/commands/init.js
CHANGED
|
@@ -12,14 +12,14 @@ async function runInit(_options) {
|
|
|
12
12
|
const logger = consola.withTag("sd:cli:init");
|
|
13
13
|
const entries = fs.readdirSync(cwd).filter((e) => !e.startsWith("."));
|
|
14
14
|
if (entries.length > 0) {
|
|
15
|
-
consola.error("
|
|
15
|
+
consola.error("Directory is not empty. Please run this from an empty directory.");
|
|
16
16
|
process.exitCode = 1;
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
19
|
const projectName = path.basename(cwd);
|
|
20
20
|
if (!isValidScopeName(projectName)) {
|
|
21
21
|
consola.error(
|
|
22
|
-
|
|
22
|
+
`Project name "${projectName}" is not valid. Only lowercase letters, numbers, and hyphens are allowed.`
|
|
23
23
|
);
|
|
24
24
|
process.exitCode = 1;
|
|
25
25
|
return;
|
|
@@ -27,24 +27,24 @@ async function runInit(_options) {
|
|
|
27
27
|
const pkgRoot = findPackageRoot(import.meta.dirname);
|
|
28
28
|
const templateDir = path.join(pkgRoot, "templates", "init");
|
|
29
29
|
const context = { projectName };
|
|
30
|
-
logger.info("
|
|
30
|
+
logger.info("Creating project files...");
|
|
31
31
|
await renderTemplateDir(templateDir, cwd, context);
|
|
32
|
-
logger.success("
|
|
33
|
-
logger.info("pnpm install
|
|
32
|
+
logger.success("Project files created successfully");
|
|
33
|
+
logger.info("Running pnpm install...");
|
|
34
34
|
await execa("pnpm", ["install"], { cwd });
|
|
35
|
-
logger.success("pnpm install
|
|
36
|
-
logger.info("git
|
|
35
|
+
logger.success("pnpm install completed");
|
|
36
|
+
logger.info("Initializing git repository...");
|
|
37
37
|
await execa("git", ["init"], { cwd });
|
|
38
38
|
await execa("git", ["add", "."], { cwd });
|
|
39
39
|
await execa("git", ["commit", "-m", "init"], { cwd });
|
|
40
|
-
logger.success("git
|
|
40
|
+
logger.success("git repository initialized");
|
|
41
41
|
consola.box(
|
|
42
42
|
[
|
|
43
|
-
"
|
|
43
|
+
"Project created!",
|
|
44
44
|
"",
|
|
45
|
-
"
|
|
46
|
-
" sd-cli add client
|
|
47
|
-
" sd-cli add server
|
|
45
|
+
"Next steps:",
|
|
46
|
+
" sd-cli add client Add a client package",
|
|
47
|
+
" sd-cli add server Add a server package"
|
|
48
48
|
].join("\n")
|
|
49
49
|
);
|
|
50
50
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/init.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,SAAS,aAAa;AACtB,SAAS,uBAAuB;AAgBhC,SAAS,iBAAiB,MAAuB;AAC/C,SAAO,oBAAoB,KAAK,IAAI;AACtC;AAcA,eAAsB,QAAQ,UAAsC;AAClE,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,SAAS,QAAQ,QAAQ,aAAa;AAG5C,QAAM,UAAU,GAAG,YAAY,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,CAAC;AACpE,MAAI,QAAQ,SAAS,GAAG;AACtB,YAAQ,MAAM,
|
|
4
|
+
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,SAAS,aAAa;AACtB,SAAS,uBAAuB;AAgBhC,SAAS,iBAAiB,MAAuB;AAC/C,SAAO,oBAAoB,KAAK,IAAI;AACtC;AAcA,eAAsB,QAAQ,UAAsC;AAClE,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,SAAS,QAAQ,QAAQ,aAAa;AAG5C,QAAM,UAAU,GAAG,YAAY,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,CAAC;AACpE,MAAI,QAAQ,SAAS,GAAG;AACtB,YAAQ,MAAM,kEAAkE;AAChF,YAAQ,WAAW;AACnB;AAAA,EACF;AAGA,QAAM,cAAc,KAAK,SAAS,GAAG;AACrC,MAAI,CAAC,iBAAiB,WAAW,GAAG;AAClC,YAAQ;AAAA,MACN,iBAAiB,WAAW;AAAA,IAC9B;AACA,YAAQ,WAAW;AACnB;AAAA,EACF;AAGA,QAAM,UAAU,gBAAgB,YAAY,OAAO;AACnD,QAAM,cAAc,KAAK,KAAK,SAAS,aAAa,MAAM;AAE1D,QAAM,UAAU,EAAE,YAAY;AAE9B,SAAO,KAAK,2BAA2B;AACvC,QAAM,kBAAkB,aAAa,KAAK,OAAO;AACjD,SAAO,QAAQ,oCAAoC;AAGnD,SAAO,KAAK,yBAAyB;AACrC,QAAM,MAAM,QAAQ,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC;AACxC,SAAO,QAAQ,wBAAwB;AAGvC,SAAO,KAAK,gCAAgC;AAC5C,QAAM,MAAM,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC;AACpC,QAAM,MAAM,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,IAAI,CAAC;AACxC,QAAM,MAAM,OAAO,CAAC,UAAU,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC;AACpD,SAAO,QAAQ,4BAA4B;AAG3C,UAAQ;AAAA,IACN;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/commands/lint.d.ts
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
import "@simplysm/core-common";
|
|
2
2
|
/**
|
|
3
|
-
* ESLint
|
|
3
|
+
* ESLint execution options
|
|
4
4
|
*/
|
|
5
5
|
export interface LintOptions {
|
|
6
|
-
/**
|
|
6
|
+
/** Path filter for linting (e.g., `packages/core-common`). Empty array targets everything */
|
|
7
7
|
targets: string[];
|
|
8
|
-
/**
|
|
8
|
+
/** Enable auto-fix */
|
|
9
9
|
fix: boolean;
|
|
10
|
-
/**
|
|
10
|
+
/** Enable execution time measurement per ESLint rule (sets TIMING environment variable) */
|
|
11
11
|
timing: boolean;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
* executeLint()
|
|
14
|
+
* Return type of executeLint()
|
|
15
15
|
*/
|
|
16
16
|
export interface LintResult {
|
|
17
|
-
/**
|
|
17
|
+
/** true if there are no lint errors */
|
|
18
18
|
success: boolean;
|
|
19
|
-
/** ESLint + Stylelint
|
|
19
|
+
/** Total error count from ESLint + Stylelint */
|
|
20
20
|
errorCount: number;
|
|
21
|
-
/** ESLint + Stylelint
|
|
21
|
+
/** Total warning count from ESLint + Stylelint */
|
|
22
22
|
warningCount: number;
|
|
23
|
-
/**
|
|
23
|
+
/** Formatter output string (content to write to stdout) */
|
|
24
24
|
formattedOutput: string;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
* eslint.config.ts/js
|
|
28
|
-
*
|
|
29
|
-
* @internal
|
|
27
|
+
* Extract globalIgnores patterns from eslint.config.ts/js.
|
|
28
|
+
* A config object with only ignores (no files) is a globalIgnores.
|
|
29
|
+
* @internal exported for testing
|
|
30
30
|
*/
|
|
31
31
|
export declare function loadIgnorePatterns(cwd: string): Promise<string[]>;
|
|
32
32
|
/**
|
|
33
|
-
* ESLint/Stylelint
|
|
33
|
+
* Run ESLint/Stylelint and return results.
|
|
34
34
|
*
|
|
35
|
-
* - `eslint.config.ts/js
|
|
36
|
-
* -
|
|
37
|
-
* -
|
|
38
|
-
* - stdout
|
|
35
|
+
* - Extract globalIgnores patterns from `eslint.config.ts/js` and apply to glob filtering
|
|
36
|
+
* - Show progress using consola
|
|
37
|
+
* - Enable cache (saved to `.cache/eslint.cache`, auto invalidated on config changes)
|
|
38
|
+
* - No stdout output or process.exitCode setting (caller decides)
|
|
39
39
|
*
|
|
40
|
-
* @param options -
|
|
41
|
-
* @returns
|
|
40
|
+
* @param options - lint execution options
|
|
41
|
+
* @returns lint result (success status, error/warning counts, formatter output)
|
|
42
42
|
*/
|
|
43
43
|
export declare function executeLint(options: LintOptions): Promise<LintResult>;
|
|
44
44
|
/**
|
|
45
|
-
* ESLint
|
|
45
|
+
* Run ESLint.
|
|
46
46
|
*
|
|
47
|
-
* executeLint()
|
|
47
|
+
* Wrapper that calls executeLint(), outputs results to stdout, and sets exitCode.
|
|
48
48
|
*
|
|
49
|
-
* @param options -
|
|
50
|
-
* @returns
|
|
49
|
+
* @param options - lint execution options
|
|
50
|
+
* @returns resolves when complete. If errors are found, sets `process.exitCode` to 1 and resolves (does not throw)
|
|
51
51
|
*/
|
|
52
52
|
export declare function runLint(options: LintOptions): Promise<void>;
|
|
53
53
|
//# sourceMappingURL=lint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["..\\..\\src\\commands\\lint.ts"],"names":[],"mappings":"AAIA,OAAO,uBAAuB,CAAC;AAO/B;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["..\\..\\src\\commands\\lint.ts"],"names":[],"mappings":"AAIA,OAAO,uBAAuB,CAAC;AAO/B;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6FAA6F;IAC7F,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sBAAsB;IACtB,GAAG,EAAE,OAAO,CAAC;IACb,2FAA2F;IAC3F,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,eAAe,EAAE,MAAM,CAAC;CACzB;AAoCD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuCvE;AAgBD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8K3E;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjE"}
|