@voxgig/create-sdkgen 0.3.1 → 0.4.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.
Files changed (50) hide show
  1. package/bin/create-sdkgen +27 -10
  2. package/dist/create-sdkgen.d.ts +2 -0
  3. package/dist/create-sdkgen.js +51 -5
  4. package/dist/create-sdkgen.js.map +1 -1
  5. package/dist/project/standard/CreateRoot.d.ts +2 -0
  6. package/dist/project/standard/CreateRoot.js +50 -0
  7. package/dist/project/standard/CreateRoot.js.map +1 -0
  8. package/dist/project/standard/ModelSdk.js +6 -1
  9. package/dist/project/standard/ModelSdk.js.map +1 -1
  10. package/dist/tsconfig.tsbuildinfo +1 -1
  11. package/package.json +10 -10
  12. package/project/standard/.sdk/model/api/api-info.jsonic +5 -0
  13. package/project/standard/.sdk/model/config.jsonic +3 -1
  14. package/project/standard/.sdk/model/{api/api-entity-index.jsonic → entity/entity-index.jsonic} +1 -0
  15. package/project/standard/.sdk/model/guide/guide.jsonic +8 -0
  16. package/project/standard/.sdk/model/sdk.fragment.jsonic +6 -10
  17. package/project/standard/.sdk/package.json +5 -7
  18. package/project/standard/.sdk/src/BuildSDK.ts +113 -0
  19. package/project/standard/.sdk/src/Root.ts +19 -7
  20. package/project/standard/.sdk/src/Top.ts +6 -2
  21. package/project/standard/.sdk/test/primary/primary-test-index.jsonic +23 -0
  22. package/project/standard/.sdk/test/struct/merge.jsonic +102 -4
  23. package/project/standard/.sdk/test/struct/minor.jsonic +106 -38
  24. package/project/standard/.sdk/test/struct/select.jsonic +86 -5
  25. package/project/standard/.sdk/test/struct/test.json +16635 -0
  26. package/project/standard/.sdk/test/struct/test.jsonic +25 -0
  27. package/project/standard/.sdk/test/struct/transform.jsonic +100 -1
  28. package/project/standard/.sdk/test/struct/validate.jsonic +82 -45
  29. package/project/standard/.sdk/test/struct/walk.jsonic +57 -6
  30. package/project/standard/.sdk/test/test.json +5568 -2838
  31. package/project/standard/.sdk/test/test.jsonic +2 -43
  32. package/src/create-sdkgen.ts +74 -7
  33. package/src/project/standard/{Root.ts → CreateRoot.ts} +11 -6
  34. package/src/project/standard/ModelSdk.ts +6 -1
  35. package/dist/project/standard/Root.d.ts +0 -2
  36. package/dist/project/standard/Root.js +0 -79
  37. package/dist/project/standard/Root.js.map +0 -1
  38. package/dist/standard/ModelSdk.d.ts +0 -2
  39. package/dist/standard/ModelSdk.js +0 -19
  40. package/dist/standard/ModelSdk.js.map +0 -1
  41. package/dist/standard/Root.d.ts +0 -2
  42. package/dist/standard/Root.js +0 -77
  43. package/dist/standard/Root.js.map +0 -1
  44. package/dist/utility.d.ts +0 -2
  45. package/dist/utility.js +0 -5
  46. package/dist/utility.js.map +0 -1
  47. package/project/standard/.sdk/model/api/api-def.jsonic +0 -5
  48. package/project/standard/.sdk/model/guide.jsonic +0 -5
  49. package/project/standard/.sdk/model/target/target-index.jsonic~ +0 -4
  50. /package/project/standard/.sdk/test/primary/{contextify.jsonic → context.jsonic} +0 -0
package/bin/create-sdkgen CHANGED
@@ -10,11 +10,10 @@ const Pkg = require('../package.json')
10
10
 
11
11
  const { CreateSdkGen } = require('../dist/create-sdkgen.js')
12
12
 
13
- const rootpath = require.resolve('../dist/standard/Root')
13
+ // const rootpath = require.resolve('../dist/standard/CreateRoot')
14
14
 
15
15
  let KONSOLE = global['con'+'sole']
16
16
 
17
-
18
17
  run()
19
18
 
20
19
 
@@ -64,12 +63,13 @@ function generate(options) {
64
63
 
65
64
 
66
65
  const spec = {
67
- root: 'Root',
66
+ root: 'CreateRoot',
68
67
 
69
68
  name: options.name,
70
69
  def: options.def,
71
70
  dryrun: options.dryrun,
72
71
  project: options.project,
72
+ folder: options.folder,
73
73
  install: options.install,
74
74
  target: options.target,
75
75
  feature: options.feature,
@@ -103,14 +103,19 @@ function resolveOptions() {
103
103
  default: 'standard'
104
104
  },
105
105
 
106
+ folder: {
107
+ type: 'string',
108
+ short: 'f',
109
+ default: ''
110
+ },
111
+
106
112
  dryrun: {
107
113
  type: 'boolean',
108
- short: 'y',
114
+ default: false,
109
115
  },
110
116
 
111
117
  install: {
112
118
  type: 'boolean',
113
- short: 'y',
114
119
  default: true,
115
120
  },
116
121
 
@@ -128,7 +133,6 @@ function resolveOptions() {
128
133
 
129
134
  debug: {
130
135
  type: 'string',
131
- short: 'g',
132
136
  default: 'info'
133
137
  },
134
138
 
@@ -168,6 +172,7 @@ function resolveOptions() {
168
172
  name,
169
173
  def: args.values.def,
170
174
  project: args.values.project,
175
+ folder: args.values.folder,
171
176
  dryrun: !!args.values.dryrun,
172
177
  install: !!args.values.install,
173
178
  target: targets,
@@ -178,6 +183,10 @@ function resolveOptions() {
178
183
  }
179
184
 
180
185
  // console.log('ARGS', args, options)
186
+
187
+ if(null == options.folder || '' == options.folder) {
188
+ options.folder = options.name + '-sdk'
189
+ }
181
190
 
182
191
  return options
183
192
  }
@@ -188,6 +197,7 @@ function validateOptions(rawOptions) {
188
197
  name: Fault('The first argument must be the project name.', String),
189
198
  def: '',
190
199
  project: String,
200
+ folder: String,
191
201
  dryrun: Boolean,
192
202
  install: Boolean,
193
203
  target: [String],
@@ -209,6 +219,9 @@ function validateOptions(rawOptions) {
209
219
 
210
220
 
211
221
  function handleError(err) {
222
+ console.log(err)
223
+ console.trace()
224
+
212
225
  KONSOLE.log('Voxgig Create SDK Error: '+err)
213
226
  exit(err)
214
227
  }
@@ -237,11 +250,15 @@ Usage: npm create @voxgig/sdkgen@latest <name> <args>
237
250
  --project Project template (folder or package reference). Default: standard.
238
251
  -p
239
252
 
240
- --dryrun Perform a dry run, where no files are modified.
241
- -y
253
+ --folder Target output folder. Default: ./<name>-sdk.
254
+ -f
255
+
256
+ --install Run installation scripts. Default: install.
257
+ --no-install
258
+
259
+ --dryrun Perform a dry run, where no files are modified. Default: no-dryrun.
242
260
 
243
261
  --debug Set log level (default: info): trace, error, debug, info, warn, fatal.
244
- -g
245
262
 
246
263
  --help Print this help message.
247
264
  -h
@@ -254,7 +271,7 @@ Examples:
254
271
 
255
272
  # Basic usage
256
273
  > npm create @voxgig/sdkgen@latest foo
257
- # Creates the SDK Project in the folder ./foo
274
+ # Creates the SDK Project in the folder ./foo-sdk
258
275
 
259
276
  See also: https://voxgig.com/sdkgen
260
277
  `
@@ -6,6 +6,7 @@ type FullCreateSdkGenOptions = {
6
6
  };
7
7
  type CreateSdkGenOptions = Partial<FullCreateSdkGenOptions>;
8
8
  type GenerateSpec = {
9
+ sdk_folder: string;
9
10
  name: string;
10
11
  def: string;
11
12
  root: string;
@@ -15,6 +16,7 @@ type GenerateSpec = {
15
16
  target?: string[];
16
17
  feature?: string[];
17
18
  install?: boolean;
19
+ folder?: string;
18
20
  };
19
21
  declare function CreateSdkGen(opts: FullCreateSdkGenOptions): {
20
22
  generate: (spec: GenerateSpec) => Promise<void>;
@@ -39,12 +39,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.CreateSdkGen = CreateSdkGen;
41
41
  const Fs = __importStar(require("node:fs"));
42
+ const Os = __importStar(require("node:os"));
42
43
  const node_path_1 = __importDefault(require("node:path"));
43
44
  const child_process_1 = require("child_process");
44
45
  const JostracaModule = __importStar(require("jostraca"));
45
46
  const util_1 = require("@voxgig/util");
46
47
  const package_json_1 = __importDefault(require("../package.json"));
47
48
  const { names, Jostraca } = JostracaModule;
49
+ const SDK_FOLDER = '.sdk';
48
50
  // TODO: CreateSdkGen opts and generate opts should be mostly the same, and
49
51
  // generate should override
50
52
  function CreateSdkGen(opts) {
@@ -65,10 +67,16 @@ function CreateSdkGen(opts) {
65
67
  const projectFolder = resolveProjectFolder(spec);
66
68
  const rootPath = node_path_1.default.join(projectFolder, spec.root);
67
69
  const rootModule = require(rootPath);
68
- const Root = rootModule.Root;
70
+ const CreateRoot = rootModule.CreateRoot;
69
71
  const name = spec.name;
70
72
  spec.def = (null == spec.def || '' === spec.def) ? name + '-openapi3.yml' : spec.def;
71
- const folder = node_path_1.default.join(process.cwd(), name + (name.endsWith('-sdk') ? '' : '-sdk'));
73
+ spec.sdk_folder = SDK_FOLDER;
74
+ const cwd = process.cwd();
75
+ const folder = (null == spec.folder || '' == spec.folder) ?
76
+ node_path_1.default.join(cwd, name + (name.endsWith('-sdk') ? '' : '-sdk')) :
77
+ node_path_1.default.isAbsolute(spec.folder) ? spec.folder :
78
+ node_path_1.default.join(cwd, spec.folder);
79
+ logCreate(folder);
72
80
  const jopts = {
73
81
  fs: () => fs,
74
82
  debug,
@@ -98,8 +106,8 @@ function CreateSdkGen(opts) {
98
106
  jostraca: jopts,
99
107
  note: JSON.stringify(jopts, null, 2)
100
108
  });
101
- const jres = await jostraca.generate(jopts, () => Root({ model, spec }));
102
- (0, util_1.showChanges)(jopts.log, 'generate-result', jres, node_path_1.default.dirname(process.cwd()));
109
+ const jres = await jostraca.generate(jopts, () => CreateRoot({ model, spec }));
110
+ (0, util_1.showChanges)(jopts.log, 'generate-result', jres, process.cwd());
103
111
  if (spec.dryrun || !spec.install) {
104
112
  log.info({ point: 'generate-install', note: 'skipping npm install' });
105
113
  }
@@ -120,6 +128,44 @@ function CreateSdkGen(opts) {
120
128
  }
121
129
  return projectFolder;
122
130
  }
131
+ function escapeShellArg(arg) {
132
+ // If arg contains no special characters, return as-is
133
+ if (/^[~a-zA-Z0-9_\-\.\/]+$/.test(arg)) {
134
+ return arg;
135
+ }
136
+ // Otherwise, wrap in single quotes and escape any single quotes
137
+ return "'" + arg.replace(/'/g, "'\\''") + "'";
138
+ }
139
+ function logCreate(folder) {
140
+ try {
141
+ const logFolder = node_path_1.default.join(folder, SDK_FOLDER, 'log');
142
+ if (!fs.existsSync(logFolder)) {
143
+ fs.mkdirSync(logFolder, { recursive: true });
144
+ }
145
+ const now = new Date();
146
+ const utcTimestamp = '[' + now.toISOString() + ']';
147
+ const timezoneName = Intl.DateTimeFormat().resolvedOptions().timeZone;
148
+ const localISOString = now.getFullYear() + '-' +
149
+ String(now.getMonth() + 1).padStart(2, '0') + '-' +
150
+ String(now.getDate()).padStart(2, '0') + 'T' +
151
+ String(now.getHours()).padStart(2, '0') + ':' +
152
+ String(now.getMinutes()).padStart(2, '0') + ':' +
153
+ String(now.getSeconds()).padStart(2, '0') + '.' +
154
+ String(now.getMilliseconds()).padStart(3, '0');
155
+ const localTimestamp = timezoneName + '=' + localISOString;
156
+ const homeDir = Os.homedir();
157
+ const command = process.argv
158
+ .map(arg => arg.replace(homeDir, '~'))
159
+ .map(escapeShellArg)
160
+ .join(' ');
161
+ const logLine = `${utcTimestamp} ${localTimestamp} CREATE ${command}\n`;
162
+ const logFile = node_path_1.default.join(logFolder, 'create.log');
163
+ fs.appendFileSync(logFile, logLine, 'utf8');
164
+ }
165
+ catch (err) {
166
+ log.debug({ point: 'logCreate-error', err });
167
+ }
168
+ }
123
169
  return {
124
170
  generate,
125
171
  };
@@ -128,7 +174,7 @@ async function installNpm(spec, opts, model) {
128
174
  const folder = opts.folder;
129
175
  const log = opts.log;
130
176
  return new Promise(async (resolve, reject) => {
131
- const cwd = node_path_1.default.resolve(folder, '.sdk');
177
+ const cwd = node_path_1.default.resolve(folder, SDK_FOLDER);
132
178
  const env = {
133
179
  ...process.env,
134
180
  PATH: `${node_path_1.default.dirname(process.execPath)}${node_path_1.default.delimiter}${process.env.PATH}`,
@@ -1 +1 @@
1
- {"version":3,"file":"create-sdkgen.js","sourceRoot":"","sources":["../src/create-sdkgen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-sdkgen.js","sourceRoot":"","sources":["../src/create-sdkgen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const CreateRoot: import("jostraca").Component;
2
+ export { CreateRoot };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CreateRoot = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ // import * as Fs from 'node:fs'
9
+ const jostraca_1 = require("jostraca");
10
+ const ModelSdk_1 = require("./ModelSdk");
11
+ // TODO: rename to RootSdk
12
+ const CreateRoot = (0, jostraca_1.cmp)(function CreateRoot(props) {
13
+ const { ctx$, ctx$: { folder }, spec, model } = props;
14
+ const fs = ctx$.fs();
15
+ // TODO: move to @voxgig/util as duplicated
16
+ model.const = { name: model.name };
17
+ (0, jostraca_1.names)(model.const, model.name);
18
+ model.const.year = new Date().getFullYear();
19
+ ctx$.model = model;
20
+ (0, jostraca_1.Project)({ folder }, () => {
21
+ const from = node_path_1.default.resolve(node_path_1.default.join(__dirname + '..', '..', '..', '..', 'project', 'standard'));
22
+ // console.log('FROM', from)
23
+ (0, jostraca_1.Copy)({
24
+ from,
25
+ exclude: [/\.fragment\./]
26
+ });
27
+ const origdef = spec.def;
28
+ const projdef = node_path_1.default.basename(origdef);
29
+ spec.def = projdef;
30
+ (0, jostraca_1.Folder)({ name: spec.sdk_folder }, () => {
31
+ (0, jostraca_1.Folder)({ name: 'def' }, () => {
32
+ // TODO: file existence check should be jostraca util
33
+ if (fs.existsSync(origdef)) {
34
+ (0, jostraca_1.Copy)({ from: origdef, to: projdef });
35
+ }
36
+ else {
37
+ console.log('DEF NOT FOUND: ', origdef);
38
+ (0, jostraca_1.File)({ name: projdef }, () => {
39
+ (0, jostraca_1.Content)('# OpenAPI Definition');
40
+ });
41
+ }
42
+ });
43
+ (0, jostraca_1.Folder)({ name: 'model' }, () => {
44
+ (0, ModelSdk_1.ModelSdk)({ spec });
45
+ });
46
+ });
47
+ });
48
+ });
49
+ exports.CreateRoot = CreateRoot;
50
+ //# sourceMappingURL=CreateRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateRoot.js","sourceRoot":"","sources":["../../../src/project/standard/CreateRoot.ts"],"names":[],"mappings":";;;;;;AAEA,0DAA4B;AAC5B,gCAAgC;AAEhC,uCAUiB;AAGjB,yCAAqC;AAGrC,0BAA0B;AAC1B,MAAM,UAAU,GAAG,IAAA,cAAG,EAAC,SAAS,UAAU,CAAC,KAAU;IACnD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEpB,2CAA2C;IAC3C,KAAK,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IAClC,IAAA,gBAAK,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAE3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IAElB,IAAA,kBAAO,EAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE;QACvB,MAAM,IAAI,GACR,mBAAI,CAAC,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;QAEpF,4BAA4B;QAE5B,IAAA,eAAI,EAAC;YACH,IAAI;YACJ,OAAO,EAAE,CAAC,cAAc,CAAC;SAC1B,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAA;QACxB,MAAM,OAAO,GAAG,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAA;QAElB,IAAA,iBAAM,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE;YACrC,IAAA,iBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;gBAC3B,qDAAqD;gBACrD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;gBACtC,CAAC;qBACI,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;oBAEvC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE;wBAC3B,IAAA,kBAAO,EAAC,sBAAsB,CAAC,CAAA;oBACjC,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,IAAA,iBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE;gBAC7B,IAAA,mBAAQ,EAAC,EAAE,IAAI,EAAE,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IAEJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAIA,gCAAU"}
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.ModelSdk = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
4
8
  const jostraca_1 = require("jostraca");
5
9
  const ModelSdk = (0, jostraca_1.cmp)(function ModelSdk(props) {
6
10
  const { spec } = props;
11
+ const from = node_path_1.default.resolve(node_path_1.default.join(__dirname + '..', '..', '..', '..', 'project', 'standard'));
7
12
  (0, jostraca_1.File)({ name: 'sdk.jsonic' }, () => {
8
13
  (0, jostraca_1.Fragment)({
9
- from: __dirname + '/../../../project/standard/.sdk/model/sdk.fragment.jsonic',
14
+ from: node_path_1.default.join(from, spec.sdk_folder, 'model', 'sdk.fragment.jsonic'),
10
15
  replace: {
11
16
  ProjectName: spec.name,
12
17
  NAME: spec.name,
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSdk.js","sourceRoot":"","sources":["../../../src/project/standard/ModelSdk.ts"],"names":[],"mappings":";;;AACA,uCAKiB;AAIjB,MAAM,QAAQ,GAAG,IAAA,cAAG,EAAC,SAAS,QAAQ,CAAC,KAAU;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAGtB,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;QAChC,IAAA,mBAAQ,EAAC;YACP,IAAI,EAAE,SAAS,GAAG,2DAA2D;YAC7E,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;aACd;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AAEJ,CAAC,CAAC,CAAA;AAIA,4BAAQ"}
1
+ {"version":3,"file":"ModelSdk.js","sourceRoot":"","sources":["../../../src/project/standard/ModelSdk.ts"],"names":[],"mappings":";;;;;;AACA,0DAA4B;AAG5B,uCAKiB;AAIjB,MAAM,QAAQ,GAAG,IAAA,cAAG,EAAC,SAAS,QAAQ,CAAC,KAAU;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAEtB,MAAM,IAAI,GACR,mBAAI,CAAC,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;IAEpF,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;QAChC,IAAA,mBAAQ,EAAC;YACP,IAAI,EAAE,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,qBAAqB,CAAC;YACtE,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;aACd;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AAEJ,CAAC,CAAC,CAAA;AAIA,4BAAQ"}
@@ -1 +1 @@
1
- {"root":["../src/create-sdkgen.ts","../src/project/standard/modelsdk.ts","../src/project/standard/root.ts"],"version":"5.9.2"}
1
+ {"root":["../src/create-sdkgen.ts","../src/project/standard/createroot.ts","../src/project/standard/modelsdk.ts"],"version":"5.9.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/create-sdkgen",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "main": "dist/create-sdkgen.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/create-sdkgen.d.ts",
@@ -26,7 +26,7 @@
26
26
  "build": "tsc --build src test",
27
27
  "test-model": "voxgig-model project/.sdk/test/test.jsonic",
28
28
  "test-model-watch": "voxgig-model -w project/.sdk/test/test.jsonic",
29
- "clean": "rm -rf node_modules yarn.lock package-lock.json",
29
+ "clean": "rm -rf dist dist-test node_modules yarn.lock package-lock.json",
30
30
  "reset": "npm run clean && npm i && npm run build && npm test",
31
31
  "repo-tag": "REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;",
32
32
  "repo-publish": "npm run clean && npm i && npm run repo-publish-quick",
@@ -42,16 +42,16 @@
42
42
  ],
43
43
  "devDependencies": {
44
44
  "@hapi/code": "^9.0.3",
45
- "@types/node": "24.2.0",
46
- "esbuild": "^0.25.8",
47
- "memfs": "^4.36.0",
48
- "typescript": "^5.9.2"
45
+ "@types/node": "25.3.3",
46
+ "esbuild": "^0.27.3",
47
+ "memfs": "^4.56.10",
48
+ "typescript": "^5.9.3"
49
49
  },
50
50
  "dependencies": {
51
- "@voxgig/util": "^0.2.0",
52
- "aontu": "^0.28.0",
53
- "chokidar": "^4.0.3",
51
+ "@voxgig/util": "^0.2.2",
52
+ "aontu": "^0.36.0",
53
+ "chokidar": "^5.0.0",
54
54
  "gubu": "^9.0.0",
55
- "jostraca": "^0.24.1"
55
+ "jostraca": "^0.25.1"
56
56
  }
57
57
  }
@@ -0,0 +1,5 @@
1
+ # API Information
2
+
3
+
4
+
5
+
@@ -1,7 +1,9 @@
1
1
  # SDK Configuration
2
2
 
3
- main: sdk: config: {
3
+ main: kit: config: {
4
4
 
5
+ ## TODO: crate in apidef and put servers here
6
+
5
7
  # Authorization header token value prefix
6
8
  auth: prefix: 'Bearer'
7
9
 
@@ -0,0 +1,8 @@
1
+ # Guide
2
+
3
+ @"@voxgig/apidef/model/guide.jsonic"
4
+
5
+ @"base-guide.jsonic"
6
+
7
+
8
+
@@ -1,8 +1,4 @@
1
1
 
2
- # Generation guide.
3
- @"guide.jsonic"
4
-
5
-
6
2
  # Model definitions.
7
3
  @"@voxgig/apidef/model/apidef.jsonic"
8
4
  @"@voxgig/sdkgen/model/sdkgen.jsonic"
@@ -14,18 +10,18 @@ origin: 'voxgig-sdk'
14
10
  def: 'DEF'
15
11
 
16
12
 
17
- # API Definition
18
- @"api/api-def.jsonic"
19
-
20
-
21
- # API Entities
22
- @"api/api-entity-index.jsonic"
13
+ # API Information
14
+ @"api/api-info.jsonic"
23
15
 
24
16
 
25
17
  # SDK Configuration.
26
18
  @"config.jsonic"
27
19
 
28
20
 
21
+ # SDK Entities
22
+ @"entity/entity-index.jsonic"
23
+
24
+
29
25
  # SDK Features.
30
26
  @"feature/feature-index.jsonic"
31
27
 
@@ -12,7 +12,7 @@
12
12
  "watch": "tsc --build src -w",
13
13
  "build": "tsc --build src",
14
14
  "test": "echo no-test",
15
- "clean": "rm -rf node_modules yarn.lock package-lock.json",
15
+ "clean": "rm -rf dist dist-test node_modules yarn.lock package-lock.json",
16
16
  "reset": "npm run clean && npm i && npm run build && npm test",
17
17
  "add-target": "voxgig-sdkgen target add",
18
18
  "dry-add-target": "voxgig-sdkgen -y target add",
@@ -22,16 +22,14 @@
22
22
  "author": "$$const.Name$$",
23
23
  "license": "$$const.License$$",
24
24
  "devDependencies": {
25
- "@types/node": ">=24",
25
+ "@types/node": ">=25",
26
26
  "typescript": ">=5",
27
- "patch-package": ">=8"
28
- },
29
- "dependencies": {
30
- "@voxgig/apidef": ">=2",
27
+ "@voxgig/apidef": ">=3",
31
28
  "@voxgig/model": ">=7",
32
29
  "@voxgig/sdkgen": ">=0",
33
30
  "@voxgig/util": ">=0",
34
31
  "@voxgig/struct": ">=0",
35
- "jostraca": ">=0"
32
+ "jostraca": ">=0",
33
+ "aontu": ">=0"
36
34
  }
37
35
  }
@@ -0,0 +1,113 @@
1
+
2
+ import { size } from '@voxgig/struct'
3
+
4
+
5
+ import {
6
+ Content,
7
+ File,
8
+ Folder,
9
+ cmp,
10
+ each,
11
+ } from '@voxgig/sdkgen'
12
+
13
+
14
+ import type {
15
+ Model,
16
+ ModelEntity,
17
+ ModelField,
18
+ } from '@voxgig/apidef'
19
+
20
+
21
+ import {
22
+ KIT,
23
+ getModelPath,
24
+ nom,
25
+ } from '@voxgig/apidef'
26
+
27
+
28
+ const BuildSDK = cmp(function BuildSDK(props: any) {
29
+ const ctx$ = props.ctx$
30
+ const model: Model = ctx$.model
31
+
32
+ // TODO: should come from ctx$ options
33
+ const sdkBuildFolder = '.sdk'
34
+
35
+ const entityMap: ModelEntity = getModelPath(model, `main.${KIT}.entity`)
36
+
37
+ Folder({ name: sdkBuildFolder }, () => {
38
+ each(entityMap, (entity: ModelEntity) => {
39
+ Folder({ name: 'test' }, () => {
40
+ Folder({ name: 'entity' }, () => {
41
+ Folder({ name: entity.name }, () => {
42
+ File({ name: nom(entity, 'Name') + 'TestData.json' }, () => {
43
+ const entityTestData = makeEntityTestData(model, entity)
44
+ Content(JSON.stringify(entityTestData, null, 2))
45
+ })
46
+ })
47
+ })
48
+ })
49
+ })
50
+ })
51
+ })
52
+
53
+
54
+ function makeEntityTestData(_model: Model, entity: ModelEntity) {
55
+ const data: any = {
56
+ existing: {
57
+ [entity.name]: {}
58
+ },
59
+ new: {
60
+ [entity.name]: {}
61
+ }
62
+ }
63
+
64
+ const idcount = 3
65
+
66
+ const refs = [...Array(idcount).keys()].reduce((a, _x, i) =>
67
+ (a.push(`${entity.name}${String(i).padStart(2, "0")}`), a), [] as string[])
68
+
69
+ const idmap = refs.reduce((a: any, ref) => (a[ref] = ref.toUpperCase(), a), {})
70
+
71
+ let i = 1
72
+
73
+ refs.map((ref) => {
74
+ const id = idmap[ref]
75
+ const ent: any = data.existing[entity.name][id] = {}
76
+
77
+ makeEntityTestFields(entity, i++, ent)
78
+ ent.id = id
79
+ })
80
+
81
+ let id = entity.name + '_ref01'
82
+ const ent: any = data.new[entity.name][id] = {}
83
+ makeEntityTestFields(entity, i++, ent)
84
+ delete ent.id
85
+
86
+ return data
87
+ }
88
+
89
+
90
+ function makeEntityTestFields(entity: ModelEntity, start: number, entdata: Record<string, any>) {
91
+ entdata = entdata ?? {}
92
+ let num = (start * size(entity.fields) * 10)
93
+ each(entity.fields, (field: ModelField) => {
94
+ entdata[field.name] =
95
+ field.name.endsWith('_id') ?
96
+ field.name.substring(0, field.name.length - 3).toUpperCase() + '01' :
97
+ '`$NUMBER`' === field.type ? num :
98
+ '`$BOOLEAN`' === field.type ? 0 === num % 2 :
99
+ '`$OBJECT`' === field.type ? {} :
100
+ '`$MAP`' === field.type ? {} :
101
+ '`$ARRAY`' === field.type ? [] :
102
+ '`$LIST`' === field.type ? [] :
103
+ 's' + (num.toString(16))
104
+ num++
105
+ })
106
+ return entdata
107
+ }
108
+
109
+
110
+ export {
111
+ BuildSDK
112
+ }
113
+