@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
|
@@ -35,7 +35,7 @@ class Capacitor {
|
|
|
35
35
|
_platforms;
|
|
36
36
|
_npmConfig;
|
|
37
37
|
/**
|
|
38
|
-
* Capacitor
|
|
38
|
+
* Create Capacitor instance (with configuration validation)
|
|
39
39
|
*/
|
|
40
40
|
static async create(pkgPath, config) {
|
|
41
41
|
Capacitor._validateConfig(config);
|
|
@@ -43,85 +43,85 @@ class Capacitor {
|
|
|
43
43
|
return new Capacitor(pkgPath, config, npmConfig);
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
|
-
* F5:
|
|
46
|
+
* F5: Validate configuration
|
|
47
47
|
*/
|
|
48
48
|
static _validateConfig(config) {
|
|
49
49
|
if (typeof config.appId !== "string" || config.appId.trim() === "") {
|
|
50
|
-
throw new CapacitorConfigError("capacitor.appId
|
|
50
|
+
throw new CapacitorConfigError("capacitor.appId is required.");
|
|
51
51
|
}
|
|
52
52
|
if (!/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/i.test(config.appId)) {
|
|
53
|
-
throw new CapacitorConfigError(`capacitor.appId
|
|
53
|
+
throw new CapacitorConfigError(`capacitor.appId format is invalid: ${config.appId}`);
|
|
54
54
|
}
|
|
55
55
|
if (typeof config.appName !== "string" || config.appName.trim() === "") {
|
|
56
|
-
throw new CapacitorConfigError("capacitor.appName
|
|
56
|
+
throw new CapacitorConfigError("capacitor.appName is required.");
|
|
57
57
|
}
|
|
58
58
|
if (config.platform != null) {
|
|
59
59
|
const platforms = Object.keys(config.platform);
|
|
60
60
|
for (const p of platforms) {
|
|
61
61
|
if (p !== "android") {
|
|
62
|
-
throw new CapacitorConfigError(
|
|
62
|
+
throw new CapacitorConfigError(`unsupported platform: ${p} (currently only android is supported)`);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
|
-
*
|
|
68
|
+
* Execute command (with logging)
|
|
69
69
|
*/
|
|
70
70
|
async _exec(cmd, args, cwd) {
|
|
71
|
-
Capacitor._logger.debug(
|
|
71
|
+
Capacitor._logger.debug(`executed command: ${cmd} ${args.join(" ")}`);
|
|
72
72
|
const { stdout: result } = await execa(cmd, args, { cwd });
|
|
73
|
-
Capacitor._logger.debug(
|
|
73
|
+
Capacitor._logger.debug(`execution result: ${result}`);
|
|
74
74
|
return result;
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
|
-
* F10:
|
|
77
|
+
* F10: Acquire lock to prevent concurrent execution
|
|
78
78
|
*/
|
|
79
79
|
async _acquireLock() {
|
|
80
80
|
const lockPath = path.resolve(this._capPath, Capacitor._LOCK_FILE_NAME);
|
|
81
81
|
if (await fsExists(lockPath)) {
|
|
82
82
|
const lockContent = await fsRead(lockPath);
|
|
83
83
|
throw new Error(
|
|
84
|
-
|
|
84
|
+
`Another Capacitor operation is in progress (PID: ${lockContent}). If there's an issue, delete the ${lockPath} file.`
|
|
85
85
|
);
|
|
86
86
|
}
|
|
87
87
|
await fsMkdir(this._capPath);
|
|
88
88
|
await fsWrite(lockPath, String(process.pid));
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
|
-
* F10:
|
|
91
|
+
* F10: Release lock
|
|
92
92
|
*/
|
|
93
93
|
async _releaseLock() {
|
|
94
94
|
const lockPath = path.resolve(this._capPath, Capacitor._LOCK_FILE_NAME);
|
|
95
95
|
await fsRm(lockPath);
|
|
96
96
|
}
|
|
97
97
|
/**
|
|
98
|
-
* F4:
|
|
98
|
+
* F4: Validate external tools
|
|
99
99
|
*/
|
|
100
100
|
async _validateTools() {
|
|
101
101
|
const sdkPath = await this._findAndroidSdk();
|
|
102
102
|
if (sdkPath == null) {
|
|
103
103
|
throw new Error(
|
|
104
|
-
"Android SDK
|
|
104
|
+
"Android SDK not found.\n1. Install Android Studio or\n2. Set ANDROID_HOME or ANDROID_SDK_ROOT environment variable."
|
|
105
105
|
);
|
|
106
106
|
}
|
|
107
107
|
if (this._platforms.includes("android")) {
|
|
108
108
|
const javaPath = await this._findJava21();
|
|
109
109
|
if (javaPath == null) {
|
|
110
110
|
Capacitor._logger.warn(
|
|
111
|
-
"Java 21
|
|
111
|
+
"Java 21 not found. Gradle may use embedded JDK or the build may fail."
|
|
112
112
|
);
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
/**
|
|
117
|
-
* Capacitor
|
|
117
|
+
* Initialize Capacitor project
|
|
118
118
|
*
|
|
119
|
-
* 1. package.json
|
|
120
|
-
* 2. capacitor.config.ts
|
|
121
|
-
* 3.
|
|
122
|
-
* 4.
|
|
123
|
-
* 5. Android
|
|
124
|
-
* 6. cap sync
|
|
119
|
+
* 1. Create package.json and install dependencies
|
|
120
|
+
* 2. Create capacitor.config.ts
|
|
121
|
+
* 3. Add platform (android)
|
|
122
|
+
* 4. Set up icon
|
|
123
|
+
* 5. Configure Android native settings
|
|
124
|
+
* 6. Run cap sync or cap copy
|
|
125
125
|
*/
|
|
126
126
|
async initialize() {
|
|
127
127
|
await this._acquireLock();
|
|
@@ -144,7 +144,7 @@ class Capacitor {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
/**
|
|
147
|
-
* Android APK/AAB
|
|
147
|
+
* Build Android APK/AAB
|
|
148
148
|
*/
|
|
149
149
|
async build(outPath) {
|
|
150
150
|
await this._acquireLock();
|
|
@@ -155,7 +155,7 @@ class Capacitor {
|
|
|
155
155
|
if (platform === "android") {
|
|
156
156
|
await this._buildAndroid(outPath, buildType);
|
|
157
157
|
} else {
|
|
158
|
-
throw new Error(
|
|
158
|
+
throw new Error(`unsupported platform: ${platform}`);
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
} finally {
|
|
@@ -163,7 +163,7 @@ class Capacitor {
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
/**
|
|
166
|
-
*
|
|
166
|
+
* Run app on device (connect WebView to development server)
|
|
167
167
|
*/
|
|
168
168
|
async runOnDevice(url) {
|
|
169
169
|
if (url != null) {
|
|
@@ -186,30 +186,30 @@ class Capacitor {
|
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
/**
|
|
189
|
-
* F11: URL
|
|
189
|
+
* F11: Validate URL
|
|
190
190
|
*/
|
|
191
191
|
_validateUrl(url) {
|
|
192
192
|
try {
|
|
193
193
|
const parsed = new URL(url);
|
|
194
194
|
if (!["http:", "https:"].includes(parsed.protocol)) {
|
|
195
|
-
throw new Error(
|
|
195
|
+
throw new Error(`unsupported protocol: ${parsed.protocol}`);
|
|
196
196
|
}
|
|
197
197
|
} catch (err) {
|
|
198
198
|
if (err instanceof TypeError) {
|
|
199
|
-
throw new Error(
|
|
199
|
+
throw new Error(`invalid URL: ${url}`);
|
|
200
200
|
}
|
|
201
201
|
throw err;
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
|
-
//#region Private -
|
|
204
|
+
//#region Private - Initialization
|
|
205
205
|
/**
|
|
206
|
-
* Capacitor
|
|
206
|
+
* Basic Capacitor project initialization (package.json, npm install, cap init)
|
|
207
207
|
*/
|
|
208
208
|
async _initCap() {
|
|
209
209
|
const depChanged = await this._setupNpmConf();
|
|
210
210
|
if (!depChanged) return false;
|
|
211
211
|
const installResult = await this._exec("pnpm", ["install"], this._capPath);
|
|
212
|
-
Capacitor._logger.debug(`pnpm install
|
|
212
|
+
Capacitor._logger.debug(`pnpm install completed: ${installResult}`);
|
|
213
213
|
const configPath = path.resolve(this._capPath, "capacitor.config.ts");
|
|
214
214
|
if (!await fsExists(configPath)) {
|
|
215
215
|
await this._exec(
|
|
@@ -227,12 +227,12 @@ class Capacitor {
|
|
|
227
227
|
return true;
|
|
228
228
|
}
|
|
229
229
|
/**
|
|
230
|
-
* package.json
|
|
230
|
+
* Configure package.json
|
|
231
231
|
*/
|
|
232
232
|
async _setupNpmConf() {
|
|
233
233
|
const projNpmConfigPath = path.resolve(this._pkgPath, "../../package.json");
|
|
234
234
|
if (!await fsExists(projNpmConfigPath)) {
|
|
235
|
-
throw new Error(
|
|
235
|
+
throw new Error(`root package.json not found: ${projNpmConfigPath}`);
|
|
236
236
|
}
|
|
237
237
|
const projNpmConfig = await fsReadJson(projNpmConfigPath);
|
|
238
238
|
const capNpmConfPath = path.resolve(this._capPath, "package.json");
|
|
@@ -266,14 +266,14 @@ class Capacitor {
|
|
|
266
266
|
for (const prevPlugin of prevPlugins) {
|
|
267
267
|
if (!usePlugins.includes(prevPlugin)) {
|
|
268
268
|
delete capNpmConf.dependencies[prevPlugin];
|
|
269
|
-
Capacitor._logger.debug(
|
|
269
|
+
Capacitor._logger.debug(`plugin removed: ${prevPlugin}`);
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
for (const plugin of usePlugins) {
|
|
273
273
|
if (!(plugin in capNpmConf.dependencies)) {
|
|
274
274
|
const version = mainDeps[plugin] ?? "*";
|
|
275
275
|
capNpmConf.dependencies[plugin] = version;
|
|
276
|
-
Capacitor._logger.debug(
|
|
276
|
+
Capacitor._logger.debug(`plugin added: ${plugin}@${version}`);
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
await fsMkdir(this._capPath);
|
|
@@ -282,7 +282,7 @@ class Capacitor {
|
|
|
282
282
|
return isChanged;
|
|
283
283
|
}
|
|
284
284
|
/**
|
|
285
|
-
* capacitor.config.ts
|
|
285
|
+
* Create capacitor.config.ts
|
|
286
286
|
*/
|
|
287
287
|
async _writeCapConf() {
|
|
288
288
|
const confPath = path.resolve(this._capPath, "capacitor.config.ts");
|
|
@@ -312,20 +312,20 @@ export default config;
|
|
|
312
312
|
await fsWrite(confPath, configContent);
|
|
313
313
|
}
|
|
314
314
|
/**
|
|
315
|
-
*
|
|
315
|
+
* Add platform (F12: ensure idempotency)
|
|
316
316
|
*/
|
|
317
317
|
async _addPlatforms() {
|
|
318
318
|
for (const platform of this._platforms) {
|
|
319
319
|
const platformPath = path.resolve(this._capPath, platform);
|
|
320
320
|
if (await fsExists(platformPath)) {
|
|
321
|
-
Capacitor._logger.debug(
|
|
321
|
+
Capacitor._logger.debug(`platform already exists: ${platform}`);
|
|
322
322
|
continue;
|
|
323
323
|
}
|
|
324
324
|
await this._exec("npx", ["cap", "add", platform], this._capPath);
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
327
|
/**
|
|
328
|
-
*
|
|
328
|
+
* Set up icon (F6: error recovery)
|
|
329
329
|
*/
|
|
330
330
|
async _setupIcon() {
|
|
331
331
|
const assetsDirPath = path.resolve(this._capPath, "assets");
|
|
@@ -333,7 +333,7 @@ export default config;
|
|
|
333
333
|
const iconSource = path.resolve(this._pkgPath, this._config.icon);
|
|
334
334
|
if (!await fsExists(iconSource)) {
|
|
335
335
|
Capacitor._logger.warn(
|
|
336
|
-
|
|
336
|
+
`icon file not found: ${iconSource}. Using default icon.`
|
|
337
337
|
);
|
|
338
338
|
return;
|
|
339
339
|
}
|
|
@@ -366,7 +366,7 @@ export default config;
|
|
|
366
366
|
);
|
|
367
367
|
} catch (err) {
|
|
368
368
|
Capacitor._logger.warn(
|
|
369
|
-
|
|
369
|
+
`icon generation failed: ${err instanceof Error ? err.message : err}. Using default icon.`
|
|
370
370
|
);
|
|
371
371
|
}
|
|
372
372
|
} else {
|
|
@@ -374,14 +374,14 @@ export default config;
|
|
|
374
374
|
}
|
|
375
375
|
}
|
|
376
376
|
//#endregion
|
|
377
|
-
//#region Private - Android
|
|
377
|
+
//#region Private - Android Configuration
|
|
378
378
|
/**
|
|
379
|
-
* Android
|
|
379
|
+
* Configure Android native settings
|
|
380
380
|
*/
|
|
381
381
|
async _configureAndroid() {
|
|
382
382
|
const androidPath = path.resolve(this._capPath, "android");
|
|
383
383
|
if (!await fsExists(androidPath)) {
|
|
384
|
-
throw new Error(`Android
|
|
384
|
+
throw new Error(`Android project directory not found: ${androidPath}`);
|
|
385
385
|
}
|
|
386
386
|
await this._configureAndroidJavaHomePath(androidPath);
|
|
387
387
|
await this._configureAndroidSdkPath(androidPath);
|
|
@@ -389,12 +389,12 @@ export default config;
|
|
|
389
389
|
await this._configureAndroidBuildGradle(androidPath);
|
|
390
390
|
}
|
|
391
391
|
/**
|
|
392
|
-
* JAVA_HOME
|
|
392
|
+
* Set up JAVA_HOME path (gradle.properties)
|
|
393
393
|
*/
|
|
394
394
|
async _configureAndroidJavaHomePath(androidPath) {
|
|
395
395
|
const gradlePropsPath = path.resolve(androidPath, "gradle.properties");
|
|
396
396
|
if (!await fsExists(gradlePropsPath)) {
|
|
397
|
-
Capacitor._logger.warn(`gradle.properties
|
|
397
|
+
Capacitor._logger.warn(`gradle.properties file not found: ${gradlePropsPath}`);
|
|
398
398
|
return;
|
|
399
399
|
}
|
|
400
400
|
let content = await fsRead(gradlePropsPath);
|
|
@@ -408,7 +408,7 @@ org.gradle.java.home=${escapedPath}
|
|
|
408
408
|
}
|
|
409
409
|
}
|
|
410
410
|
/**
|
|
411
|
-
* Java 21
|
|
411
|
+
* Auto-detect Java 21 path
|
|
412
412
|
*/
|
|
413
413
|
async _findJava21() {
|
|
414
414
|
const patterns = [
|
|
@@ -428,7 +428,7 @@ org.gradle.java.home=${escapedPath}
|
|
|
428
428
|
return void 0;
|
|
429
429
|
}
|
|
430
430
|
/**
|
|
431
|
-
* Android SDK
|
|
431
|
+
* Set up Android SDK path (local.properties)
|
|
432
432
|
*/
|
|
433
433
|
async _configureAndroidSdkPath(androidPath) {
|
|
434
434
|
const localPropsPath = path.resolve(androidPath, "local.properties");
|
|
@@ -438,12 +438,12 @@ org.gradle.java.home=${escapedPath}
|
|
|
438
438
|
`);
|
|
439
439
|
} else {
|
|
440
440
|
throw new Error(
|
|
441
|
-
"Android SDK
|
|
441
|
+
"Android SDK not found.\n1. Install Android Studio or\n2. Set ANDROID_HOME or ANDROID_SDK_ROOT environment variable."
|
|
442
442
|
);
|
|
443
443
|
}
|
|
444
444
|
}
|
|
445
445
|
/**
|
|
446
|
-
* Android SDK
|
|
446
|
+
* Search for Android SDK path
|
|
447
447
|
*/
|
|
448
448
|
async _findAndroidSdk() {
|
|
449
449
|
const fromEnv = env["ANDROID_HOME"] ?? env["ANDROID_SDK_ROOT"];
|
|
@@ -464,12 +464,12 @@ org.gradle.java.home=${escapedPath}
|
|
|
464
464
|
return void 0;
|
|
465
465
|
}
|
|
466
466
|
/**
|
|
467
|
-
* AndroidManifest.xml
|
|
467
|
+
* Modify AndroidManifest.xml (F3: add error handling)
|
|
468
468
|
*/
|
|
469
469
|
async _configureAndroidManifest(androidPath) {
|
|
470
470
|
const manifestPath = path.resolve(androidPath, "app/src/main/AndroidManifest.xml");
|
|
471
471
|
if (!await fsExists(manifestPath)) {
|
|
472
|
-
throw new Error(`AndroidManifest.xml
|
|
472
|
+
throw new Error(`AndroidManifest.xml file not found: ${manifestPath}`);
|
|
473
473
|
}
|
|
474
474
|
let content = await fsRead(manifestPath);
|
|
475
475
|
if (!content.includes("android:usesCleartextTraffic")) {
|
|
@@ -520,12 +520,12 @@ org.gradle.java.home=${escapedPath}
|
|
|
520
520
|
await fsWrite(manifestPath, content);
|
|
521
521
|
}
|
|
522
522
|
/**
|
|
523
|
-
* build.gradle
|
|
523
|
+
* Modify build.gradle (F3: add error handling)
|
|
524
524
|
*/
|
|
525
525
|
async _configureAndroidBuildGradle(androidPath) {
|
|
526
526
|
const buildGradlePath = path.resolve(androidPath, "app/build.gradle");
|
|
527
527
|
if (!await fsExists(buildGradlePath)) {
|
|
528
|
-
throw new Error(`build.gradle
|
|
528
|
+
throw new Error(`build.gradle file not found: ${buildGradlePath}`);
|
|
529
529
|
}
|
|
530
530
|
let content = await fsRead(buildGradlePath);
|
|
531
531
|
const version = this._npmConfig.version;
|
|
@@ -550,7 +550,7 @@ org.gradle.java.home=${escapedPath}
|
|
|
550
550
|
if (signConfig) {
|
|
551
551
|
const keystoreSource = path.resolve(this._pkgPath, signConfig.keystore);
|
|
552
552
|
if (!await fsExists(keystoreSource)) {
|
|
553
|
-
throw new Error(`keystore
|
|
553
|
+
throw new Error(`keystore file not found: ${keystoreSource}`);
|
|
554
554
|
}
|
|
555
555
|
await fsCopy(keystoreSource, keystorePath);
|
|
556
556
|
const keystoreRelativePath = path.relative(path.dirname(buildGradlePath), keystorePath).replace(/\\/g, "/");
|
|
@@ -582,9 +582,9 @@ org.gradle.java.home=${escapedPath}
|
|
|
582
582
|
await fsWrite(buildGradlePath, content);
|
|
583
583
|
}
|
|
584
584
|
//#endregion
|
|
585
|
-
//#region Private -
|
|
585
|
+
//#region Private - Build
|
|
586
586
|
/**
|
|
587
|
-
* Android
|
|
587
|
+
* Build Android
|
|
588
588
|
*/
|
|
589
589
|
async _buildAndroid(outPath, buildType) {
|
|
590
590
|
const androidPath = path.resolve(this._capPath, "android");
|
|
@@ -599,7 +599,7 @@ org.gradle.java.home=${escapedPath}
|
|
|
599
599
|
await this._copyAndroidBuildOutput(androidPath, targetOutPath, buildType);
|
|
600
600
|
}
|
|
601
601
|
/**
|
|
602
|
-
* Android
|
|
602
|
+
* Copy Android build output
|
|
603
603
|
*/
|
|
604
604
|
async _copyAndroidBuildOutput(androidPath, targetOutPath, buildType) {
|
|
605
605
|
const isBundle = this._config.platform?.android?.bundle;
|
|
@@ -622,7 +622,7 @@ org.gradle.java.home=${escapedPath}
|
|
|
622
622
|
`app-${buildType}.${ext}`
|
|
623
623
|
);
|
|
624
624
|
if (!await fsExists(actualPath)) {
|
|
625
|
-
Capacitor._logger.warn(
|
|
625
|
+
Capacitor._logger.warn(`build output not found: ${actualPath}`);
|
|
626
626
|
return;
|
|
627
627
|
}
|
|
628
628
|
const outputFileName = `${this._config.appName}${isSigned ? "" : "-unsigned"}-latest.${ext}`;
|
|
@@ -633,9 +633,9 @@ org.gradle.java.home=${escapedPath}
|
|
|
633
633
|
await fsCopy(actualPath, path.resolve(updatesPath, `${this._npmConfig.version}.${ext}`));
|
|
634
634
|
}
|
|
635
635
|
//#endregion
|
|
636
|
-
//#region Private -
|
|
636
|
+
//#region Private - Device Execution
|
|
637
637
|
/**
|
|
638
|
-
* capacitor.config.ts
|
|
638
|
+
* Update server.url in capacitor.config.ts
|
|
639
639
|
*/
|
|
640
640
|
async _updateServerUrl(url) {
|
|
641
641
|
const configPath = path.resolve(this._capPath, "capacitor.config.ts");
|
|
@@ -650,9 +650,9 @@ org.gradle.java.home=${escapedPath}
|
|
|
650
650
|
await fsWrite(configPath, content);
|
|
651
651
|
}
|
|
652
652
|
//#endregion
|
|
653
|
-
//#region Private -
|
|
653
|
+
//#region Private - Utilities
|
|
654
654
|
/**
|
|
655
|
-
*
|
|
655
|
+
* Convert string to PascalCase
|
|
656
656
|
*/
|
|
657
657
|
_toPascalCase(str) {
|
|
658
658
|
return str.replace(/[-_](.)/g, (_, c) => c.toUpperCase()).replace(/^./, (c) => c.toUpperCase());
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/capacitor/capacitor.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,WAAW;AACpB,SAAS,eAAe;AACxB,OAAO,WAAW;AAElB,SAAS,aAAa;AAiBtB,MAAM,6BAA6B,MAAM;AAAA,EACvC,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,SAAK,OAAO;AAAA,EACd;AACF;AASO,MAAM,UAAU;AAAA,EASb,YACW,UACA,SACjB,WACA;AAHiB;AACA;AAGjB,SAAK,aAAa,OAAO,KAAK,KAAK,QAAQ,YAAY,CAAC,CAAC;AACzD,SAAK,aAAa;AAClB,SAAK,WAAW,KAAK,QAAQ,KAAK,UAAU,YAAY;AAAA,EAC1D;AAAA,EAhBA,OAAwB,8BAA8B;AAAA,EACtD,OAAwB,kBAAkB;AAAA,EAC1C,OAAwB,UAAU,QAAQ,QAAQ,kBAAkB;AAAA,EAEnD;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAejB,aAAa,OAAO,SAAiB,QAA+C;AAElF,cAAU,gBAAgB,MAAM;AAEhC,UAAM,YAAY,MAAM,WAAsB,KAAK,QAAQ,SAAS,cAAc,CAAC;AACnF,WAAO,IAAI,UAAU,SAAS,QAAQ,SAAS;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe,gBAAgB,QAAiC;AAC9D,QAAI,OAAO,OAAO,UAAU,YAAY,OAAO,MAAM,KAAK,MAAM,IAAI;AAClE,YAAM,IAAI,qBAAqB,uDAAyB;AAAA,IAC1D;AACA,QAAI,CAAC,yCAAyC,KAAK,OAAO,KAAK,GAAG;AAChE,YAAM,IAAI,qBAAqB,yFAAkC,OAAO,KAAK,EAAE;AAAA,IACjF;AACA,QAAI,OAAO,OAAO,YAAY,YAAY,OAAO,QAAQ,KAAK,MAAM,IAAI;AACtE,YAAM,IAAI,qBAAqB,yDAA2B;AAAA,IAC5D;AACA,QAAI,OAAO,YAAY,MAAM;AAC3B,YAAM,YAAY,OAAO,KAAK,OAAO,QAAQ;AAC7C,iBAAW,KAAK,WAAW;AACzB,YAAI,MAAM,WAAW;AACnB,gBAAM,IAAI,qBAAqB,6DAAgB,CAAC,4CAAmB;AAAA,QACrE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,MAAM,KAAa,MAAgB,KAA8B;AAC7E,cAAU,QAAQ,MAAM,8BAAU,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE;AACzD,UAAM,EAAE,QAAQ,OAAO,IAAI,MAAM,MAAM,KAAK,MAAM,EAAE,IAAI,CAAC;AACzD,cAAU,QAAQ,MAAM,8BAAU,MAAM,EAAE;AAC1C,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,eAA8B;AAC1C,UAAM,WAAW,KAAK,QAAQ,KAAK,UAAU,UAAU,eAAe;AACtE,QAAI,MAAM,SAAS,QAAQ,GAAG;AAC5B,YAAM,cAAc,MAAM,OAAO,QAAQ;AACzC,YAAM,IAAI;AAAA,QACR,yFAAkC,WAAW,4CAChC,QAAQ;AAAA,MACvB;AAAA,IACF;AACA,UAAM,QAAQ,KAAK,QAAQ;AAC3B,UAAM,QAAQ,UAAU,OAAO,QAAQ,GAAG,CAAC;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,eAA8B;AAC1C,UAAM,WAAW,KAAK,QAAQ,KAAK,UAAU,UAAU,eAAe;AACtE,UAAM,KAAK,QAAQ;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,iBAAgC;AAE5C,UAAM,UAAU,MAAM,KAAK,gBAAgB;AAC3C,QAAI,WAAW,MAAM;AACnB,YAAM,IAAI;AAAA,QACR;AAAA,MAGF;AAAA,IACF;AAGA,QAAI,KAAK,WAAW,SAAS,SAAS,GAAG;AACvC,YAAM,WAAW,MAAM,KAAK,YAAY;AACxC,UAAI,YAAY,MAAM;AACpB,kBAAU,QAAQ;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAM,aAA4B;AAChC,UAAM,KAAK,aAAa;AAExB,QAAI;AAEF,YAAM,KAAK,eAAe;AAG1B,YAAM,UAAU,MAAM,KAAK,SAAS;AAGpC,YAAM,KAAK,cAAc;AAGzB,YAAM,KAAK,cAAc;AAGzB,YAAM,KAAK,WAAW;AAGtB,UAAI,KAAK,WAAW,SAAS,SAAS,GAAG;AACvC,cAAM,KAAK,kBAAkB;AAAA,MAC/B;AAGA,UAAI,SAAS;AACX,cAAM,KAAK,MAAM,OAAO,CAAC,OAAO,MAAM,GAAG,KAAK,QAAQ;AAAA,MACxD,OAAO;AACL,cAAM,KAAK,MAAM,OAAO,CAAC,OAAO,MAAM,GAAG,KAAK,QAAQ;AAAA,MACxD;AAAA,IACF,UAAE;AACA,YAAM,KAAK,aAAa;AAAA,IAC1B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,MAAM,SAAgC;AAC1C,UAAM,KAAK,aAAa;AAExB,QAAI;AACF,YAAM,YAAY,KAAK,QAAQ,QAAQ,UAAU;AAEjD,iBAAW,YAAY,KAAK,YAAY;AACtC,cAAM,KAAK,MAAM,OAAO,CAAC,OAAO,QAAQ,QAAQ,GAAG,KAAK,QAAQ;AAEhE,YAAI,aAAa,WAAW;AAC1B,gBAAM,KAAK,cAAc,SAAS,SAAS;AAAA,QAC7C,OAAO;AACL,gBAAM,IAAI,MAAM,6DAAgB,QAAQ,EAAE;AAAA,QAC5C;AAAA,MACF;AAAA,IACF,UAAE;AACA,YAAM,KAAK,aAAa;AAAA,IAC1B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAY,KAA6B;AAE7C,QAAI,OAAO,MAAM;AACf,WAAK,aAAa,GAAG;AACrB,YAAM,KAAK,iBAAiB,GAAG;AAAA,IACjC;AAEA,eAAW,YAAY,KAAK,YAAY;AACtC,YAAM,KAAK,MAAM,OAAO,CAAC,OAAO,QAAQ,QAAQ,GAAG,KAAK,QAAQ;AAEhE,UAAI;AACF,cAAM,KAAK,MAAM,OAAO,CAAC,OAAO,OAAO,QAAQ,GAAG,KAAK,QAAQ;AAAA,MACjE,SAAS,KAAK;AACZ,YAAI,aAAa,WAAW;AAC1B,cAAI;AACF,kBAAM,KAAK,MAAM,OAAO,CAAC,aAAa,GAAG,KAAK,QAAQ;AAAA,UACxD,QAAQ;AAAA,UAER;AAAA,QACF;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKQ,aAAa,KAAmB;AACtC,QAAI;AACF,YAAM,SAAS,IAAI,IAAI,GAAG;AAC1B,UAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS,OAAO,QAAQ,GAAG;AAClD,cAAM,IAAI,MAAM,mEAAiB,OAAO,QAAQ,EAAE;AAAA,MACpD;AAAA,IACF,SAAS,KAAK;AACZ,UAAI,eAAe,WAAW;AAC5B,cAAM,IAAI,MAAM,8CAAgB,GAAG,EAAE;AAAA,MACvC;AACA,YAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAc,WAA6B;AACzC,UAAM,aAAa,MAAM,KAAK,cAAc;AAC5C,QAAI,CAAC,WAAY,QAAO;AAGxB,UAAM,gBAAgB,MAAM,KAAK,MAAM,QAAQ,CAAC,SAAS,GAAG,KAAK,QAAQ;AACzE,cAAU,QAAQ,MAAM,8BAAoB,aAAa,EAAE;AAG3D,UAAM,aAAa,KAAK,QAAQ,KAAK,UAAU,qBAAqB;AACpE,QAAI,CAAE,MAAM,SAAS,UAAU,GAAI;AACjC,YAAM,KAAK;AAAA,QACT;AAAA,QACA,CAAC,OAAO,QAAQ,KAAK,QAAQ,SAAS,KAAK,QAAQ,KAAK;AAAA,QACxD,KAAK;AAAA,MACP;AAAA,IACF;AAGA,UAAM,UAAU,KAAK,QAAQ,KAAK,UAAU,KAAK;AACjD,UAAM,QAAQ,OAAO;AACrB,UAAM;AAAA,MACJ,KAAK,QAAQ,SAAS,YAAY;AAAA,MAClC;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,gBAAkC;AAC9C,UAAM,oBAAoB,KAAK,QAAQ,KAAK,UAAU,oBAAoB;AAG1E,QAAI,CAAE,MAAM,SAAS,iBAAiB,GAAI;AACxC,YAAM,IAAI,MAAM,iFAA+B,iBAAiB,EAAE;AAAA,IACpE;AAEA,UAAM,gBAAgB,MAAM,WAAsB,iBAAiB;AAEnE,UAAM,iBAAiB,KAAK,QAAQ,KAAK,UAAU,cAAc;AACjE,UAAM,gBAA4B,MAAM,SAAS,cAAc,IAC3D,MAAM,WAAsB,cAAc,IAC1C,EAAE,MAAM,IAAI,SAAS,GAAG;AAE5B,UAAM,aAAwB,EAAE,GAAG,cAAc;AACjD,eAAW,OAAO,KAAK,QAAQ;AAC/B,eAAW,UAAU,KAAK,WAAW;AACrC,QAAI,cAAc,SAAS,MAAM;AAC/B,iBAAW,QAAQ,cAAc;AAAA,IACnC;AAGA,eAAW,eAAe,WAAW,gBAAgB,CAAC;AACtD,eAAW,aAAa,iBAAiB,IAAI;AAC7C,eAAW,aAAa,gBAAgB,IAAI;AAC5C,eAAW,YAAY,KAAK,YAAY;AACtC,iBAAW,aAAa,cAAc,QAAQ,EAAE,IAAI;AAAA,IACtD;AAEA,eAAW,kBAAkB,WAAW,mBAAmB,CAAC;AAC5D,eAAW,gBAAgB,gBAAgB,IAAI;AAC/C,eAAW,gBAAgB,mBAAmB,IAAI;AAGlD,UAAM,WAAW;AAAA,MACf,GAAG,KAAK,WAAW;AAAA,MACnB,GAAG,KAAK,WAAW;AAAA,MACnB,GAAG,KAAK,WAAW;AAAA,IACrB;AAEA,UAAM,aAAa,OAAO,KAAK,KAAK,QAAQ,WAAW,CAAC,CAAC;AAEzD,UAAM,cAAc,OAAO,KAAK,WAAW,YAAY,EAAE;AAAA,MACvD,CAAC,SACC,CAAC,CAAC,mBAAmB,sBAAsB,kBAAkB,gBAAgB,EAAE;AAAA,QAC7E;AAAA,MACF;AAAA,IACJ;AAGA,eAAW,cAAc,aAAa;AACpC,UAAI,CAAC,WAAW,SAAS,UAAU,GAAG;AACpC,eAAO,WAAW,aAAa,UAAU;AACzC,kBAAU,QAAQ,MAAM,0CAAY,UAAU,EAAE;AAAA,MAClD;AAAA,IACF;AAGA,eAAW,UAAU,YAAY;AAC/B,UAAI,EAAE,UAAU,WAAW,eAAe;AACxC,cAAM,UAAU,SAAS,MAAM,KAAK;AACpC,mBAAW,aAAa,MAAM,IAAI;AAClC,kBAAU,QAAQ,MAAM,0CAAY,MAAM,IAAI,OAAO,EAAE;AAAA,MACzD;AAAA,IACF;AAGA,UAAM,QAAQ,KAAK,QAAQ;AAC3B,UAAM,YAAY,gBAAgB,YAAY,EAAE,OAAO,EAAE,CAAC;AAG1D,UAAM,YACJ,cAAc,UAAU,WAAW,SACnC,KAAK,UAAU,cAAc,YAAY,MAAM,KAAK,UAAU,WAAW,YAAY,KACrF,KAAK,UAAU,cAAc,eAAe,MAAM,KAAK,UAAU,WAAW,eAAe;AAE7F,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,gBAA+B;AAC3C,UAAM,WAAW,KAAK,QAAQ,KAAK,UAAU,qBAAqB;AAGlE,UAAM,gBAAyD,CAAC;AAChE,eAAW,CAAC,YAAY,OAAO,KAAK,OAAO,QAAQ,KAAK,QAAQ,WAAW,CAAC,CAAC,GAAG;AAC9E,UAAI,YAAY,MAAM;AACpB,cAAM,YAAY,KAAK,cAAc,WAAW,MAAM,GAAG,EAAE,GAAG,EAAE,CAAE;AAClE,sBAAc,SAAS,IAAI;AAAA,MAC7B;AAAA,IACF;AAEA,UAAM,mBACJ,OAAO,KAAK,aAAa,EAAE,SAAS,IAChC,KAAK,UAAU,eAAe,MAAM,CAAC,EAAE,QAAQ,OAAO,IAAI,EAAE,KAAK,IACjE;AAEN,UAAM,gBAAgB;AAAA;AAAA;AAAA,YAGd,KAAK,QAAQ,KAAK;AAAA,cAChB,KAAK,QAAQ,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMrB,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAMzB,UAAM,QAAQ,UAAU,aAAa;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,gBAA+B;AAC3C,eAAW,YAAY,KAAK,YAAY;AACtC,YAAM,eAAe,KAAK,QAAQ,KAAK,UAAU,QAAQ;AACzD,UAAI,MAAM,SAAS,YAAY,GAAG;AAChC,kBAAU,QAAQ,MAAM,iDAAc,QAAQ,EAAE;AAChD;AAAA,MACF;AAEA,YAAM,KAAK,MAAM,OAAO,CAAC,OAAO,OAAO,QAAQ,GAAG,KAAK,QAAQ;AAAA,IACjE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,aAA4B;AACxC,UAAM,gBAAgB,KAAK,QAAQ,KAAK,UAAU,QAAQ;AAE1D,QAAI,KAAK,QAAQ,QAAQ,MAAM;AAC7B,YAAM,aAAa,KAAK,QAAQ,KAAK,UAAU,KAAK,QAAQ,IAAI;AAGhE,UAAI,CAAE,MAAM,SAAS,UAAU,GAAI;AACjC,kBAAU,QAAQ;AAAA,UAChB,uFAAsB,UAAU;AAAA,QAClC;AACA;AAAA,MACF;AAEA,UAAI;AACF,cAAM,QAAQ,aAAa;AAG3B,cAAM,WAAW,KAAK,QAAQ,eAAe,UAAU;AAEvD,cAAM,WAAW,KAAK,MAAM,OAAO,GAAG;AACtC,cAAM,UAAU,KAAK,OAAO,OAAO,YAAY,CAAC;AAGhD,cAAM,MAAM,UAAU,EACnB,OAAO,UAAU,UAAU;AAAA,UAC1B,KAAK;AAAA,UACL,YAAY,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,EAAE;AAAA,QAC3C,CAAC,EACA,OAAO;AAAA,UACN,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,OAAO;AAAA,UACP,YAAY,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,EAAE;AAAA,QAC3C,CAAC,EACA,OAAO,QAAQ;AAElB,cAAM,KAAK;AAAA,UACT;AAAA,UACA;AAAA,YACE;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,KAAK;AAAA,QACP;AAAA,MACF,SAAS,KAAK;AACZ,kBAAU,QAAQ;AAAA,UAChB,iDAAc,eAAe,QAAQ,IAAI,UAAU,GAAG;AAAA,QACxD;AAAA,MAEF;AAAA,IACF,OAAO;AACL,YAAM,KAAK,aAAa;AAAA,IAC1B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAc,oBAAmC;AAC/C,UAAM,cAAc,KAAK,QAAQ,KAAK,UAAU,SAAS;AAGzD,QAAI,CAAE,MAAM,SAAS,WAAW,GAAI;AAClC,YAAM,IAAI,MAAM,6FAA4B,WAAW,EAAE;AAAA,IAC3D;AAEA,UAAM,KAAK,8BAA8B,WAAW;AACpD,UAAM,KAAK,yBAAyB,WAAW;AAC/C,UAAM,KAAK,0BAA0B,WAAW;AAChD,UAAM,KAAK,6BAA6B,WAAW;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,8BAA8B,aAAoC;AAC9E,UAAM,kBAAkB,KAAK,QAAQ,aAAa,mBAAmB;AAGrE,QAAI,CAAE,MAAM,SAAS,eAAe,GAAI;AACtC,gBAAU,QAAQ,KAAK,kEAA+B,eAAe,EAAE;AACvE;AAAA,IACF;AAEA,QAAI,UAAU,MAAM,OAAO,eAAe;AAE1C,UAAM,aAAa,MAAM,KAAK,YAAY;AAC1C,QAAI,cAAc,QAAQ,CAAC,QAAQ,SAAS,sBAAsB,GAAG;AAEnE,YAAM,cAAc,WAAW,QAAQ,OAAO,MAAM;AACpD,iBAAW;AAAA,uBAA0B,WAAW;AAAA;AAChD,YAAM,QAAQ,iBAAiB,OAAO;AAAA,IACxC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,cAA2C;AACvD,UAAM,WAAW;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,eAAW,WAAW,UAAU;AAC9B,YAAM,UAAU,MAAM,OAAO,OAAO;AACpC,UAAI,QAAQ,SAAS,GAAG;AACtB,eAAO,QAAQ,KAAK,EAAE,GAAG,EAAE;AAAA,MAC7B;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,yBAAyB,aAAoC;AACzE,UAAM,iBAAiB,KAAK,QAAQ,aAAa,kBAAkB;AAEnE,UAAM,UAAU,MAAM,KAAK,gBAAgB;AAC3C,QAAI,WAAW,MAAM;AAEnB,YAAM,QAAQ,gBAAgB,WAAW,QAAQ,QAAQ,OAAO,GAAG,CAAC;AAAA,CAAI;AAAA,IAC1E,OAAO;AACL,YAAM,IAAI;AAAA,QACR;AAAA,MAGF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,kBAA+C;AAC3D,UAAM,UAAW,IAAI,cAAc,KAAK,IAAI,kBAAkB;AAC9D,QAAI,WAAW,QAAS,MAAM,SAAS,OAAO,GAAI;AAChD,aAAO;AAAA,IACT;AAEA,UAAM,aAAa;AAAA,MACjB,KAAK,QAAS,IAAI,cAAc,KAA4B,IAAI,aAAa;AAAA,MAC7E,KAAK,QAAS,IAAI,MAAM,KAA4B,IAAI,aAAa;AAAA,MACrE;AAAA,MACA;AAAA,IACF;AAEA,eAAW,aAAa,YAAY;AAClC,UAAI,MAAM,SAAS,SAAS,GAAG;AAC7B,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,0BAA0B,aAAoC;AAC1E,UAAM,eAAe,KAAK,QAAQ,aAAa,kCAAkC;AAGjF,QAAI,CAAE,MAAM,SAAS,YAAY,GAAI;AACnC,YAAM,IAAI,MAAM,oEAAiC,YAAY,EAAE;AAAA,IACjE;AAEA,QAAI,UAAU,MAAM,OAAO,YAAY;AAGvC,QAAI,CAAC,QAAQ,SAAS,8BAA8B,GAAG;AACrD,gBAAU,QAAQ,QAAQ,gBAAgB,kDAAkD;AAAA,IAC9F;AAGA,UAAM,cAAc,KAAK,QAAQ,UAAU,SAAS,eAAe,CAAC;AACpE,eAAW,QAAQ,aAAa;AAC9B,YAAM,UAAU,qDAAqD,KAAK,IAAI;AAC9E,UAAI,CAAC,QAAQ,SAAS,OAAO,GAAG;AAC9B,cAAM,aACJ,KAAK,iBAAiB,OAAO,2BAA2B,KAAK,aAAa,MAAM;AAClF,cAAM,aAAa,KAAK,UAAU,OAAO,kBAAkB,KAAK,MAAM,MAAM;AAC5E,cAAM,WAAW,OAAO,OAAO,GAAG,UAAU,GAAG,UAAU;AAAA;AAEzD,YAAI,KAAK,UAAU,QAAQ,CAAC,QAAQ,SAAS,cAAc,GAAG;AAC5D,oBAAU,QAAQ;AAAA,YAChB;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAEA,kBAAU,QAAQ,QAAQ,eAAe,GAAG,QAAQ,aAAa;AAAA,MACnE;AAAA,IACF;AAGA,UAAM,YAAY,KAAK,QAAQ,UAAU,SAAS;AAClD,QAAI,WAAW;AACb,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,SAAS,GAAG;AACpD,cAAM,OAAO,WAAW,GAAG,KAAK,KAAK;AACrC,YAAI,CAAC,QAAQ,SAAS,WAAW,GAAG,GAAG,GAAG;AACxC,oBAAU,QAAQ,QAAQ,gBAAgB,gBAAgB,IAAI,EAAE;AAAA,QAClE;AAAA,MACF;AAAA,IACF;AAGA,UAAM,gBAAgB,KAAK,QAAQ,UAAU,SAAS,iBAAiB,CAAC;AACxE,eAAW,UAAU,eAAe;AAClC,YAAM,YAAY,OAAO,UAAU,OAAO,YAAY;AACtD,UAAI,aAAa,CAAC,QAAQ,SAAS,SAAS,GAAG;AAC7C,cAAM,aAAa,OAAO,UAAU,OAAO,yBAAyB,OAAO,MAAM,QAAQ;AACzF,cAAM,eACJ,OAAO,YAAY,OAAO,2BAA2B,OAAO,QAAQ,QAAQ;AAE9E,kBAAU,QAAQ;AAAA,UAChB;AAAA,UACA;AAAA;AAAA,kBAEQ,UAAU;AAAA,kBACV,YAAY;AAAA;AAAA,QAEtB;AAAA,MACF;AAAA,IACF;AAEA,UAAM,QAAQ,cAAc,OAAO;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,6BAA6B,aAAoC;AAC7E,UAAM,kBAAkB,KAAK,QAAQ,aAAa,kBAAkB;AAGpE,QAAI,CAAE,MAAM,SAAS,eAAe,GAAI;AACtC,YAAM,IAAI,MAAM,6DAA0B,eAAe,EAAE;AAAA,IAC7D;AAEA,QAAI,UAAU,MAAM,OAAO,eAAe;AAG1C,UAAM,UAAU,KAAK,WAAW;AAChC,UAAM,eAAe,QAAQ,QAAQ,QAAQ,EAAE;AAC/C,UAAM,eAAe,aAAa,MAAM,GAAG;AAC3C,UAAM,cACJ,SAAS,aAAa,CAAC,KAAK,GAAG,IAAI,MACnC,SAAS,aAAa,CAAC,KAAK,GAAG,IAAI,MACnC,SAAS,aAAa,CAAC,KAAK,GAAG;AAEjC,cAAU,QAAQ,QAAQ,mBAAmB,eAAe,WAAW,EAAE;AACzE,cAAU,QAAQ,QAAQ,uBAAuB,gBAAgB,OAAO,GAAG;AAG3E,QAAI,KAAK,QAAQ,UAAU,SAAS,cAAc,MAAM;AACtD,YAAM,aAAa,KAAK,QAAQ,SAAS,QAAQ;AACjD,gBAAU,QAAQ,QAAQ,oBAAoB,iBAAiB,UAAU,EAAE;AAC3E,gBAAU,QAAQ,QAAQ,uBAAuB,oBAAoB,UAAU,EAAE;AAAA,IACnF,OAAO;AACL,gBAAU,QAAQ,QAAQ,oBAAoB,6CAA6C;AAC3F,gBAAU,QAAQ;AAAA,QAChB;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAGA,UAAM,eAAe,KAAK,QAAQ,KAAK,UAAU,UAAU,2BAA2B;AACtF,UAAM,aAAa,KAAK,QAAQ,UAAU,SAAS;AACnD,QAAI,YAAY;AACd,YAAM,iBAAiB,KAAK,QAAQ,KAAK,UAAU,WAAW,QAAQ;AAEtE,UAAI,CAAE,MAAM,SAAS,cAAc,GAAI;AACrC,cAAM,IAAI,MAAM,6EAA2B,cAAc,EAAE;AAAA,MAC7D;AACA,YAAM,OAAO,gBAAgB,YAAY;AAGzC,YAAM,uBAAuB,KAC1B,SAAS,KAAK,QAAQ,eAAe,GAAG,YAAY,EACpD,QAAQ,OAAO,GAAG;AACrB,YAAM,eAAe,WAAW,gBAAgB;AAEhD,UAAI,CAAC,QAAQ,SAAS,gBAAgB,GAAG;AACvC,cAAM,sBAAsB;AAAA;AAAA;AAAA,8BAGN,oBAAoB;AAAA,6BACrB,WAAW,aAAa;AAAA,wBAC7B,WAAW,KAAK;AAAA,2BACb,WAAW,QAAQ;AAAA,yBACrB,YAAY;AAAA;AAAA;AAAA;AAI7B,kBAAU,QAAQ,QAAQ,kBAAkB,CAAC,UAAU,GAAG,KAAK,GAAG,mBAAmB,EAAE;AAAA,MACzF;AAEA,UAAI,CAAC,QAAQ,SAAS,sCAAsC,GAAG;AAC7D,kBAAU,QAAQ;AAAA,UAChB;AAAA,UACA;AAAA;AAAA,QACF;AAAA,MACF;AAAA,IACF,OAAO;AACL,YAAM,KAAK,YAAY;AAAA,IACzB;AAEA,UAAM,QAAQ,iBAAiB,OAAO;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAc,cAAc,SAAiB,WAAkC;AAC7E,UAAM,cAAc,KAAK,QAAQ,KAAK,UAAU,SAAS;AACzD,UAAM,gBAAgB,KAAK,QAAQ,SAAS,SAAS;AAErD,UAAM,WAAW,KAAK,QAAQ,UAAU,SAAS;AACjD,UAAM,aACJ,cAAc,YAAa,WAAW,kBAAkB,oBAAqB;AAI/E,QAAI,QAAQ,aAAa,SAAS;AAChC,YAAM,KAAK,MAAM,OAAO,CAAC,MAAM,eAAe,YAAY,aAAa,GAAG,WAAW;AAAA,IACvF,OAAO;AACL,YAAM,KAAK,MAAM,MAAM,CAAC,aAAa,YAAY,aAAa,GAAG,WAAW;AAAA,IAC9E;AAGA,UAAM,KAAK,wBAAwB,aAAa,eAAe,SAAS;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,wBACZ,aACA,eACA,WACe;AACf,UAAM,WAAW,KAAK,QAAQ,UAAU,SAAS;AACjD,UAAM,WAAW,QAAQ,KAAK,QAAQ,UAAU,SAAS,IAAI;AAE7D,UAAM,MAAM,WAAW,QAAQ;AAC/B,UAAM,aAAa,WAAW,WAAW;AACzC,UAAM,WAAW,WAAW,OAAO,SAAS,IAAI,GAAG,KAAK,OAAO,SAAS,aAAa,GAAG;AAExF,UAAM,aAAa,KAAK;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,aAAc,MAAM,SAAS,UAAU,IACzC,aACA,KAAK;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,SAAS,IAAI,GAAG;AAAA,IACzB;AAEJ,QAAI,CAAE,MAAM,SAAS,UAAU,GAAI;AACjC,gBAAU,QAAQ,KAAK,uFAAsB,UAAU,EAAE;AACzD;AAAA,IACF;AAEA,UAAM,iBAAiB,GAAG,KAAK,QAAQ,OAAO,GAAG,WAAW,KAAK,WAAW,WAAW,GAAG;AAE1F,UAAM,QAAQ,aAAa;AAC3B,UAAM,OAAO,YAAY,KAAK,QAAQ,eAAe,cAAc,CAAC;AAGpE,UAAM,cAAc,KAAK,QAAQ,eAAe,SAAS;AACzD,UAAM,QAAQ,WAAW;AACzB,UAAM,OAAO,YAAY,KAAK,QAAQ,aAAa,GAAG,KAAK,WAAW,OAAO,IAAI,GAAG,EAAE,CAAC;AAAA,EACzF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAc,iBAAiB,KAA4B;AACzD,UAAM,aAAa,KAAK,QAAQ,KAAK,UAAU,qBAAqB;AAEpE,QAAI,CAAE,MAAM,SAAS,UAAU,EAAI;AAEnC,QAAI,UAAU,MAAM,OAAO,UAAU;AAErC,QAAI,QAAQ,SAAS,MAAM,GAAG;AAC5B,gBAAU,QAAQ,QAAQ,kBAAkB,SAAS,GAAG,GAAG;AAAA,IAC7D,WAAW,QAAQ,SAAS,SAAS,GAAG;AACtC,gBAAU,QAAQ,QAAQ,gBAAgB;AAAA,YAAwB,GAAG,IAAI;AAAA,IAC3E;AAEA,UAAM,QAAQ,YAAY,OAAO;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASQ,cAAc,KAAqB;AACzC,WAAO,IACJ,QAAQ,YAAY,CAAC,GAAG,MAAc,EAAE,YAAY,CAAC,EACrD,QAAQ,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;AAAA,EACzC;AAAA;AAGF;",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Add-client
|
|
2
|
+
* Add-client command options
|
|
3
3
|
*/
|
|
4
4
|
export interface AddClientOptions {
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Add client package to the project.
|
|
8
8
|
*
|
|
9
|
-
* 1.
|
|
10
|
-
* 2.
|
|
11
|
-
* 3.
|
|
12
|
-
* 4. Handlebars
|
|
13
|
-
* 5. sd.config.ts
|
|
14
|
-
* 6. eslint.config.ts
|
|
9
|
+
* 1. Verify project root (sd.config.ts exists)
|
|
10
|
+
* 2. Interactive prompt (name suffix, router usage)
|
|
11
|
+
* 3. Check for duplicate package directory
|
|
12
|
+
* 4. Render Handlebars template
|
|
13
|
+
* 5. Add package entry to sd.config.ts (ts-morph)
|
|
14
|
+
* 6. Add tailwind configuration to eslint.config.ts (if first client)
|
|
15
15
|
* 7. pnpm install
|
|
16
16
|
*/
|
|
17
17
|
export declare function runAddClient(_options: AddClientOptions): Promise<void>;
|
|
@@ -10,27 +10,27 @@ async function runAddClient(_options) {
|
|
|
10
10
|
const cwd = process.cwd();
|
|
11
11
|
const logger = consola.withTag("sd:cli:add-client");
|
|
12
12
|
if (!fs.existsSync(path.join(cwd, "sd.config.ts"))) {
|
|
13
|
-
consola.error("sd.config.ts
|
|
13
|
+
consola.error("Cannot find sd.config.ts. Please run from the project root.");
|
|
14
14
|
process.exitCode = 1;
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
const projectName = path.basename(cwd);
|
|
18
18
|
const clientSuffix = await input({
|
|
19
|
-
message: "
|
|
19
|
+
message: "Enter client name suffix (client-___):",
|
|
20
20
|
validate: (value) => {
|
|
21
|
-
if (!value.trim()) return "
|
|
22
|
-
if (!/^[a-z][a-z0-9-]*$/.test(value)) return "
|
|
21
|
+
if (!value.trim()) return "Please enter a name.";
|
|
22
|
+
if (!/^[a-z][a-z0-9-]*$/.test(value)) return "Only lowercase letters, numbers, and hyphens are allowed.";
|
|
23
23
|
return true;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
const useRouter = await confirm({
|
|
27
|
-
message: "
|
|
27
|
+
message: "Do you want to use router?",
|
|
28
28
|
default: true
|
|
29
29
|
});
|
|
30
30
|
const clientName = `client-${clientSuffix}`;
|
|
31
31
|
const packageDir = path.join(cwd, "packages", clientName);
|
|
32
32
|
if (fs.existsSync(packageDir)) {
|
|
33
|
-
consola.error(`packages/${clientName}
|
|
33
|
+
consola.error(`packages/${clientName} directory already exists.`);
|
|
34
34
|
process.exitCode = 1;
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
@@ -45,31 +45,31 @@ async function runAddClient(_options) {
|
|
|
45
45
|
const dirReplacements = {
|
|
46
46
|
__CLIENT__: clientName
|
|
47
47
|
};
|
|
48
|
-
logger.info(
|
|
48
|
+
logger.info(`Creating ${clientName} package...`);
|
|
49
49
|
await renderTemplateDir(templateDir, path.join(cwd, "packages"), context, dirReplacements);
|
|
50
|
-
logger.success(`packages/${clientName}
|
|
50
|
+
logger.success(`packages/${clientName} created successfully`);
|
|
51
51
|
const sdConfigPath = path.join(cwd, "sd.config.ts");
|
|
52
52
|
const added = addPackageToSdConfig(sdConfigPath, clientName, { target: "client" });
|
|
53
53
|
if (added) {
|
|
54
|
-
logger.success("sd.config.ts
|
|
54
|
+
logger.success("sd.config.ts updated successfully");
|
|
55
55
|
} else {
|
|
56
|
-
consola.warn(`"${clientName}"
|
|
56
|
+
consola.warn(`"${clientName}" already exists in sd.config.ts.`);
|
|
57
57
|
}
|
|
58
58
|
const eslintConfigPath = path.join(cwd, "eslint.config.ts");
|
|
59
59
|
if (fs.existsSync(eslintConfigPath)) {
|
|
60
60
|
const tailwindAdded = addTailwindToEslintConfig(eslintConfigPath, clientName);
|
|
61
61
|
if (tailwindAdded) {
|
|
62
|
-
logger.success("eslint.config.ts
|
|
62
|
+
logger.success("Added tailwind configuration to eslint.config.ts");
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
logger.info("pnpm install
|
|
65
|
+
logger.info("Running pnpm install...");
|
|
66
66
|
await execa("pnpm", ["install"], { cwd });
|
|
67
|
-
logger.success("pnpm install
|
|
67
|
+
logger.success("pnpm install completed");
|
|
68
68
|
consola.box(
|
|
69
69
|
[
|
|
70
|
-
|
|
70
|
+
`Client "${clientName}" has been added!`,
|
|
71
71
|
"",
|
|
72
|
-
` pnpm dev ${clientName}
|
|
72
|
+
` pnpm dev ${clientName} Run development server`
|
|
73
73
|
].join("\n")
|
|
74
74
|
);
|
|
75
75
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/add-client.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,OAAO,eAAe;AAC/B,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,SAAS,sBAAsB,iCAAiC;AAChE,SAAS,aAAa;AACtB,SAAS,uBAAuB;AA2BhC,eAAsB,aAAa,UAA2C;AAC5E,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,SAAS,QAAQ,QAAQ,mBAAmB;AAGlD,MAAI,CAAC,GAAG,WAAW,KAAK,KAAK,KAAK,cAAc,CAAC,GAAG;AAClD,YAAQ,MAAM,
|
|
4
|
+
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,OAAO,eAAe;AAC/B,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,SAAS,sBAAsB,iCAAiC;AAChE,SAAS,aAAa;AACtB,SAAS,uBAAuB;AA2BhC,eAAsB,aAAa,UAA2C;AAC5E,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,SAAS,QAAQ,QAAQ,mBAAmB;AAGlD,MAAI,CAAC,GAAG,WAAW,KAAK,KAAK,KAAK,cAAc,CAAC,GAAG;AAClD,YAAQ,MAAM,6DAA6D;AAC3E,YAAQ,WAAW;AACnB;AAAA,EACF;AAGA,QAAM,cAAc,KAAK,SAAS,GAAG;AAGrC,QAAM,eAAe,MAAM,MAAM;AAAA,IAC/B,SAAS;AAAA,IACT,UAAU,CAAC,UAAU;AACnB,UAAI,CAAC,MAAM,KAAK,EAAG,QAAO;AAC1B,UAAI,CAAC,oBAAoB,KAAK,KAAK,EAAG,QAAO;AAC7C,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AAED,QAAM,YAAY,MAAM,QAAQ;AAAA,IAC9B,SAAS;AAAA,IACT,SAAS;AAAA,EACX,CAAC;AAED,QAAM,aAAa,UAAU,YAAY;AAGzC,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;AAAA,IACA,QAAQ;AAAA,EACV;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,eAAe,KAAK,KAAK,KAAK,cAAc;AAClD,QAAM,QAAQ,qBAAqB,cAAc,YAAY,EAAE,QAAQ,SAAS,CAAC;AACjF,MAAI,OAAO;AACT,WAAO,QAAQ,mCAAmC;AAAA,EACpD,OAAO;AACL,YAAQ,KAAK,IAAI,UAAU,mCAAmC;AAAA,EAChE;AAGA,QAAM,mBAAmB,KAAK,KAAK,KAAK,kBAAkB;AAC1D,MAAI,GAAG,WAAW,gBAAgB,GAAG;AACnC,UAAM,gBAAgB,0BAA0B,kBAAkB,UAAU;AAC5E,QAAI,eAAe;AACjB,aAAO,QAAQ,kDAAkD;AAAA,IACnE;AAAA,EACF;AAGA,SAAO,KAAK,yBAAyB;AACrC,QAAM,MAAM,QAAQ,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC;AACxC,SAAO,QAAQ,wBAAwB;AAGvC,UAAQ;AAAA,IACN;AAAA,MACE,WAAW,UAAU;AAAA,MACrB;AAAA,MACA,cAAc,UAAU;AAAA,IAC1B,EAAE,KAAK,IAAI;AAAA,EACb;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Add-server
|
|
2
|
+
* Add-server command options
|
|
3
3
|
*/
|
|
4
4
|
export interface AddServerOptions {
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Adds a server package to the project.
|
|
8
8
|
*
|
|
9
|
-
* 1.
|
|
10
|
-
* 2.
|
|
11
|
-
* 3.
|
|
12
|
-
* 4. Handlebars
|
|
13
|
-
* 5. sd.config.ts
|
|
14
|
-
* 6.
|
|
15
|
-
* 7. pnpm install
|
|
9
|
+
* 1. Verify project root
|
|
10
|
+
* 2. Interactive prompts (name suffix, client selection)
|
|
11
|
+
* 3. Check for duplicate package directory
|
|
12
|
+
* 4. Render Handlebars template
|
|
13
|
+
* 5. Add server package entry to sd.config.ts
|
|
14
|
+
* 6. Update server field in selected clients
|
|
15
|
+
* 7. Run pnpm install
|
|
16
16
|
*/
|
|
17
17
|
export declare function runAddServer(_options: AddServerOptions): Promise<void>;
|
|
18
18
|
//# sourceMappingURL=add-server.d.ts.map
|