@jigx/sdk-tools 1.1.0-rc → 1.1.0-rc.4

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 (130) hide show
  1. package/README.md +30 -51
  2. package/dist/auth/cognito-auth.d.ts +26 -0
  3. package/dist/auth/cognito-auth.d.ts.map +1 -0
  4. package/dist/auth/cognito-auth.js +150 -0
  5. package/dist/auth/cognito-auth.js.map +1 -0
  6. package/dist/auth/cognito-config.d.ts +10 -0
  7. package/dist/auth/cognito-config.d.ts.map +1 -0
  8. package/dist/auth/cognito-config.js +17 -0
  9. package/dist/auth/cognito-config.js.map +1 -0
  10. package/dist/auth/credentials-store.d.ts +34 -0
  11. package/dist/auth/credentials-store.d.ts.map +1 -0
  12. package/dist/auth/credentials-store.js +116 -0
  13. package/dist/auth/credentials-store.js.map +1 -0
  14. package/dist/auth/errors.d.ts +23 -0
  15. package/dist/auth/errors.d.ts.map +1 -0
  16. package/dist/auth/errors.js +39 -0
  17. package/dist/auth/errors.js.map +1 -0
  18. package/dist/auth/identity-client.d.ts +19 -0
  19. package/dist/auth/identity-client.d.ts.map +1 -0
  20. package/dist/auth/identity-client.js +70 -0
  21. package/dist/auth/identity-client.js.map +1 -0
  22. package/dist/auth/index.d.ts +12 -0
  23. package/dist/auth/index.d.ts.map +1 -0
  24. package/dist/auth/index.js +7 -0
  25. package/dist/auth/index.js.map +1 -0
  26. package/dist/auth/jigx-config-store.d.ts +27 -0
  27. package/dist/auth/jigx-config-store.d.ts.map +1 -0
  28. package/dist/auth/jigx-config-store.js +76 -0
  29. package/dist/auth/jigx-config-store.js.map +1 -0
  30. package/dist/cli.js +138 -14
  31. package/dist/cli.js.map +1 -1
  32. package/dist/deployer/deploy-to-strata.js +2 -2
  33. package/dist/deployer/deploy-to-strata.js.map +1 -1
  34. package/dist/deployer/deploy.d.ts +17 -0
  35. package/dist/deployer/deploy.d.ts.map +1 -1
  36. package/dist/deployer/deploy.js +90 -4
  37. package/dist/deployer/deploy.js.map +1 -1
  38. package/dist/deployer/index.d.ts +1 -1
  39. package/dist/deployer/index.d.ts.map +1 -1
  40. package/dist/deployer/index.js +1 -1
  41. package/dist/deployer/index.js.map +1 -1
  42. package/dist/index.d.ts +8 -2
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +4 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/init/index.d.ts +2 -0
  47. package/dist/init/index.d.ts.map +1 -0
  48. package/dist/init/index.js +2 -0
  49. package/dist/init/index.js.map +1 -0
  50. package/dist/init/init.d.ts +45 -0
  51. package/dist/init/init.d.ts.map +1 -0
  52. package/dist/init/init.js +125 -0
  53. package/dist/init/init.js.map +1 -0
  54. package/dist/login/index.d.ts +3 -0
  55. package/dist/login/index.d.ts.map +1 -0
  56. package/dist/login/index.js +2 -0
  57. package/dist/login/index.js.map +1 -0
  58. package/dist/login/login.d.ts +19 -0
  59. package/dist/login/login.d.ts.map +1 -0
  60. package/dist/login/login.js +58 -0
  61. package/dist/login/login.js.map +1 -0
  62. package/dist/logout/index.d.ts +3 -0
  63. package/dist/logout/index.d.ts.map +1 -0
  64. package/dist/logout/index.js +2 -0
  65. package/dist/logout/index.js.map +1 -0
  66. package/dist/logout/logout.d.ts +26 -0
  67. package/dist/logout/logout.d.ts.map +1 -0
  68. package/dist/logout/logout.js +100 -0
  69. package/dist/logout/logout.js.map +1 -0
  70. package/dist/scaffolder/scaffold.d.ts.map +1 -1
  71. package/dist/scaffolder/scaffold.js +1 -4
  72. package/dist/scaffolder/scaffold.js.map +1 -1
  73. package/dist/scaffolder/templates.d.ts +0 -1
  74. package/dist/scaffolder/templates.d.ts.map +1 -1
  75. package/dist/scaffolder/templates.js +23 -47
  76. package/dist/scaffolder/templates.js.map +1 -1
  77. package/dist/whoami/index.d.ts +3 -0
  78. package/dist/whoami/index.d.ts.map +1 -0
  79. package/dist/whoami/index.js +2 -0
  80. package/dist/whoami/index.js.map +1 -0
  81. package/dist/whoami/whoami.d.ts +27 -0
  82. package/dist/whoami/whoami.d.ts.map +1 -0
  83. package/dist/whoami/whoami.js +52 -0
  84. package/dist/whoami/whoami.js.map +1 -0
  85. package/package.json +19 -3
  86. package/CHANGELOG.md +0 -15
  87. package/dist/builder/__tests__/build.test.d.ts +0 -2
  88. package/dist/builder/__tests__/build.test.d.ts.map +0 -1
  89. package/dist/builder/__tests__/build.test.js +0 -88
  90. package/dist/builder/__tests__/build.test.js.map +0 -1
  91. package/dist/builder/__tests__/extract-to-folder.test.d.ts +0 -2
  92. package/dist/builder/__tests__/extract-to-folder.test.d.ts.map +0 -1
  93. package/dist/builder/__tests__/extract-to-folder.test.js +0 -198
  94. package/dist/builder/__tests__/extract-to-folder.test.js.map +0 -1
  95. package/dist/builder/__tests__/fixtures/sample-application.d.ts +0 -2
  96. package/dist/builder/__tests__/fixtures/sample-application.d.ts.map +0 -1
  97. package/dist/builder/__tests__/fixtures/sample-application.js +0 -56
  98. package/dist/builder/__tests__/fixtures/sample-application.js.map +0 -1
  99. package/dist/creator/__tests__/create.test.d.ts +0 -2
  100. package/dist/creator/__tests__/create.test.d.ts.map +0 -1
  101. package/dist/creator/__tests__/create.test.js +0 -93
  102. package/dist/creator/__tests__/create.test.js.map +0 -1
  103. package/dist/deployer/__tests__/deploy-to-strata.test.d.ts +0 -2
  104. package/dist/deployer/__tests__/deploy-to-strata.test.d.ts.map +0 -1
  105. package/dist/deployer/__tests__/deploy-to-strata.test.js +0 -174
  106. package/dist/deployer/__tests__/deploy-to-strata.test.js.map +0 -1
  107. package/dist/deployer/__tests__/deploy.test.d.ts +0 -2
  108. package/dist/deployer/__tests__/deploy.test.d.ts.map +0 -1
  109. package/dist/deployer/__tests__/deploy.test.js +0 -116
  110. package/dist/deployer/__tests__/deploy.test.js.map +0 -1
  111. package/dist/env-loader/__tests__/load-env.test.d.ts +0 -2
  112. package/dist/env-loader/__tests__/load-env.test.d.ts.map +0 -1
  113. package/dist/env-loader/__tests__/load-env.test.js +0 -46
  114. package/dist/env-loader/__tests__/load-env.test.js.map +0 -1
  115. package/dist/env-loader/index.d.ts +0 -3
  116. package/dist/env-loader/index.d.ts.map +0 -1
  117. package/dist/env-loader/index.js +0 -2
  118. package/dist/env-loader/index.js.map +0 -1
  119. package/dist/env-loader/load-env.d.ts +0 -12
  120. package/dist/env-loader/load-env.d.ts.map +0 -1
  121. package/dist/env-loader/load-env.js +0 -50
  122. package/dist/env-loader/load-env.js.map +0 -1
  123. package/dist/scaffolder/__tests__/scaffold.test.d.ts +0 -2
  124. package/dist/scaffolder/__tests__/scaffold.test.d.ts.map +0 -1
  125. package/dist/scaffolder/__tests__/scaffold.test.js +0 -124
  126. package/dist/scaffolder/__tests__/scaffold.test.js.map +0 -1
  127. package/dist/slug/__tests__/validate.test.d.ts +0 -2
  128. package/dist/slug/__tests__/validate.test.d.ts.map +0 -1
  129. package/dist/slug/__tests__/validate.test.js +0 -51
  130. package/dist/slug/__tests__/validate.test.js.map +0 -1
@@ -0,0 +1,100 @@
1
+ import { cancel, isCancel, select } from '@clack/prompts';
2
+ import { COGNITO_CONFIG, CredentialsStore } from '../auth/index.js';
3
+ export class LogoutCancelledError extends Error {
4
+ constructor() {
5
+ super('Logout cancelled.');
6
+ this.name = 'LogoutCancelledError';
7
+ }
8
+ }
9
+ export class LogoutFlagConflictError extends Error {
10
+ constructor() {
11
+ super('jigx logout: --env and --all are mutually exclusive.');
12
+ this.name = 'LogoutFlagConflictError';
13
+ }
14
+ }
15
+ const ENV_ORDER = ['dev', 'prod'];
16
+ function ensureNotCancelled(value) {
17
+ if (isCancel(value)) {
18
+ cancel('Logout cancelled.');
19
+ throw new LogoutCancelledError();
20
+ }
21
+ return value;
22
+ }
23
+ async function defaultPromptScope(active) {
24
+ const choice = ensureNotCancelled(await select({
25
+ message: 'Log out from?',
26
+ options: [
27
+ ...active.map((env) => ({ value: env, label: env })),
28
+ { value: 'all', label: 'all' },
29
+ ],
30
+ initialValue: 'all',
31
+ }));
32
+ return choice;
33
+ }
34
+ async function getActiveEnvs(store) {
35
+ const active = [];
36
+ for (const env of ENV_ORDER) {
37
+ const cached = await store.readUserHome({
38
+ environment: env,
39
+ userPoolId: COGNITO_CONFIG[env].userPoolId,
40
+ });
41
+ if (cached)
42
+ active.push(env);
43
+ }
44
+ return active;
45
+ }
46
+ async function resolveScope(context) {
47
+ const { options, active } = context;
48
+ if (options.environment) {
49
+ return { scope: options.environment, targets: [options.environment] };
50
+ }
51
+ if (options.all) {
52
+ return { scope: 'all', targets: ENV_ORDER };
53
+ }
54
+ if (active.length === 0) {
55
+ return { scope: 'none', targets: [] };
56
+ }
57
+ if (active.length === 1) {
58
+ return { scope: active[0], targets: [active[0]] };
59
+ }
60
+ const promptScope = options.promptScope ?? defaultPromptScope;
61
+ const choice = await promptScope(active);
62
+ return choice === 'all'
63
+ ? { scope: 'all', targets: ENV_ORDER }
64
+ : { scope: choice, targets: [choice] };
65
+ }
66
+ function formatScope(scope) {
67
+ if (scope === 'all')
68
+ return 'all environments';
69
+ if (scope === 'none')
70
+ return 'none';
71
+ return scope;
72
+ }
73
+ function formatOutcome(outcome) {
74
+ if (outcome.refreshTokenCleared)
75
+ return `Cleared refresh token for ${outcome.environment}.`;
76
+ return `${outcome.environment}: not logged in.`;
77
+ }
78
+ export async function logout(options) {
79
+ const { credentialsStore = new CredentialsStore() } = options;
80
+ if (options.environment && options.all) {
81
+ throw new LogoutFlagConflictError();
82
+ }
83
+ const active = await getActiveEnvs(credentialsStore);
84
+ const { scope, targets } = await resolveScope({ options, active });
85
+ if (scope === 'none') {
86
+ return { scope, outcomes: [], formatted: 'Already logged out.' };
87
+ }
88
+ const outcomes = [];
89
+ for (const env of targets) {
90
+ const result = await credentialsStore.clearUserHome({
91
+ environment: env,
92
+ userPoolId: COGNITO_CONFIG[env].userPoolId,
93
+ });
94
+ outcomes.push({ environment: env, refreshTokenCleared: result.cleared });
95
+ }
96
+ const lines = outcomes.map(formatOutcome);
97
+ lines.push(`Logged out from ${formatScope(scope)}.`);
98
+ return { scope, outcomes, formatted: lines.join('\n') };
99
+ }
100
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/logout/logout.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,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
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/scaffolder/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,eAAe,EAOrB,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;AAwBD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA+BhF"}
@@ -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, npmrc, packageJson, readme, tsconfigJson, yarnrcYml, } from './templates.js';
3
+ import { appTs, 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,14 +25,11 @@ 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();
29
28
  await mkdir(path.join(destinationPath, 'src'), { recursive: true });
30
29
  const files = [
31
30
  { relPath: 'package.json', content: packageJson(inputs) },
32
31
  { relPath: 'tsconfig.json', content: tsconfigJson() },
33
32
  { relPath: '.gitignore', content: gitignore() },
34
- { relPath: '.env.example', content: envContent },
35
- { relPath: '.env', content: envContent },
36
33
  { relPath: '.npmrc', content: npmrc() },
37
34
  { relPath: '.yarnrc.yml', content: yarnrcYml() },
38
35
  { relPath: 'README.md', content: readme(inputs) },
@@ -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,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"}
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,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;AAYD,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,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"}
@@ -9,7 +9,6 @@ export declare function npmrc(): string;
9
9
  export declare function yarnrcYml(): string;
10
10
  export declare function tsconfigJson(): string;
11
11
  export declare function gitignore(): string;
12
- export declare function envExample(): string;
13
12
  export declare function readme(inputs: TemplateInputs): string;
14
13
  export declare function appTs(inputs: TemplateInputs): string;
15
14
  //# sourceMappingURL=templates.d.ts.map
@@ -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;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
+ {"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,CAE9B;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAkBrC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA2BrD;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA2BpD"}
@@ -28,11 +28,7 @@ export function packageJson(inputs) {
28
28
  return `${JSON.stringify(body, null, 2)}\n`;
29
29
  }
30
30
  export function npmrc() {
31
- return [
32
- '@jigx:registry=https://registry.npmjs.org/',
33
- '//registry.npmjs.org/:_authToken=${NPM_TOKEN}',
34
- '',
35
- ].join('\n');
31
+ return ['@jigx:registry=https://registry.npmjs.org/', ''].join('\n');
36
32
  }
37
33
  export function yarnrcYml() {
38
34
  return 'nodeLinker: node-modules\n';
@@ -57,16 +53,7 @@ export function tsconfigJson() {
57
53
  return `${JSON.stringify(body, null, 2)}\n`;
58
54
  }
59
55
  export function gitignore() {
60
- return ['.env', 'node_modules/', 'build/', ''].join('\n');
61
- }
62
- export function envExample() {
63
- return [
64
- '# Jigx API credentials. Required for `jigx deploy`.',
65
- '# Get these from the Jigx manage UI under Organization → Settings → API Keys.',
66
- 'JIGX_API_KEY=',
67
- 'JIGX_ORGANIZATION_ID=',
68
- '',
69
- ].join('\n');
56
+ return ['node_modules/', 'build/', ''].join('\n');
70
57
  }
71
58
  export function readme(inputs) {
72
59
  const { title, applicationName, type } = inputs;
@@ -77,30 +64,16 @@ A Jigx Application scaffolded with \`@jigx/sdk-tools\`.
77
64
  - Application name: \`${applicationName}\`
78
65
  - Type: \`${type}\`
79
66
 
80
- ## Prerequisites
81
-
82
- \`@jigx/core-sdk\` and \`@jigx/sdk-tools\` are published to npm with **restricted access**.
83
- You need an \`NPM_TOKEN\` from the Jigx npm org before installing or running any
84
- \`jigx\` command. Configure it via either:
85
-
86
- - A user-level \`~/.npmrc\` containing \`//registry.npmjs.org/:_authToken=\${NPM_TOKEN}\`
87
- with \`NPM_TOKEN\` set in your shell environment, or
88
- - A project-level \`.npmrc\` next to this README with the same line
89
-
90
- ## Environment variables
91
-
92
- Copy \`.env.example\` to \`.env\` and fill in the two required values:
67
+ ## Quick start
93
68
 
94
69
  \`\`\`bash
95
- cp .env.example .env
70
+ jigx deploy
96
71
  \`\`\`
97
72
 
98
- | Variable | Description |
99
- | --- | --- |
100
- | \`JIGX_API_KEY\` | API key issued by your Jigx organization. Used to authenticate every deploy request. |
101
- | \`JIGX_ORGANIZATION_ID\` | Identifier of the organization that owns this Application. |
102
-
103
- \`.env\` is gitignored — never commit it.
73
+ The first \`jigx deploy\` auto-runs \`jigx login\` (Cognito email + password) and
74
+ \`jigx init\` (binds this project to an Organization in \`jigx.json\`). The
75
+ refresh token lives in \`~/.jigx/refresh-tokens.json\`; the project's
76
+ Organization binding is committed in \`jigx.json\` at the project root.
104
77
 
105
78
  ## Scripts
106
79
 
@@ -113,7 +86,6 @@ cp .env.example .env
113
86
  export function appTs(inputs) {
114
87
  const { title, applicationName, type } = inputs;
115
88
  const titleLiteral = JSON.stringify(title);
116
- const welcomeLiteral = JSON.stringify(`Welcome to ${title}`);
117
89
  return `import { ApplicationBuilder } from '@jigx/core-sdk'
118
90
 
119
91
  export const app = new ApplicationBuilder({
@@ -122,17 +94,21 @@ export const app = new ApplicationBuilder({
122
94
  type: '${type}',
123
95
  })
124
96
 
125
- app
126
- .addScreen.default({
127
- screenId: 'home',
128
- title: ${titleLiteral},
129
- })
130
- .summary()
131
- .addControl.default({
132
- instanceId: 'welcome',
133
- title: ${welcomeLiteral},
134
- subtitle: 'Edit src/app.ts to start building your Application.',
135
- })
97
+ const homeScreen = app.addScreen.default({
98
+ screenId: 'home',
99
+ title: ${titleLiteral},
100
+ })
101
+
102
+ const entity = homeScreen.addControl.entity({})
103
+ entity.addControl.entityField({
104
+ label: 'Hello world',
105
+ value: 'from SDK',
106
+ })
107
+
108
+ app.addTab({
109
+ screenId: 'home',
110
+ icon: 'home',
111
+ })
136
112
  `;
137
113
  }
138
114
  //# sourceMappingURL=templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffolder/templates.ts"],"names":[],"mappings":"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"}
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;AAEnC,MAAM,YAAY,GAAG,QAAQ,CAAA;AAE7B,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,IAAI,EAAE,MAAM;SACb;QACD,OAAO,EAAE;YACP,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,aAAa;SACzB;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,KAAK,GAAW;IAC9B,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAAA,CACrE;AAED,MAAM,UAAU,SAAS,GAAW;IAClC,OAAO,4BAA4B,CAAA;AAAA,CACpC;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,eAAe,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAAA,CAClD;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;;;;;;;;;;;;;;;;;;;CAmBf,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,OAAO;;;WAGE,eAAe;WACf,YAAY;WACZ,IAAI;;;;;WAKJ,YAAY;;;;;;;;;;;;;CAatB,CAAA;AAAA,CACA"}
@@ -0,0 +1,3 @@
1
+ export { whoami } from './whoami.js';
2
+ export type { WhoamiOptions, WhoamiProjectOrganization, WhoamiResult, WhoamiUser, } from './whoami.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/whoami/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,YAAY,EACV,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,UAAU,GACX,MAAM,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { whoami } from './whoami.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/whoami/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { CognitoAuth, CredentialsStore, IdentityClient, JigxConfigStore } from '../auth/index.js';
2
+ import type { DeployEnvironment } from '../deployer/index.js';
3
+ export interface WhoamiOptions {
4
+ readonly projectRoot: string;
5
+ readonly environment?: DeployEnvironment;
6
+ readonly cognitoAuth?: CognitoAuth;
7
+ readonly identityClient?: IdentityClient;
8
+ readonly credentialsStore?: CredentialsStore;
9
+ readonly configStore?: JigxConfigStore;
10
+ }
11
+ export interface WhoamiUser {
12
+ readonly fullName: string;
13
+ readonly email: string;
14
+ }
15
+ export interface WhoamiProjectOrganization {
16
+ readonly organizationId: string;
17
+ readonly organizationName: string;
18
+ }
19
+ export interface WhoamiResult {
20
+ readonly authenticated: boolean;
21
+ readonly environment: DeployEnvironment;
22
+ readonly user?: WhoamiUser;
23
+ readonly projectOrganization?: WhoamiProjectOrganization;
24
+ readonly formatted: string;
25
+ }
26
+ export declare function whoami(options: WhoamiOptions): Promise<WhoamiResult>;
27
+ //# sourceMappingURL=whoami.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/whoami/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EAEhB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAE5B,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAExC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;IACxC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAA;CACvC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;IAExD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAoBD,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAuD1E"}
@@ -0,0 +1,52 @@
1
+ import { COGNITO_CONFIG, CognitoAuth, CredentialsStore, IdentityClient, JigxConfigStore, RefreshExpiredError, } from '../auth/index.js';
2
+ function notLoggedIn(environment) {
3
+ return {
4
+ authenticated: false,
5
+ environment,
6
+ formatted: `Not logged in to ${environment}. Run jigx login --env ${environment}.`,
7
+ };
8
+ }
9
+ export async function whoami(options) {
10
+ const { projectRoot, environment = 'prod', cognitoAuth = new CognitoAuth(), identityClient = new IdentityClient(), credentialsStore = new CredentialsStore(), configStore = new JigxConfigStore(), } = options;
11
+ const cached = await credentialsStore.readUserHome({
12
+ environment,
13
+ userPoolId: COGNITO_CONFIG[environment].userPoolId,
14
+ });
15
+ if (!cached)
16
+ return notLoggedIn(environment);
17
+ let idToken;
18
+ try {
19
+ const refreshed = await cognitoAuth.refreshSession({
20
+ refreshToken: cached.refreshToken,
21
+ environment,
22
+ username: cached.userId,
23
+ });
24
+ idToken = refreshed.idToken;
25
+ }
26
+ catch (error) {
27
+ if (error instanceof RefreshExpiredError)
28
+ return notLoggedIn(environment);
29
+ throw error;
30
+ }
31
+ const me = await identityClient.getMe({ environment, idToken });
32
+ const config = await configStore.getEnvironment({ projectRoot, environment });
33
+ const projectOrganization = config
34
+ ? {
35
+ organizationId: config.organizationId,
36
+ organizationName: me.organizations.find((o) => o.organizationId === config.organizationId)
37
+ ?.organizationName ?? config.organizationId,
38
+ }
39
+ : undefined;
40
+ const lines = [`User: ${me.fullName}`, `Email: ${me.email}`];
41
+ if (projectOrganization) {
42
+ lines.push(`Project Organization: ${projectOrganization.organizationName} (${projectOrganization.organizationId})`);
43
+ }
44
+ return {
45
+ authenticated: true,
46
+ environment,
47
+ user: { fullName: me.fullName, email: me.email },
48
+ projectOrganization,
49
+ formatted: lines.join('\n'),
50
+ };
51
+ }
52
+ //# sourceMappingURL=whoami.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/whoami/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AAiCzB,SAAS,WAAW,CAAC,WAA8B,EAAgB;IACjE,OAAO;QACL,aAAa,EAAE,KAAK;QACpB,WAAW;QACX,SAAS,EAAE,oBAAoB,WAAW,0BAA0B,WAAW,GAAG;KACnF,CAAA;AAAA,CACF;AAYD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAsB,EAAyB;IAC1E,MAAM,EACJ,WAAW,EACX,WAAW,GAAG,MAAM,EACpB,WAAW,GAAG,IAAI,WAAW,EAAE,EAC/B,cAAc,GAAG,IAAI,cAAc,EAAE,EACrC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,EACzC,WAAW,GAAG,IAAI,eAAe,EAAE,GACpC,GAAG,OAAO,CAAA;IAEX,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC;QACjD,WAAW;QACX,UAAU,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU;KACnD,CAAC,CAAA;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,WAAW,CAAC,WAAW,CAAC,CAAA;IAE5C,IAAI,OAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC;YACjD,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW;YACX,QAAQ,EAAE,MAAM,CAAC,MAAM;SACxB,CAAC,CAAA;QACF,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,mBAAmB;YAAE,OAAO,WAAW,CAAC,WAAW,CAAC,CAAA;QACzE,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;IAE/D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;IAC7E,MAAM,mBAAmB,GAA0C,MAAM;QACvE,CAAC,CAAC;YACE,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EACd,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,MAAM,CAAC,cAAc,CAAC;gBACtE,EAAE,gBAAgB,IAAI,MAAM,CAAC,cAAc;SAChD;QACH,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;IAC5D,IAAI,mBAAmB,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CACR,yBAAyB,mBAAmB,CAAC,gBAAgB,KAAK,mBAAmB,CAAC,cAAc,GAAG,CACxG,CAAA;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,WAAW;QACX,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE;QAChD,mBAAmB;QACnB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;KAC5B,CAAA;AAAA,CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jigx/sdk-tools",
3
- "version": "1.1.0-rc",
3
+ "version": "1.1.0-rc.4",
4
4
  "description": "Jigx SDK toolkit (jigx CLI) — scaffold, build, and publish Jigx Application projects",
5
5
  "license": "ISC",
6
6
  "type": "module",
@@ -30,6 +30,21 @@
30
30
  "type": "git",
31
31
  "url": "git+https://github.com/jigx-com/jigx-sdk.git"
32
32
  },
33
+ "homepage": "https://github.com/jigx-com/jigx-sdk#readme",
34
+ "bugs": {
35
+ "url": "https://github.com/jigx-com/jigx-sdk/issues"
36
+ },
37
+ "keywords": [
38
+ "jigx",
39
+ "sdk",
40
+ "cli",
41
+ "scaffold",
42
+ "deploy",
43
+ "low-code",
44
+ "no-code",
45
+ "mobile",
46
+ "typescript"
47
+ ],
33
48
  "scripts": {
34
49
  "test": " NODE_OPTIONS='--max-old-space-size=4096' vitest run --reporter=dot",
35
50
  "test:debug": "NODE_OPTIONS='--max-old-space-size=4096' vitest run --no-threads --reporter=verbose",
@@ -44,6 +59,7 @@
44
59
  },
45
60
  "dependencies": {
46
61
  "@clack/prompts": "^0.11.0",
62
+ "amazon-cognito-identity-js": "^6.3.12",
47
63
  "tsx": "^4.21.0",
48
64
  "yaml": "^2.8.3"
49
65
  },
@@ -55,7 +71,7 @@
55
71
  "vitest": "*"
56
72
  },
57
73
  "publishConfig": {
58
- "access": "restricted",
74
+ "access": "public",
59
75
  "registry": "https://registry.npmjs.org/"
60
76
  }
61
- }
77
+ }
package/CHANGELOG.md DELETED
@@ -1,15 +0,0 @@
1
- # Changelog
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
-
10
- ## 1.0.0 (2026-05-05)
11
-
12
-
13
- ### Features
14
-
15
- * **sdk-tools:** scaffold + build + deploy CLI for solution-designers ([#824](https://github.com/jigx-com/jigx-sdk/issues/824)) ([dcced17](https://github.com/jigx-com/jigx-sdk/commit/dcced17d8a1fd84373e687aca2ce0b850a1aeb6a))
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=build.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.test.d.ts","sourceRoot":"","sources":["../../../src/builder/__tests__/build.test.ts"],"names":[],"mappings":""}
@@ -1,88 +0,0 @@
1
- import { mkdtemp, mkdir, readFile, readdir, rm, stat, writeFile } from 'node:fs/promises';
2
- import { tmpdir } from 'node:os';
3
- import path from 'node:path';
4
- import { afterEach, beforeEach, describe, expect, test } from 'vitest';
5
- import { parse as parseYaml } from 'yaml';
6
- import { build } from '../build.js';
7
- import { sampleApplication } from './fixtures/sample-application.js';
8
- async function createFixture(appSource) {
9
- const projectRoot = await mkdtemp(path.join(tmpdir(), 'jigx-sdk-tools-test-'));
10
- const srcDir = path.join(projectRoot, 'src');
11
- await mkdir(srcDir, { recursive: true });
12
- await writeFile(path.join(projectRoot, 'package.json'), JSON.stringify({ name: 'fixture', private: true, type: 'module' }), 'utf8');
13
- await writeFile(path.join(srcDir, 'app.ts'), appSource, 'utf8');
14
- return { projectRoot };
15
- }
16
- function appSourceFor(application) {
17
- return `export const app = { build: () => (${JSON.stringify(application)}) }\n`;
18
- }
19
- describe('Builder.build', () => {
20
- let fixture;
21
- beforeEach(() => {
22
- fixture = undefined;
23
- });
24
- afterEach(async () => {
25
- if (fixture) {
26
- await rm(fixture.projectRoot, { recursive: true, force: true });
27
- }
28
- });
29
- test('writes build/output.json and decomposes Application into build/app/', async () => {
30
- fixture = await createFixture(appSourceFor(sampleApplication));
31
- const result = await build({ projectRoot: fixture.projectRoot });
32
- expect(result.outputJsonPath).toBe(path.join(fixture.projectRoot, 'build', 'output.json'));
33
- expect(result.extractedFolderPath).toBe(path.join(fixture.projectRoot, 'build', 'app'));
34
- const json = JSON.parse(await readFile(result.outputJsonPath, 'utf8'));
35
- expect(json).toMatchObject({
36
- name: 'fixture-app',
37
- title: 'Fixture Application',
38
- category: 'business',
39
- });
40
- const index = parseYaml(await readFile(path.join(result.extractedFolderPath, 'index.jigx'), 'utf8'));
41
- expect(index).toEqual({
42
- title: 'Fixture Application',
43
- name: 'fixture-app',
44
- category: 'business',
45
- description: 'A fixture for tests',
46
- });
47
- const folders = await readdir(result.extractedFolderPath);
48
- expect(folders.sort()).toEqual([
49
- 'actions',
50
- 'assets',
51
- 'components',
52
- 'databases',
53
- 'datasources',
54
- 'functions',
55
- 'index.jigx',
56
- 'jigs',
57
- 'scripts',
58
- 'translations',
59
- ]);
60
- expect(result.filesExtracted).toBeGreaterThan(0);
61
- });
62
- test('does not write the legacy build/output.yaml', async () => {
63
- fixture = await createFixture(appSourceFor(sampleApplication));
64
- await build({ projectRoot: fixture.projectRoot });
65
- await expect(stat(path.join(fixture.projectRoot, 'build', 'output.yaml'))).rejects.toThrow();
66
- });
67
- test('throws when src/app.ts is missing', async () => {
68
- fixture = { projectRoot: await mkdtemp(path.join(tmpdir(), 'jigx-sdk-tools-test-')) };
69
- await expect(build({ projectRoot: fixture.projectRoot })).rejects.toThrow(/Application source not found/);
70
- });
71
- test('propagates errors thrown by the Application builder', async () => {
72
- fixture = await createFixture(`
73
- export const app = {
74
- build: () => {
75
- throw new Error('builder exploded')
76
- },
77
- }
78
- `);
79
- await expect(build({ projectRoot: fixture.projectRoot })).rejects.toThrow(/builder exploded/);
80
- });
81
- test('throws when src/app.ts has no named export `app`', async () => {
82
- fixture = await createFixture(`
83
- export const notApp = { build: () => ({}) }
84
- `);
85
- await expect(build({ projectRoot: fixture.projectRoot })).rejects.toThrow(/named export 'app'/);
86
- });
87
- });
88
- //# sourceMappingURL=build.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.test.js","sourceRoot":"","sources":["../../../src/builder/__tests__/build.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=extract-to-folder.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract-to-folder.test.d.ts","sourceRoot":"","sources":["../../../src/builder/__tests__/extract-to-folder.test.ts"],"names":[],"mappings":""}