@jigx/sdk-tools 1.0.0 → 1.1.0-rc

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.0-rc](https://github.com/jigx-com/jigx-sdk/compare/sdk-tools-v1.0.0...sdk-tools-v1.1.0-rc) (2026-05-07)
4
+
5
+
6
+ ### Features
7
+
8
+ * **sdk-tools:** polish onboarding flow ([#841](https://github.com/jigx-com/jigx-sdk/issues/841)) ([53476d4](https://github.com/jigx-com/jigx-sdk/commit/53476d4e4158067c946a081d597143422b579fec))
9
+
3
10
  ## 1.0.0 (2026-05-05)
4
11
 
5
12
 
package/README.md ADDED
@@ -0,0 +1,80 @@
1
+ # @jigx/sdk-tools
2
+
3
+ CLI for solution-designers to scaffold, build, and deploy Jigx Applications. Provides the `jigx` command with three verbs — `create`, `build`, and `deploy` — backed by `@jigx/core-sdk` builders.
4
+
5
+ ## Requirements
6
+
7
+ - **Node.js ≥22** — install from [nodejs.org](https://nodejs.org/) or `brew install node`.
8
+ - **Yarn 3+ recommended** (Yarn 1.x also works) — enable via `corepack enable` (ships with Node) or install Yarn 1 via `npm install -g yarn`. See [yarnpkg.com/getting-started/install](https://yarnpkg.com/getting-started/install).
9
+
10
+ ## Get your NPM_TOKEN
11
+
12
+ `@jigx/*` packages are published to npm with **restricted access**. You need a read-only npm token before installing or running any `jigx` command.
13
+
14
+ Get the token from **1Password**:
15
+
16
+ - Item: `npm`
17
+ - Field: `jigx read only token`
18
+
19
+ ## One-time machine setup
20
+
21
+ Solution-designers run bash. The setup below targets `~/.bashrc` / `~/.bash_profile`.
22
+
23
+ Export `NPM_TOKEN` in your shell so npm and yarn can read it:
24
+
25
+ ```bash
26
+ echo 'export NPM_TOKEN="paste-token-here"' >> ~/.bashrc
27
+ source ~/.bashrc
28
+ ```
29
+
30
+ Add the auth line to your user-level `~/.npmrc` so the very first `npx @jigx/sdk-tools create` can fetch the restricted package before a project-level `.npmrc` exists:
31
+
32
+ ```bash
33
+ echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}' >> ~/.npmrc
34
+ ```
35
+
36
+ After scaffold, the project-level `.npmrc` (committed to the new project) takes over for subsequent `yarn install`s.
37
+
38
+ ## End-to-end
39
+
40
+ One-time setup plus per-Application flow:
41
+
42
+ ```bash
43
+ # One-time, once per machine
44
+ echo 'export NPM_TOKEN="paste-token-here"' >> ~/.bashrc
45
+ source ~/.bashrc
46
+ echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}' >> ~/.npmrc
47
+
48
+ # Per Application
49
+ npx @jigx/sdk-tools create
50
+ cd <your-application-name>
51
+ # Open .env and fill JIGX_API_KEY + JIGX_ORGANIZATION_ID
52
+ yarn build
53
+ yarn deploy # deploys to prod; pass --env dev for staging
54
+ ```
55
+
56
+ ## Commands
57
+
58
+ | Command | What it does |
59
+ | --- | --- |
60
+ | `jigx create` | Prompts for Title → Name → Type, scaffolds a new Application project, runs `yarn install`. |
61
+ | `jigx build` | Compiles `src/app.ts` into `build/output.json` plus the canonical Builder folder layout under `build/app/` for inspection. |
62
+ | `jigx deploy` | Builds, then deploys content. Defaults to prod. Pass `--env dev` to target staging. |
63
+
64
+ ## Troubleshooting
65
+
66
+ ### `401` or `403` on install
67
+
68
+ `NPM_TOKEN` is missing, expired, or not readable by npm/yarn. Check:
69
+
70
+ - `echo $NPM_TOKEN` prints a value in your shell.
71
+ - `~/.npmrc` contains `//registry.npmjs.org/:_authToken=${NPM_TOKEN}`.
72
+ - Get a fresh token from 1Password (item `npm`, field `jigx read only token`) and re-export it.
73
+
74
+ ### `Missing required environment variables` on deploy
75
+
76
+ `jigx deploy` requires `JIGX_API_KEY` and `JIGX_ORGANIZATION_ID` in the project's `.env`. Open `.env` (auto-created by `jigx create`) and fill both values. Get them from the Jigx manage UI under Organization → Settings → API Keys.
77
+
78
+ ### `yarn: command not found`
79
+
80
+ Yarn is not installed or not on `PATH`. Enable Yarn 3+ via `corepack enable` (recommended), or install Yarn 1 via `npm install -g yarn`. See [yarnpkg.com/getting-started/install](https://yarnpkg.com/getting-started/install).
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import pkg from '../package.json' with { type: 'json' };
3
3
  import { build } from './builder/index.js';
4
- import { create, InstallFailedError } from './creator/index.js';
4
+ import { create, InstallFailedError, NpmTokenMissingError } from './creator/index.js';
5
5
  import { deploy, DeployError } from './deployer/index.js';
6
6
  import { EnvMissingError } from './env-loader/index.js';
7
7
  import { PromptCancelledError } from './prompts/index.js';
@@ -46,10 +46,11 @@ async function runDeploy(args) {
46
46
  async function runCreate() {
47
47
  const result = await create({ cwd: process.cwd() });
48
48
  console.log(`\nScaffolded Application "${result.answers.applicationName}" at ${result.scaffold.destinationPath}`);
49
- console.log(`Installed dependencies via ${result.install.packageManager} in ${result.install.durationMs}ms.`);
49
+ console.log(`Installed dependencies via yarn in ${result.install.durationMs}ms.`);
50
50
  console.log('\nNext steps:');
51
51
  console.log(` cd ${result.answers.applicationName}`);
52
- console.log(' cp .env.example .env # then fill in JIGX_API_KEY and JIGX_ORGANIZATION_ID');
52
+ console.log(' Open .env and fill JIGX_API_KEY + JIGX_ORGANIZATION_ID');
53
+ console.log(' git init # initialize git repository');
53
54
  console.log(' yarn build');
54
55
  console.log(' yarn deploy # deploys to prod; pass --env dev for staging');
55
56
  }
@@ -90,6 +91,9 @@ main().catch((error) => {
90
91
  else if (err instanceof DeployError) {
91
92
  console.error(`Application deploy failed: ${err.message}`);
92
93
  }
94
+ else if (err instanceof NpmTokenMissingError) {
95
+ console.error(`Cannot create Application: ${err.message}`);
96
+ }
93
97
  else if (err instanceof ScaffoldError) {
94
98
  console.error(`Cannot create Application: ${err.message}`);
95
99
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -2,20 +2,7 @@ import { mkdir, mkdtemp, rm } from 'node:fs/promises';
2
2
  import { tmpdir } from 'node:os';
3
3
  import path from 'node:path';
4
4
  import { afterEach, beforeEach, describe, expect, test } from 'vitest';
5
- import { create, detectPackageManager, InstallFailedError } from '../create.js';
6
- describe('detectPackageManager', () => {
7
- test.each([
8
- ['yarn/1.22.19 npm/? node/v22.0.0 darwin arm64', 'yarn'],
9
- ['npm/10.5.0 node/v22.0.0 darwin arm64', 'npm'],
10
- ['pnpm/9.0.0 npm/? node/v22.0.0', 'pnpm'],
11
- ['bun/1.1.0 darwin arm64', 'bun'],
12
- ['unknown-pm/1.0.0', 'npm'],
13
- [undefined, 'npm'],
14
- ['', 'npm'],
15
- ])('detectPackageManager(%j) === %j', (input, expected) => {
16
- expect(detectPackageManager(input ?? undefined)).toBe(expected);
17
- });
18
- });
5
+ import { create, InstallFailedError, NpmTokenMissingError } from '../create.js';
19
6
  describe('create', () => {
20
7
  let workdir;
21
8
  beforeEach(() => {
@@ -25,17 +12,57 @@ describe('create', () => {
25
12
  if (workdir)
26
13
  await rm(workdir, { recursive: true, force: true });
27
14
  });
15
+ test('throws NpmTokenMissingError when NPM_TOKEN is unset, before prompts', async () => {
16
+ workdir = await mkdtemp(path.join(tmpdir(), 'jigx-create-e2e-'));
17
+ let promptsCalled = false;
18
+ const error = await create({
19
+ cwd: workdir,
20
+ npmToken: undefined,
21
+ prompts: async () => {
22
+ promptsCalled = true;
23
+ return { title: 'Doomed', applicationName: 'doomed-app', type: 'app' };
24
+ },
25
+ install: async () => ({ exitCode: 0, durationMs: 0 }),
26
+ }).catch((e) => e);
27
+ expect(error).toBeInstanceOf(NpmTokenMissingError);
28
+ expect(promptsCalled).toBe(false);
29
+ });
30
+ test('throws NpmTokenMissingError when NPM_TOKEN is empty string', async () => {
31
+ workdir = await mkdtemp(path.join(tmpdir(), 'jigx-create-e2e-'));
32
+ const error = await create({
33
+ cwd: workdir,
34
+ npmToken: '',
35
+ prompts: async () => ({ title: 'X', applicationName: 'x', type: 'app' }),
36
+ install: async () => ({ exitCode: 0, durationMs: 0 }),
37
+ }).catch((e) => e);
38
+ expect(error).toBeInstanceOf(NpmTokenMissingError);
39
+ });
40
+ test('proceeds with the flow when NPM_TOKEN is present', async () => {
41
+ workdir = await mkdtemp(path.join(tmpdir(), 'jigx-create-e2e-'));
42
+ const result = await create({
43
+ cwd: workdir,
44
+ npmToken: 'fake-token',
45
+ prompts: async () => ({
46
+ title: 'Happy Path',
47
+ applicationName: 'happy-path',
48
+ type: 'app',
49
+ }),
50
+ install: async () => ({ exitCode: 0, durationMs: 5 }),
51
+ });
52
+ expect(result.answers.applicationName).toBe('happy-path');
53
+ expect(result.install.exitCode).toBe(0);
54
+ });
28
55
  test('throws InstallFailedError when install exits non-zero', async () => {
29
56
  workdir = await mkdtemp(path.join(tmpdir(), 'jigx-create-e2e-'));
30
57
  const error = await create({
31
58
  cwd: workdir,
32
- userAgent: 'npm/10.0.0',
59
+ npmToken: 'fake-token',
33
60
  prompts: async () => ({
34
61
  title: 'Doomed',
35
62
  applicationName: 'doomed-app',
36
63
  type: 'app',
37
64
  }),
38
- install: async ({ packageManager }) => ({ packageManager, exitCode: 1, durationMs: 1 }),
65
+ install: async () => ({ exitCode: 1, durationMs: 1 }),
39
66
  }).catch((e) => e);
40
67
  expect(error).toBeInstanceOf(InstallFailedError);
41
68
  if (!(error instanceof InstallFailedError))
@@ -49,15 +76,15 @@ describe('create', () => {
49
76
  let installCalled = false;
50
77
  await expect(create({
51
78
  cwd: workdir,
52
- userAgent: 'npm/10.0.0',
79
+ npmToken: 'fake-token',
53
80
  prompts: async () => ({
54
81
  title: 'Taken',
55
82
  applicationName: projectName,
56
83
  type: 'app',
57
84
  }),
58
- install: async ({ packageManager }) => {
85
+ install: async () => {
59
86
  installCalled = true;
60
- return { packageManager, exitCode: 0, durationMs: 0 };
87
+ return { exitCode: 0, durationMs: 0 };
61
88
  },
62
89
  })).rejects.toThrow(/already exists/);
63
90
  expect(installCalled).toBe(false);
@@ -1 +1 @@
1
- {"version":3,"file":"create.test.js","sourceRoot":"","sources":["../../../src/creator/__tests__/create.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.test.js","sourceRoot":"","sources":["../../../src/creator/__tests__/create.test.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,17 @@
1
1
  import { type CreatePromptAnswers } from '../prompts/index.js';
2
2
  import { type ScaffoldResult } from '../scaffolder/index.js';
3
- export type PackageManager = 'yarn' | 'npm' | 'pnpm' | 'bun';
4
3
  export interface InstallSpawnResult {
5
- readonly packageManager: PackageManager;
6
4
  readonly exitCode: number;
7
5
  readonly durationMs: number;
8
6
  }
9
7
  export type InstallFn = (options: {
10
8
  readonly cwd: string;
11
- readonly packageManager: PackageManager;
12
9
  }) => Promise<InstallSpawnResult>;
13
10
  export interface CreateOptions {
14
11
  readonly cwd: string;
15
12
  readonly prompts?: () => Promise<CreatePromptAnswers>;
16
13
  readonly install?: InstallFn;
17
- readonly userAgent?: string | undefined;
14
+ readonly npmToken?: string | undefined;
18
15
  }
19
16
  export interface CreateResult {
20
17
  readonly answers: CreatePromptAnswers;
@@ -24,10 +21,11 @@ export interface CreateResult {
24
21
  export declare class InstallFailedError extends Error {
25
22
  readonly exitCode: number;
26
23
  constructor(options: {
27
- readonly packageManager: PackageManager;
28
24
  readonly exitCode: number;
29
25
  });
30
26
  }
31
- export declare function detectPackageManager(userAgent: string | undefined): PackageManager;
27
+ export declare class NpmTokenMissingError extends Error {
28
+ constructor();
29
+ }
32
30
  export declare function create(options: CreateOptions): Promise<CreateResult>;
33
31
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/creator/create.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEtE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;AAE5D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;CACxC,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAEjC,MAAM,WAAW,aAAa;IAE5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAEpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAErD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAE5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACxC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;CACrC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB,YAAY,OAAO,EAAE;QAAE,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAQ1F;CACF;AAQD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAQlF;AA8BD,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAyB1E"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/creator/create.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEtE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAE1F,MAAM,WAAW,aAAa;IAE5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAEpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAErD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAE5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;CACrC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB,YAAY,OAAO,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAUjD;CACF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,cAOC;CACF;AA+BD,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA4B1E"}
@@ -5,30 +5,28 @@ import { scaffold } from '../scaffolder/index.js';
5
5
  export class InstallFailedError extends Error {
6
6
  exitCode;
7
7
  constructor(options) {
8
- super(`${options.packageManager} install exited with code ${options.exitCode}. ` +
9
- `Run "${options.packageManager} install" inside the new project directory to retry. ` +
10
- `If the failure mentions 401/403 against @jigx/*, configure NPM_TOKEN — see the generated README.`);
8
+ super(`yarn install exited with code ${options.exitCode}. ` +
9
+ `Run "yarn install" inside the new project directory to retry. ` +
10
+ `If the failure mentions 401/403 against @jigx/*, ensure NPM_TOKEN is exported in your shell ` +
11
+ `(1Password item 'npm', field 'jigx read only token') and that your one-time ~/.npmrc contains ` +
12
+ `\`//registry.npmjs.org/:_authToken=\${NPM_TOKEN}\`.`);
11
13
  this.name = 'InstallFailedError';
12
14
  this.exitCode = options.exitCode;
13
15
  }
14
16
  }
15
- const PACKAGE_MANAGERS = ['yarn', 'npm', 'pnpm', 'bun'];
16
- export function detectPackageManager(userAgent) {
17
- if (!userAgent)
18
- return 'npm';
19
- const head = userAgent.split(' ')[0] ?? '';
20
- const name = head.split('/')[0];
21
- for (const candidate of PACKAGE_MANAGERS) {
22
- if (candidate === name)
23
- return candidate;
17
+ export class NpmTokenMissingError extends Error {
18
+ constructor() {
19
+ super(`NPM_TOKEN environment variable not set. @jigx packages are published with restricted access. ` +
20
+ `Get the token from 1Password (item 'npm', field 'jigx read only token') and add to your shell: ` +
21
+ `\`export NPM_TOKEN="..."\`. Then re-run: \`npx @jigx/sdk-tools create\`.`);
22
+ this.name = 'NpmTokenMissingError';
24
23
  }
25
- return 'npm';
26
24
  }
27
25
  const defaultInstall = (options) => {
28
- const { cwd, packageManager } = options;
26
+ const { cwd } = options;
29
27
  return new Promise((resolve, reject) => {
30
28
  const startTime = Date.now();
31
- const child = spawn(packageManager, ['install'], {
29
+ const child = spawn('yarn', ['install'], {
32
30
  cwd,
33
31
  stdio: 'inherit',
34
32
  shell: process.platform === 'win32',
@@ -38,7 +36,6 @@ const defaultInstall = (options) => {
38
36
  });
39
37
  child.on('exit', (code) => {
40
38
  resolve({
41
- packageManager,
42
39
  exitCode: code ?? 0,
43
40
  durationMs: Date.now() - startTime,
44
41
  });
@@ -46,7 +43,10 @@ const defaultInstall = (options) => {
46
43
  });
47
44
  };
48
45
  export async function create(options) {
49
- const { cwd, prompts = runCreatePrompts, install = defaultInstall, userAgent = process.env.npm_config_user_agent, } = options;
46
+ const { cwd, prompts = runCreatePrompts, install = defaultInstall, npmToken = process.env.NPM_TOKEN, } = options;
47
+ if (!npmToken || npmToken.trim().length === 0) {
48
+ throw new NpmTokenMissingError();
49
+ }
50
50
  const answers = await prompts();
51
51
  const destinationPath = path.join(cwd, answers.applicationName);
52
52
  const scaffoldResult = await scaffold({
@@ -55,10 +55,9 @@ export async function create(options) {
55
55
  type: answers.type,
56
56
  destinationPath,
57
57
  });
58
- const packageManager = detectPackageManager(userAgent);
59
- const installResult = await install({ cwd: destinationPath, packageManager });
58
+ const installResult = await install({ cwd: destinationPath });
60
59
  if (installResult.exitCode !== 0) {
61
- throw new InstallFailedError({ packageManager, exitCode: installResult.exitCode });
60
+ throw new InstallFailedError({ exitCode: installResult.exitCode });
62
61
  }
63
62
  return { answers, scaffold: scaffoldResult, install: installResult };
64
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/creator/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/creator/create.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { create, detectPackageManager, InstallFailedError } from './create.js';
2
- export type { CreateOptions, CreateResult, InstallFn, InstallSpawnResult, PackageManager, } from './create.js';
1
+ export { create, InstallFailedError, NpmTokenMissingError } from './create.js';
2
+ export type { CreateOptions, CreateResult, InstallFn, InstallSpawnResult } from './create.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC9E,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,cAAc,GACf,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC9E,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA"}
@@ -1,2 +1,2 @@
1
- export { create, detectPackageManager, InstallFailedError } from './create.js';
1
+ export { create, InstallFailedError, NpmTokenMissingError } from './create.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/creator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/creator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { build } from './builder/index.js';
2
2
  export type { BuildOptions, BuildResult } from './builder/index.js';
3
- export { create, detectPackageManager, InstallFailedError } from './creator/index.js';
4
- export type { CreateOptions, CreateResult, InstallFn, InstallSpawnResult, PackageManager, } from './creator/index.js';
3
+ export { create, InstallFailedError, NpmTokenMissingError } from './creator/index.js';
4
+ export type { CreateOptions, CreateResult, InstallFn, InstallSpawnResult } from './creator/index.js';
5
5
  export { deploy, deployToStrata, DeployError } from './deployer/index.js';
6
6
  export type { ApplicationContent, DeployEnvironment, DeployOptions, DeployToStrataOptions, DeployResult, } from './deployer/index.js';
7
7
  export { loadEnv, EnvMissingError } from './env-loader/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEnE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACrF,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,cAAc,GACf,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACzE,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,YAAY,GACb,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAChE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEtE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC/D,YAAY,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACvE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEnE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrF,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEpG,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACzE,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,YAAY,GACb,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAChE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEtE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC/D,YAAY,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACvE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { build } from './builder/index.js';
2
- export { create, detectPackageManager, InstallFailedError } from './creator/index.js';
2
+ export { create, InstallFailedError, NpmTokenMissingError } from './creator/index.js';
3
3
  export { deploy, deployToStrata, DeployError } from './deployer/index.js';
4
4
  export { loadEnv, EnvMissingError } from './env-loader/index.js';
5
5
  export { PromptCancelledError, runCreatePrompts } from './prompts/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AASrF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AASzE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGhE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAG3E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAQ/D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAGrF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AASzE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGhE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAG3E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAQ/D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA"}
@@ -23,8 +23,11 @@ describe('Scaffolder.scaffold', () => {
23
23
  });
24
24
  expect(result.destinationPath).toBe(destinationPath);
25
25
  expect(result.filesWritten.map((p) => path.relative(destinationPath, p)).sort()).toEqual([
26
+ '.env',
26
27
  '.env.example',
27
28
  '.gitignore',
29
+ '.npmrc',
30
+ '.yarnrc.yml',
28
31
  'README.md',
29
32
  'package.json',
30
33
  'src/app.ts',
@@ -35,14 +38,16 @@ describe('Scaffolder.scaffold', () => {
35
38
  name: 'customer-selection',
36
39
  private: true,
37
40
  type: 'module',
38
- scripts: { build: 'jigx build', deploy: 'jigx deploy' },
39
- dependencies: { '@jigx/core-sdk': expect.any(String) },
41
+ engines: { node: '>=22' },
42
+ scripts: { build: 'jigx build', deploy: 'jigx deploy', typecheck: 'tsc --build' },
43
+ dependencies: { '@jigx/core-sdk': '^1.0.0' },
40
44
  devDependencies: {
41
45
  '@jigx/sdk-tools': expect.any(String),
42
46
  tsx: expect.any(String),
43
47
  typescript: expect.any(String),
44
48
  },
45
49
  });
50
+ expect(pkg.packageManager).toBeUndefined();
46
51
  const gitignoreContent = await readFile(path.join(destinationPath, '.gitignore'), 'utf8');
47
52
  expect(gitignoreContent).toContain('.env');
48
53
  expect(gitignoreContent).toContain('node_modules/');
@@ -50,6 +55,13 @@ describe('Scaffolder.scaffold', () => {
50
55
  const envExampleContent = await readFile(path.join(destinationPath, '.env.example'), 'utf8');
51
56
  expect(envExampleContent).toContain('JIGX_API_KEY');
52
57
  expect(envExampleContent).toContain('JIGX_ORGANIZATION_ID');
58
+ const envContent = await readFile(path.join(destinationPath, '.env'), 'utf8');
59
+ expect(envContent).toBe(envExampleContent);
60
+ const npmrcContent = await readFile(path.join(destinationPath, '.npmrc'), 'utf8');
61
+ expect(npmrcContent).toContain('@jigx:registry=https://registry.npmjs.org/');
62
+ expect(npmrcContent).toContain('//registry.npmjs.org/:_authToken=${NPM_TOKEN}');
63
+ const yarnrcContent = await readFile(path.join(destinationPath, '.yarnrc.yml'), 'utf8');
64
+ expect(yarnrcContent).toContain('nodeLinker: node-modules');
53
65
  const readmeContent = await readFile(path.join(destinationPath, 'README.md'), 'utf8');
54
66
  expect(readmeContent).toContain('Customer Selection');
55
67
  expect(readmeContent).toContain('customer-selection');
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.test.js","sourceRoot":"","sources":["../../../src/scaffolder/__tests__/scaffold.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.test.js","sourceRoot":"","sources":["../../../src/scaffolder/__tests__/scaffold.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/scaffolder/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,eAAe,EAMrB,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAE9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CACzC;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAqBD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA8BhF"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/scaffolder/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,eAAe,EAQrB,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAE9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CACzC;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAsBD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAkChF"}
@@ -1,6 +1,6 @@
1
1
  import { mkdir, stat, writeFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { appTs, envExample, gitignore, packageJson, readme, tsconfigJson, } from './templates.js';
3
+ import { appTs, envExample, gitignore, npmrc, packageJson, readme, tsconfigJson, yarnrcYml, } from './templates.js';
4
4
  export class ScaffoldError extends Error {
5
5
  constructor(message) {
6
6
  super(message);
@@ -25,12 +25,16 @@ export async function scaffold(options) {
25
25
  throw new ScaffoldError(`Destination already exists: ${destinationPath}. Choose a different Application name or remove the existing directory.`);
26
26
  }
27
27
  const inputs = { title, applicationName, type };
28
+ const envContent = envExample();
28
29
  await mkdir(path.join(destinationPath, 'src'), { recursive: true });
29
30
  const files = [
30
31
  { relPath: 'package.json', content: packageJson(inputs) },
31
32
  { relPath: 'tsconfig.json', content: tsconfigJson() },
32
33
  { relPath: '.gitignore', content: gitignore() },
33
- { relPath: '.env.example', content: envExample() },
34
+ { relPath: '.env.example', content: envContent },
35
+ { relPath: '.env', content: envContent },
36
+ { relPath: '.npmrc', content: npmrc() },
37
+ { relPath: '.yarnrc.yml', content: yarnrcYml() },
34
38
  { relPath: 'README.md', content: readme(inputs) },
35
39
  { relPath: path.join('src', 'app.ts'), content: appTs(inputs) },
36
40
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/scaffolder/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EACL,KAAK,EAEL,UAAU,EACV,SAAS,EACT,WAAW,EACX,MAAM,EACN,YAAY,GACb,MAAM,gBAAgB,CAAA;AAevB,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe,EAAE;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAAA,CAC5B;CACF;AAED,KAAK,UAAU,MAAM,CAAC,QAAgB,EAAoB;IACxD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AAAA,CACF;AASD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB,EAA2B;IAChF,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;IAEjE,IAAI,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,aAAa,CACrB,+BAA+B,eAAe,yEAAyE,CACxH,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,CAAA;IAE/C,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEnE,MAAM,KAAK,GAA0E;QACnF,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE;QACzD,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QACrD,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;QAC/C,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;QAClD,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;QACjD,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;KAChE,CAAA;IAED,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9C,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAA;AAAA,CACzC"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/scaffolder/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EACL,KAAK,EAEL,UAAU,EACV,SAAS,EACT,KAAK,EACL,WAAW,EACX,MAAM,EACN,YAAY,EACZ,SAAS,GACV,MAAM,gBAAgB,CAAA;AAevB,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe,EAAE;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAAA,CAC5B;CACF;AAED,KAAK,UAAU,MAAM,CAAC,QAAgB,EAAoB;IACxD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AAAA,CACF;AAUD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB,EAA2B;IAChF,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;IAEjE,IAAI,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,aAAa,CACrB,+BAA+B,eAAe,yEAAyE,CACxH,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,CAAA;IAC/C,MAAM,UAAU,GAAG,UAAU,EAAE,CAAA;IAE/B,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEnE,MAAM,KAAK,GAA0E;QACnF,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE;QACzD,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QACrD,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;QAC/C,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE;QAChD,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;QACxC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvC,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;QAChD,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;QACjD,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;KAChE,CAAA;IAED,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9C,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAA;AAAA,CACzC"}
@@ -5,6 +5,8 @@ export interface TemplateInputs {
5
5
  }
6
6
  export type ApplicationType = 'app' | 'data';
7
7
  export declare function packageJson(inputs: TemplateInputs): string;
8
+ export declare function npmrc(): string;
9
+ export declare function yarnrcYml(): string;
8
10
  export declare function tsconfigJson(): string;
9
11
  export declare function gitignore(): string;
10
12
  export declare function envExample(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffolder/templates.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAA;AAK5C,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAqB1D;AAED,wBAAgB,YAAY,IAAI,MAAM,CAkBrC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAQnC;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAyCrD;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwBpD"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffolder/templates.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAA;AAM5C,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAyB1D;AAED,wBAAgB,KAAK,IAAI,MAAM,CAM9B;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAkBrC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAQnC;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAyCrD;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwBpD"}
@@ -1,6 +1,6 @@
1
1
  import pkg from '../../package.json' with { type: 'json' };
2
2
  const sdkToolsVersion = pkg.version;
3
- const coreSdkRange = '*';
3
+ const coreSdkRange = '^1.0.0';
4
4
  export function packageJson(inputs) {
5
5
  const { applicationName } = inputs;
6
6
  const body = {
@@ -8,9 +8,13 @@ export function packageJson(inputs) {
8
8
  version: '0.0.0',
9
9
  private: true,
10
10
  type: 'module',
11
+ engines: {
12
+ node: '>=22',
13
+ },
11
14
  scripts: {
12
15
  build: 'jigx build',
13
16
  deploy: 'jigx deploy',
17
+ typecheck: 'tsc --build',
14
18
  },
15
19
  dependencies: {
16
20
  '@jigx/core-sdk': coreSdkRange,
@@ -23,6 +27,16 @@ export function packageJson(inputs) {
23
27
  };
24
28
  return `${JSON.stringify(body, null, 2)}\n`;
25
29
  }
30
+ export function npmrc() {
31
+ return [
32
+ '@jigx:registry=https://registry.npmjs.org/',
33
+ '//registry.npmjs.org/:_authToken=${NPM_TOKEN}',
34
+ '',
35
+ ].join('\n');
36
+ }
37
+ export function yarnrcYml() {
38
+ return 'nodeLinker: node-modules\n';
39
+ }
26
40
  export function tsconfigJson() {
27
41
  const body = {
28
42
  compilerOptions: {
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffolder/templates.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAU1D,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAA;AACnC,MAAM,YAAY,GAAG,GAAG,CAAA;AAExB,MAAM,UAAU,WAAW,CAAC,MAAsB,EAAU;IAC1D,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAA;IAClC,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,aAAa;SACtB;QACD,YAAY,EAAE;YACZ,gBAAgB,EAAE,YAAY;SAC/B;QACD,eAAe,EAAE;YACf,iBAAiB,EAAE,IAAI,eAAe,EAAE;YACxC,GAAG,EAAE,SAAS;YACd,UAAU,EAAE,QAAQ;SACrB;KACF,CAAA;IACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;AAAA,CAC5C;AAED,MAAM,UAAU,YAAY,GAAW;IACrC,MAAM,IAAI,GAAG;QACX,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;YAClB,gBAAgB,EAAE,UAAU;YAC5B,GAAG,EAAE,CAAC,QAAQ,CAAC;YACf,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,gCAAgC,EAAE,IAAI;SACvC;QACD,OAAO,EAAE,CAAC,aAAa,CAAC;KACzB,CAAA;IACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;AAAA,CAC5C;AAED,MAAM,UAAU,SAAS,GAAW;IAClC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAAA,CAC1D;AAED,MAAM,UAAU,UAAU,GAAW;IACnC,OAAO;QACL,qDAAqD;QACrD,mFAA+E;QAC/E,eAAe;QACf,uBAAuB;QACvB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAAA,CACb;AAED,MAAM,UAAU,MAAM,CAAC,MAAsB,EAAU;IACrD,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAC/C,OAAO,KAAK,KAAK;;;;wBAIK,eAAe;YAC3B,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCf,CAAA;AAAA,CACA;AAED,MAAM,UAAU,KAAK,CAAC,MAAsB,EAAU;IACpD,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,EAAE,CAAC,CAAA;IAC5D,OAAO;;;WAGE,eAAe;WACf,YAAY;WACZ,IAAI;;;;;;aAMF,YAAY;;;;;aAKZ,cAAc;;;CAG1B,CAAA;AAAA,CACA"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffolder/templates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jigx/sdk-tools",
3
- "version": "1.0.0",
3
+ "version": "1.1.0-rc",
4
4
  "description": "Jigx SDK toolkit (jigx CLI) — scaffold, build, and publish Jigx Application projects",
5
5
  "license": "ISC",
6
6
  "type": "module",
@@ -9,6 +9,9 @@
9
9
  "bin": {
10
10
  "jigx": "dist/cli.js"
11
11
  },
12
+ "engines": {
13
+ "node": ">=22"
14
+ },
12
15
  "exports": {
13
16
  ".": {
14
17
  "types": {