@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.
- package/README.md +30 -51
- package/dist/auth/cognito-auth.d.ts +26 -0
- package/dist/auth/cognito-auth.d.ts.map +1 -0
- package/dist/auth/cognito-auth.js +150 -0
- package/dist/auth/cognito-auth.js.map +1 -0
- package/dist/auth/cognito-config.d.ts +10 -0
- package/dist/auth/cognito-config.d.ts.map +1 -0
- package/dist/auth/cognito-config.js +17 -0
- package/dist/auth/cognito-config.js.map +1 -0
- package/dist/auth/credentials-store.d.ts +34 -0
- package/dist/auth/credentials-store.d.ts.map +1 -0
- package/dist/auth/credentials-store.js +116 -0
- package/dist/auth/credentials-store.js.map +1 -0
- package/dist/auth/errors.d.ts +23 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/errors.js +39 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/identity-client.d.ts +19 -0
- package/dist/auth/identity-client.d.ts.map +1 -0
- package/dist/auth/identity-client.js +70 -0
- package/dist/auth/identity-client.js.map +1 -0
- package/dist/auth/index.d.ts +12 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +7 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/jigx-config-store.d.ts +27 -0
- package/dist/auth/jigx-config-store.d.ts.map +1 -0
- package/dist/auth/jigx-config-store.js +76 -0
- package/dist/auth/jigx-config-store.js.map +1 -0
- package/dist/cli.js +138 -14
- package/dist/cli.js.map +1 -1
- package/dist/deployer/deploy-to-strata.js +2 -2
- package/dist/deployer/deploy-to-strata.js.map +1 -1
- package/dist/deployer/deploy.d.ts +17 -0
- package/dist/deployer/deploy.d.ts.map +1 -1
- package/dist/deployer/deploy.js +90 -4
- package/dist/deployer/deploy.js.map +1 -1
- package/dist/deployer/index.d.ts +1 -1
- package/dist/deployer/index.d.ts.map +1 -1
- package/dist/deployer/index.js +1 -1
- package/dist/deployer/index.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/init/index.d.ts +2 -0
- package/dist/init/index.d.ts.map +1 -0
- package/dist/init/index.js +2 -0
- package/dist/init/index.js.map +1 -0
- package/dist/init/init.d.ts +45 -0
- package/dist/init/init.d.ts.map +1 -0
- package/dist/init/init.js +125 -0
- package/dist/init/init.js.map +1 -0
- package/dist/login/index.d.ts +3 -0
- package/dist/login/index.d.ts.map +1 -0
- package/dist/login/index.js +2 -0
- package/dist/login/index.js.map +1 -0
- package/dist/login/login.d.ts +19 -0
- package/dist/login/login.d.ts.map +1 -0
- package/dist/login/login.js +58 -0
- package/dist/login/login.js.map +1 -0
- package/dist/logout/index.d.ts +3 -0
- package/dist/logout/index.d.ts.map +1 -0
- package/dist/logout/index.js +2 -0
- package/dist/logout/index.js.map +1 -0
- package/dist/logout/logout.d.ts +26 -0
- package/dist/logout/logout.d.ts.map +1 -0
- package/dist/logout/logout.js +100 -0
- package/dist/logout/logout.js.map +1 -0
- package/dist/scaffolder/scaffold.d.ts.map +1 -1
- package/dist/scaffolder/scaffold.js +1 -4
- package/dist/scaffolder/scaffold.js.map +1 -1
- package/dist/scaffolder/templates.d.ts +0 -1
- package/dist/scaffolder/templates.d.ts.map +1 -1
- package/dist/scaffolder/templates.js +23 -47
- package/dist/scaffolder/templates.js.map +1 -1
- package/dist/whoami/index.d.ts +3 -0
- package/dist/whoami/index.d.ts.map +1 -0
- package/dist/whoami/index.js +2 -0
- package/dist/whoami/index.js.map +1 -0
- package/dist/whoami/whoami.d.ts +27 -0
- package/dist/whoami/whoami.d.ts.map +1 -0
- package/dist/whoami/whoami.js +52 -0
- package/dist/whoami/whoami.js.map +1 -0
- package/package.json +19 -3
- package/CHANGELOG.md +0 -15
- package/dist/builder/__tests__/build.test.d.ts +0 -2
- package/dist/builder/__tests__/build.test.d.ts.map +0 -1
- package/dist/builder/__tests__/build.test.js +0 -88
- package/dist/builder/__tests__/build.test.js.map +0 -1
- package/dist/builder/__tests__/extract-to-folder.test.d.ts +0 -2
- package/dist/builder/__tests__/extract-to-folder.test.d.ts.map +0 -1
- package/dist/builder/__tests__/extract-to-folder.test.js +0 -198
- package/dist/builder/__tests__/extract-to-folder.test.js.map +0 -1
- package/dist/builder/__tests__/fixtures/sample-application.d.ts +0 -2
- package/dist/builder/__tests__/fixtures/sample-application.d.ts.map +0 -1
- package/dist/builder/__tests__/fixtures/sample-application.js +0 -56
- package/dist/builder/__tests__/fixtures/sample-application.js.map +0 -1
- package/dist/creator/__tests__/create.test.d.ts +0 -2
- package/dist/creator/__tests__/create.test.d.ts.map +0 -1
- package/dist/creator/__tests__/create.test.js +0 -93
- package/dist/creator/__tests__/create.test.js.map +0 -1
- package/dist/deployer/__tests__/deploy-to-strata.test.d.ts +0 -2
- package/dist/deployer/__tests__/deploy-to-strata.test.d.ts.map +0 -1
- package/dist/deployer/__tests__/deploy-to-strata.test.js +0 -174
- package/dist/deployer/__tests__/deploy-to-strata.test.js.map +0 -1
- package/dist/deployer/__tests__/deploy.test.d.ts +0 -2
- package/dist/deployer/__tests__/deploy.test.d.ts.map +0 -1
- package/dist/deployer/__tests__/deploy.test.js +0 -116
- package/dist/deployer/__tests__/deploy.test.js.map +0 -1
- package/dist/env-loader/__tests__/load-env.test.d.ts +0 -2
- package/dist/env-loader/__tests__/load-env.test.d.ts.map +0 -1
- package/dist/env-loader/__tests__/load-env.test.js +0 -46
- package/dist/env-loader/__tests__/load-env.test.js.map +0 -1
- package/dist/env-loader/index.d.ts +0 -3
- package/dist/env-loader/index.d.ts.map +0 -1
- package/dist/env-loader/index.js +0 -2
- package/dist/env-loader/index.js.map +0 -1
- package/dist/env-loader/load-env.d.ts +0 -12
- package/dist/env-loader/load-env.d.ts.map +0 -1
- package/dist/env-loader/load-env.js +0 -50
- package/dist/env-loader/load-env.js.map +0 -1
- package/dist/scaffolder/__tests__/scaffold.test.d.ts +0 -2
- package/dist/scaffolder/__tests__/scaffold.test.d.ts.map +0 -1
- package/dist/scaffolder/__tests__/scaffold.test.js +0 -124
- package/dist/scaffolder/__tests__/scaffold.test.js.map +0 -1
- package/dist/slug/__tests__/validate.test.d.ts +0 -2
- package/dist/slug/__tests__/validate.test.d.ts.map +0 -1
- package/dist/slug/__tests__/validate.test.js +0 -51
- 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":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAgCnE,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,cAAc;QACZ,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IAAA,CACnC;CACF;AAGD,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,cAAc;QACZ,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IAAA,CACtC;CACF;AAED,MAAM,SAAS,GAAiC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAE/D,SAAS,kBAAkB,CAAI,KAAiB,EAAK;IACnD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAC3B,MAAM,IAAI,oBAAoB,EAAE,CAAA;IAClC,CAAC;IACD,OAAO,KAAK,CAAA;AAAA,CACb;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAoC,EAAwB;IAC5F,MAAM,MAAM,GAAG,kBAAkB,CAC/B,MAAM,MAAM,CAAc;QACxB,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAA+B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAChF,EAAE,KAAK,EAAE,KAA2B,EAAE,KAAK,EAAE,KAAK,EAAE;SACrD;QACD,YAAY,EAAE,KAAK;KACpB,CAAC,CACH,CAAA;IACD,OAAO,MAAM,CAAA;AAAA,CACd;AAED,KAAK,UAAU,aAAa,CAAC,KAAuB,EAAgC;IAClF,MAAM,MAAM,GAAwB,EAAE,CAAA;IACtC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;YACtC,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU;SAC3C,CAAC,CAAA;QACF,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IACD,OAAO,MAAM,CAAA;AAAA,CACd;AAYD,KAAK,UAAU,YAAY,CAAC,OAA4B,EAA0B;IAChF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAEnC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAA;IACvE,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACnD,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAA;IAC7D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,MAAM,KAAK,KAAK;QACrB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE;QACtC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAA;AAAA,CACzC;AAED,SAAS,WAAW,CAAC,KAA2B,EAAU;IACxD,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,kBAAkB,CAAA;IAC9C,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,MAAM,CAAA;IACnC,OAAO,KAAK,CAAA;AAAA,CACb;AAED,SAAS,aAAa,CAAC,OAAyB,EAAU;IACxD,IAAI,OAAO,CAAC,mBAAmB;QAAE,OAAO,6BAA6B,OAAO,CAAC,WAAW,GAAG,CAAA;IAC3F,OAAO,GAAG,OAAO,CAAC,WAAW,kBAAkB,CAAA;AAAA,CAChD;AAcD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAsB,EAAyB;IAC1E,MAAM,EAAE,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,EAAE,GAAG,OAAO,CAAA;IAE7D,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,IAAI,uBAAuB,EAAE,CAAA;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,CAAA;IACpD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IAElE,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAA;IAClE,CAAC;IAED,MAAM,QAAQ,GAAuB,EAAE,CAAA;IACvC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC;YAClD,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU;SAC3C,CAAC,CAAA;QACF,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACzC,KAAK,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEpD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;AAAA,CACxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/scaffolder/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,eAAe,
|
|
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,
|
|
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,
|
|
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,
|
|
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 ['
|
|
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
|
-
##
|
|
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
|
-
|
|
70
|
+
jigx deploy
|
|
96
71
|
\`\`\`
|
|
97
72
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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":"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
|
|
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 @@
|
|
|
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 @@
|
|
|
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": "
|
|
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 +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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract-to-folder.test.d.ts","sourceRoot":"","sources":["../../../src/builder/__tests__/extract-to-folder.test.ts"],"names":[],"mappings":""}
|