sparkling-method-cli 2.0.0-rc.6 → 2.0.0-rc.8
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/dist/codegen/template/ts/ts-impl-template +8 -2
- package/dist/create/index.d.ts.map +1 -1
- package/dist/create/index.js +40 -1
- package/dist/create/index.js.map +1 -1
- package/dist/create/types.d.ts +6 -0
- package/dist/create/types.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -67,9 +67,15 @@ export function {{methodCamelCase}}({{#hasRequestParams}}params: {{requestInterf
|
|
|
67
67
|
}, (v: unknown) => {
|
|
68
68
|
// Type assertion and response normalization
|
|
69
69
|
const response = v as {{responseInterface.name}};
|
|
70
|
+
const code = response?.code ?? -1;
|
|
71
|
+
// Pipe status codes: 1 = succeeded, 0 = failed, negative = various errors.
|
|
72
|
+
// When the native side reports success it may omit `msg`, so fall back to
|
|
73
|
+
// 'ok' instead of the misleading 'Unknown error'.
|
|
74
|
+
const isSuccess = code === 1;
|
|
75
|
+
const msg = response?.msg ?? (isSuccess ? 'ok' : 'Unknown error');
|
|
70
76
|
callback({
|
|
71
|
-
code
|
|
72
|
-
msg
|
|
77
|
+
code,
|
|
78
|
+
msg,
|
|
73
79
|
{{#hasResponseData}}
|
|
74
80
|
data: response?.data,
|
|
75
81
|
{{/hasResponseData}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAc,WAAW,EAAgB,MAAM,SAAS,CAAC;AAmDrE,wBAAsB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgClG"}
|
package/dist/create/index.js
CHANGED
|
@@ -13,6 +13,45 @@ const scaffold_1 = require("./scaffold");
|
|
|
13
13
|
const utils_1 = require("./utils");
|
|
14
14
|
const ui_1 = require("../ui");
|
|
15
15
|
const verbose_1 = require("../verbose");
|
|
16
|
+
/**
|
|
17
|
+
* Validate the androidDsl option value.
|
|
18
|
+
* Throws if the value is not 'kts' or 'groovy'.
|
|
19
|
+
*/
|
|
20
|
+
function validateAndroidDsl(value) {
|
|
21
|
+
if (value !== 'kts' && value !== 'groovy') {
|
|
22
|
+
throw new Error(`Invalid --android-dsl value "${value}". Must be "kts" or "groovy".`);
|
|
23
|
+
}
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Resolve module configuration.
|
|
28
|
+
*
|
|
29
|
+
* In **non-interactive mode** (when `--package-name` and `--module-name` are
|
|
30
|
+
* both provided via CLI), all prompts are skipped and the values from CLI
|
|
31
|
+
* options are used directly.
|
|
32
|
+
*
|
|
33
|
+
* In **interactive mode** (the default), the user is prompted for any values
|
|
34
|
+
* not supplied via CLI options.
|
|
35
|
+
*/
|
|
36
|
+
async function resolveModuleConfig(defaults, options) {
|
|
37
|
+
const hasPackageName = options.packageName != null && options.packageName.trim() !== '';
|
|
38
|
+
const hasModuleName = options.moduleName != null && options.moduleName.trim() !== '';
|
|
39
|
+
// Non-interactive: all required module options are provided via CLI
|
|
40
|
+
if (hasPackageName && hasModuleName) {
|
|
41
|
+
const androidDsl = validateAndroidDsl(options.androidDsl ?? 'kts');
|
|
42
|
+
return {
|
|
43
|
+
packageName: options.packageName.trim(),
|
|
44
|
+
moduleName: options.moduleName.trim(),
|
|
45
|
+
androidDsl,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Interactive: fall through to prompts, using CLI values as defaults where provided
|
|
49
|
+
const promptDefaults = {
|
|
50
|
+
packageName: hasPackageName ? options.packageName.trim() : defaults.packageName,
|
|
51
|
+
moduleName: hasModuleName ? options.moduleName.trim() : defaults.moduleName,
|
|
52
|
+
};
|
|
53
|
+
return (0, prompts_1.promptModuleInfo)(promptDefaults);
|
|
54
|
+
}
|
|
16
55
|
async function runInit(projectName, options) {
|
|
17
56
|
const normalizedProjectName = projectName?.trim() || await (0, prompts_1.promptProjectName)();
|
|
18
57
|
const templateDir = await (0, scaffold_1.resolveTemplateDir)(options.template);
|
|
@@ -25,7 +64,7 @@ async function runInit(projectName, options) {
|
|
|
25
64
|
packageName: 'org.sparkling',
|
|
26
65
|
moduleName: (0, utils_1.toPascalCase)(normalizedProjectName),
|
|
27
66
|
};
|
|
28
|
-
const moduleConfig = await (
|
|
67
|
+
const moduleConfig = await resolveModuleConfig(moduleDefaults, options);
|
|
29
68
|
if ((0, verbose_1.isVerboseEnabled)()) {
|
|
30
69
|
(0, verbose_1.verboseLog)(`init -> module config: package=${moduleConfig.packageName}, name=${moduleConfig.moduleName}, dsl=${moduleConfig.androidDsl}`);
|
|
31
70
|
}
|
package/dist/create/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":"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"}
|
package/dist/create/types.d.ts
CHANGED
|
@@ -2,6 +2,12 @@ export type AndroidDsl = 'kts' | 'groovy';
|
|
|
2
2
|
export interface InitOptions {
|
|
3
3
|
template?: string;
|
|
4
4
|
force?: boolean;
|
|
5
|
+
/** Namespace / bundle identifier (e.g. com.example). Skips the interactive prompt when provided. */
|
|
6
|
+
packageName?: string;
|
|
7
|
+
/** Module name in PascalCase (e.g. Storage). Skips the interactive prompt when provided. */
|
|
8
|
+
moduleName?: string;
|
|
9
|
+
/** Android Gradle DSL: 'kts' or 'groovy'. Skips the interactive prompt when provided. */
|
|
10
|
+
androidDsl?: AndroidDsl;
|
|
5
11
|
}
|
|
6
12
|
export interface ModuleConfig {
|
|
7
13
|
packageName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/create/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/create/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oGAAoG;IACpG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CACxB"}
|
package/dist/index.js
CHANGED
|
@@ -31,9 +31,12 @@ program
|
|
|
31
31
|
.description('Create a new sparkling-method workspace from the bundled template')
|
|
32
32
|
.option('-f, --force', 'Overwrite the target directory if it already exists', false)
|
|
33
33
|
.option('-t, --template <path>', 'Use a custom template directory')
|
|
34
|
+
.option('--package-name <name>', 'Namespace / bundle identifier (e.g. com.example)')
|
|
35
|
+
.option('--module-name <name>', 'Module name in PascalCase (e.g. Storage)')
|
|
36
|
+
.option('--android-dsl <dsl>', 'Android Gradle DSL: kts or groovy', 'kts')
|
|
34
37
|
.action(async (name, options) => {
|
|
35
38
|
try {
|
|
36
|
-
await (0, create_1.runInit)(name, options);
|
|
39
|
+
await (0, create_1.runInit)(name, { ...options, androidDsl: options.androidDsl });
|
|
37
40
|
}
|
|
38
41
|
catch (error) {
|
|
39
42
|
console.error(ui_1.ui.error(error instanceof Error ? error.message : String(error)));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA,sCAAsC;AACtC,yEAAyE;AACzE,0DAA0D;;;;;AAE1D,yCAAoC;AACpC,mEAA0C;AAC1C,qCAAmC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sparkling-method-cli",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.8",
|
|
4
4
|
"description": "CLI utilities for managing Sparkling method modules with cross-platform code generation",
|
|
5
|
-
"homepage": "",
|
|
5
|
+
"homepage": "https://tiktok.github.io/sparkling/",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/tiktok/sparkling",
|