@aws-blocks/core 0.1.18 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdk/__fixtures__/import-meta-handler.d.ts +6 -0
- package/dist/cdk/__fixtures__/import-meta-handler.d.ts.map +1 -0
- package/dist/cdk/__fixtures__/import-meta-handler.js +13 -0
- package/dist/cdk/blocks-backend.d.ts +46 -9
- package/dist/cdk/blocks-backend.d.ts.map +1 -1
- package/dist/cdk/blocks-backend.js +66 -67
- package/dist/cdk/blocks-backend.test.js +114 -56
- package/dist/cdk/blocks-defaults.d.ts +70 -0
- package/dist/cdk/blocks-defaults.d.ts.map +1 -0
- package/dist/cdk/blocks-defaults.js +27 -0
- package/dist/cdk/blocks-defaults.test.d.ts +2 -0
- package/dist/cdk/blocks-defaults.test.d.ts.map +1 -0
- package/dist/cdk/blocks-defaults.test.js +24 -0
- package/dist/cdk/blocks-stack.test.js +74 -31
- package/dist/cdk/bundling.d.ts +42 -0
- package/dist/cdk/bundling.d.ts.map +1 -0
- package/dist/cdk/bundling.js +72 -0
- package/dist/cdk/bundling.test.d.ts +2 -0
- package/dist/cdk/bundling.test.d.ts.map +1 -0
- package/dist/cdk/bundling.test.js +80 -0
- package/dist/cdk/compute/compute.d.ts +33 -0
- package/dist/cdk/compute/compute.d.ts.map +1 -0
- package/dist/cdk/compute/compute.js +28 -0
- package/dist/cdk/compute/default-compute-factory.d.ts +33 -0
- package/dist/cdk/compute/default-compute-factory.d.ts.map +1 -0
- package/dist/cdk/compute/default-compute-factory.js +3 -0
- package/dist/cdk/index.d.ts +92 -12
- package/dist/cdk/index.d.ts.map +1 -1
- package/dist/cdk/index.js +141 -25
- package/dist/cdk/internal.d.ts +25 -0
- package/dist/cdk/internal.d.ts.map +1 -0
- package/dist/cdk/internal.js +27 -0
- package/dist/cdk/mixins.d.ts +18 -4
- package/dist/cdk/mixins.d.ts.map +1 -1
- package/dist/cdk/mixins.js +31 -7
- package/dist/cdk/mixins.test.js +45 -0
- package/dist/common/index.d.ts +9 -0
- package/dist/common/index.d.ts.map +1 -1
- package/dist/hosting-secrets.d.ts +48 -0
- package/dist/hosting-secrets.d.ts.map +1 -0
- package/dist/hosting-secrets.js +57 -0
- package/dist/hosting-secrets.test.d.ts +2 -0
- package/dist/hosting-secrets.test.d.ts.map +1 -0
- package/dist/hosting-secrets.test.js +81 -0
- package/dist/hosting.d.ts +88 -6
- package/dist/hosting.d.ts.map +1 -1
- package/dist/hosting.js +83 -24
- package/dist/hosting.test.js +158 -10
- package/dist/index.cdk.d.ts +13 -11
- package/dist/index.cdk.d.ts.map +1 -1
- package/dist/index.cdk.js +13 -8
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -5
- package/dist/lambda-handler.test.js +66 -0
- package/dist/pipeline/index.d.ts +24 -2
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +41 -1
- package/dist/pipeline.test.d.ts +2 -0
- package/dist/pipeline.test.d.ts.map +1 -0
- package/dist/pipeline.test.js +47 -0
- package/dist/rpc.d.ts +21 -0
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +46 -3
- package/dist/rpc.test.js +58 -1
- package/dist/scripts/config.d.ts +15 -0
- package/dist/scripts/config.d.ts.map +1 -0
- package/dist/scripts/config.js +29 -0
- package/dist/scripts/deploy.d.ts.map +1 -1
- package/dist/scripts/deploy.js +4 -0
- package/dist/scripts/dev-server.d.ts +8 -0
- package/dist/scripts/dev-server.d.ts.map +1 -1
- package/dist/scripts/dev-server.js +31 -0
- package/dist/scripts/generate-client.d.ts.map +1 -1
- package/dist/scripts/generate-client.js +9 -4
- package/dist/scripts/generate-client.test.js +19 -4
- package/dist/scripts/index.d.ts +13 -10
- package/dist/scripts/index.d.ts.map +1 -1
- package/dist/scripts/index.js +11 -8
- package/dist/scripts/preflight-credentials.d.ts +30 -0
- package/dist/scripts/preflight-credentials.d.ts.map +1 -0
- package/dist/scripts/preflight-credentials.js +108 -0
- package/dist/scripts/preflight-credentials.test.d.ts +2 -0
- package/dist/scripts/preflight-credentials.test.d.ts.map +1 -0
- package/dist/scripts/preflight-credentials.test.js +77 -0
- package/dist/scripts/sandbox-args.test.d.ts +2 -0
- package/dist/scripts/sandbox-args.test.d.ts.map +1 -0
- package/dist/scripts/sandbox-args.test.js +77 -0
- package/dist/scripts/sandbox.d.ts +52 -0
- package/dist/scripts/sandbox.d.ts.map +1 -1
- package/dist/scripts/sandbox.js +92 -15
- package/dist/scripts/secret.d.ts +15 -0
- package/dist/scripts/secret.d.ts.map +1 -0
- package/dist/scripts/secret.js +29 -0
- package/dist/scripts/secret.test.d.ts +2 -0
- package/dist/scripts/secret.test.d.ts.map +1 -0
- package/dist/scripts/secret.test.js +28 -0
- package/dist/scripts/telemetry.test.js +2 -0
- package/dist/scripts/typegen.d.ts +15 -0
- package/dist/scripts/typegen.d.ts.map +1 -0
- package/dist/scripts/typegen.js +16 -0
- package/dist/secret-naming.d.ts +58 -0
- package/dist/secret-naming.d.ts.map +1 -0
- package/dist/secret-naming.js +67 -0
- package/dist/secret-naming.test.d.ts +2 -0
- package/dist/secret-naming.test.d.ts.map +1 -0
- package/dist/secret-naming.test.js +40 -0
- package/dist/telemetry/environment.d.ts.map +1 -1
- package/dist/telemetry/environment.js +3 -1
- package/dist/telemetry/telemetry.test.js +10 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +7 -1
- package/src/cdk/__fixtures__/import-meta-handler.ts +16 -0
- package/src/cdk/blocks-backend.test.ts +308 -237
- package/src/cdk/blocks-backend.ts +98 -77
- package/src/cdk/blocks-defaults.test.ts +27 -0
- package/src/cdk/blocks-defaults.ts +75 -0
- package/src/cdk/blocks-stack.test.ts +160 -110
- package/src/cdk/bundling.test.ts +90 -0
- package/src/cdk/bundling.ts +76 -0
- package/src/cdk/compute/compute.ts +37 -0
- package/src/cdk/compute/default-compute-factory.ts +37 -0
- package/src/cdk/index.ts +178 -27
- package/src/cdk/internal.ts +30 -0
- package/src/cdk/mixins.test.ts +56 -1
- package/src/cdk/mixins.ts +32 -7
- package/src/common/index.ts +9 -0
- package/src/hosting-secrets.test.ts +106 -0
- package/src/hosting-secrets.ts +106 -0
- package/src/hosting.test.ts +244 -63
- package/src/hosting.ts +180 -68
- package/src/index.cdk.ts +79 -36
- package/src/index.ts +35 -16
- package/src/lambda-handler.test.ts +74 -0
- package/src/pipeline/index.ts +64 -11
- package/src/pipeline.test.ts +55 -0
- package/src/rpc.test.ts +66 -1
- package/src/rpc.ts +60 -3
- package/src/scripts/config.ts +35 -0
- package/src/scripts/deploy.ts +5 -0
- package/src/scripts/dev-server.ts +40 -0
- package/src/scripts/generate-client.test.ts +43 -8
- package/src/scripts/generate-client.ts +70 -65
- package/src/scripts/index.ts +20 -17
- package/src/scripts/preflight-credentials.test.ts +110 -0
- package/src/scripts/preflight-credentials.ts +131 -0
- package/src/scripts/sandbox-args.test.ts +92 -0
- package/src/scripts/sandbox.ts +102 -15
- package/src/scripts/secret.test.ts +35 -0
- package/src/scripts/secret.ts +35 -0
- package/src/scripts/telemetry.test.ts +2 -0
- package/src/scripts/typegen.ts +18 -0
- package/src/secret-naming.test.ts +59 -0
- package/src/secret-naming.ts +99 -0
- package/src/telemetry/environment.ts +3 -1
- package/src/telemetry/telemetry.test.ts +12 -0
- package/src/version.ts +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-naming.test.d.ts","sourceRoot":"","sources":["../src/secret-naming.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import assert from 'node:assert';
|
|
4
|
+
import { describe, it } from 'node:test';
|
|
5
|
+
import { secretStoreLocator } from '@aws-blocks/hosting';
|
|
6
|
+
import { BLOCKS_CONFIG_PARAMETER_PREFIX, BLOCKS_SECRET_PARAMETER_PREFIX, blocksConfigParameterName, blocksConfigPrefix, blocksSecretParameterName, blocksSecretPrefix, blocksStoreConfig, } from './secret-naming.js';
|
|
7
|
+
// These run with no `.blocks/config.json` in cwd, so they exercise the UNSCOPED
|
|
8
|
+
// fallback. A real Blocks app has the file, so it gets the `stackId`-scoped path
|
|
9
|
+
// (covered by the explicit-stackId cases below).
|
|
10
|
+
void describe('Blocks value namespaces — fallback (no .blocks/config.json)', () => {
|
|
11
|
+
void it('falls back to the unscoped /blocks/secrets and /blocks/config bases', () => {
|
|
12
|
+
assert.strictEqual(BLOCKS_SECRET_PARAMETER_PREFIX, '/blocks/secrets');
|
|
13
|
+
assert.strictEqual(BLOCKS_CONFIG_PARAMETER_PREFIX, '/blocks/config');
|
|
14
|
+
// Secrets Manager names are slash-free at the root; SSM keeps the leading slash.
|
|
15
|
+
assert.strictEqual(blocksSecretParameterName('STRIPE_KEY'), 'blocks/secrets/STRIPE_KEY');
|
|
16
|
+
assert.strictEqual(blocksConfigParameterName('FEATURE_FLAGS'), '/blocks/config/FEATURE_FLAGS');
|
|
17
|
+
assert.deepStrictEqual(blocksStoreConfig(), {
|
|
18
|
+
secretStore: { prefix: '/blocks/secrets' },
|
|
19
|
+
configStore: { prefix: '/blocks/config' },
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
void it('matches the store locator the CLI/grant/runtime actually use (no divergent name)', () => {
|
|
23
|
+
assert.strictEqual(blocksSecretParameterName('K'), secretStoreLocator('K', { prefix: BLOCKS_SECRET_PARAMETER_PREFIX, store: 'secrets-manager' }));
|
|
24
|
+
assert.strictEqual(blocksConfigParameterName('K'), secretStoreLocator('K', { prefix: BLOCKS_CONFIG_PARAMETER_PREFIX, store: 'ssm' }));
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
void describe('Blocks value namespaces — stackId-scoped (B5)', () => {
|
|
28
|
+
void it('scopes the prefix by stackId so two apps in one account never collide', () => {
|
|
29
|
+
assert.strictEqual(blocksSecretPrefix('myapp'), '/blocks/myapp/secrets');
|
|
30
|
+
assert.strictEqual(blocksConfigPrefix('myapp'), '/blocks/myapp/config');
|
|
31
|
+
assert.deepStrictEqual(blocksStoreConfig('myapp'), {
|
|
32
|
+
secretStore: { prefix: '/blocks/myapp/secrets' },
|
|
33
|
+
configStore: { prefix: '/blocks/myapp/config' },
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
void it('scoped store names match secretStoreLocator (SM slash-free, SSM leading-slash)', () => {
|
|
37
|
+
assert.strictEqual(blocksSecretParameterName('STRIPE_KEY', 'myapp'), 'blocks/myapp/secrets/STRIPE_KEY');
|
|
38
|
+
assert.strictEqual(blocksConfigParameterName('FEATURE_FLAGS', 'myapp'), '/blocks/myapp/config/FEATURE_FLAGS');
|
|
39
|
+
});
|
|
40
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/telemetry/environment.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,GAAG,QAAQ,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,IAAI,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/telemetry/environment.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,GAAG,QAAQ,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,IAAI,IAAI,OAAO,CAgB9B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAEzD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,SAAS,CAiBhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IACpC,EAAE,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAwBA"}
|
|
@@ -25,7 +25,9 @@ export function isCI() {
|
|
|
25
25
|
process.env.JENKINS_URL ||
|
|
26
26
|
process.env.TF_BUILD ||
|
|
27
27
|
process.env.BITBUCKET_BUILD_NUMBER ||
|
|
28
|
-
process.env.BUILDKITE
|
|
28
|
+
process.env.BUILDKITE ||
|
|
29
|
+
process.env.RENDER ||
|
|
30
|
+
process.env.TASKCLUSTER_ROOT_URL);
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
31
33
|
* Detect the package manager from npm_config_user_agent.
|
|
@@ -117,6 +117,8 @@ describe('telemetry/environment', () => {
|
|
|
117
117
|
delete process.env.TF_BUILD;
|
|
118
118
|
delete process.env.BITBUCKET_BUILD_NUMBER;
|
|
119
119
|
delete process.env.BUILDKITE;
|
|
120
|
+
delete process.env.RENDER;
|
|
121
|
+
delete process.env.TASKCLUSTER_ROOT_URL;
|
|
120
122
|
});
|
|
121
123
|
it('returns false when no CI env vars set', () => {
|
|
122
124
|
assert.strictEqual(isCI(), false);
|
|
@@ -133,6 +135,14 @@ describe('telemetry/environment', () => {
|
|
|
133
135
|
process.env.CODEBUILD_BUILD_ID = 'build-123';
|
|
134
136
|
assert.strictEqual(isCI(), true);
|
|
135
137
|
});
|
|
138
|
+
it('returns true when RENDER is set', () => {
|
|
139
|
+
process.env.RENDER = 'true';
|
|
140
|
+
assert.strictEqual(isCI(), true);
|
|
141
|
+
});
|
|
142
|
+
it('returns true when TASKCLUSTER_ROOT_URL is set', () => {
|
|
143
|
+
process.env.TASKCLUSTER_ROOT_URL = 'https://tc.example.com';
|
|
144
|
+
assert.strictEqual(isCI(), true);
|
|
145
|
+
});
|
|
136
146
|
});
|
|
137
147
|
it('detectOS returns a valid platform', () => {
|
|
138
148
|
const os = detectOS();
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CORE_VERSION = "0.
|
|
1
|
+
export declare const CORE_VERSION = "0.3.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,UAAU,CAAC"}
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by scripts/generate-version.mjs — do not edit manually
|
|
2
|
-
export const CORE_VERSION = '0.
|
|
2
|
+
export const CORE_VERSION = '0.3.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-blocks/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/aws-devtools-labs/aws-blocks.git",
|
|
@@ -32,6 +32,10 @@
|
|
|
32
32
|
"types": "./dist/index.cdk.js",
|
|
33
33
|
"default": "./dist/index.cdk.js"
|
|
34
34
|
},
|
|
35
|
+
"./cdk/internal": {
|
|
36
|
+
"types": "./dist/cdk/internal.d.ts",
|
|
37
|
+
"default": "./dist/cdk/internal.js"
|
|
38
|
+
},
|
|
35
39
|
"./client": "./dist/client/index.js",
|
|
36
40
|
"./lambda-handler": "./dist/lambda-handler.js",
|
|
37
41
|
"./bb-utils": {
|
|
@@ -67,6 +71,7 @@
|
|
|
67
71
|
"@types/cross-spawn": "^6.0.6",
|
|
68
72
|
"@types/http-proxy": "^1.17.16",
|
|
69
73
|
"@types/node": "^20.0.0",
|
|
74
|
+
"esbuild": "^0.27.0",
|
|
70
75
|
"typescript": "^5.3.0",
|
|
71
76
|
"unctx": "^2.0.0"
|
|
72
77
|
},
|
|
@@ -75,6 +80,7 @@
|
|
|
75
80
|
"@aws-blocks/pipeline": "*",
|
|
76
81
|
"@aws-sdk/client-s3": "^3.700.0",
|
|
77
82
|
"@aws-sdk/client-ssm": "^3.700.0",
|
|
83
|
+
"@aws-sdk/client-sts": "^3.700.0",
|
|
78
84
|
"cross-spawn": "^7.0.6",
|
|
79
85
|
"http-proxy": "^1.18.1"
|
|
80
86
|
},
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
// Repro fixture for the "handler bundles to CJS but uses import.meta.url" bug.
|
|
5
|
+
//
|
|
6
|
+
// The handler is bundled to CJS by NodejsFunction. In a CJS bundle `import.meta`
|
|
7
|
+
// is empty, so this top-level `fileURLToPath(import.meta.url)` would become
|
|
8
|
+
// `fileURLToPath(undefined)` and throw at Lambda load. blocksNodejsBundling shims
|
|
9
|
+
// `import.meta.url` to a CommonJS equivalent, so the bundle loads and resolves a
|
|
10
|
+
// real path instead of crashing — see bundling.test.ts.
|
|
11
|
+
import { fileURLToPath } from 'node:url';
|
|
12
|
+
|
|
13
|
+
export const moduleDir = fileURLToPath(import.meta.url);
|
|
14
|
+
|
|
15
|
+
// Reference moduleDir so esbuild can't tree-shake the import.meta.url usage away.
|
|
16
|
+
export const handler = async () => ({ statusCode: 200, body: JSON.stringify({ moduleDir }) });
|