@nikovirtala/projen-localstack 0.0.0 → 1.0.1
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/.jsii +9 -4
- package/API.md +3 -3
- package/README.md +2 -3
- package/lib/index.d.ts +1 -1
- package/lib/index.js +4 -4
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
},
|
|
103
103
|
"name": "@nikovirtala/projen-localstack",
|
|
104
104
|
"readme": {
|
|
105
|
-
"markdown": "# projen-localstack\n\nLocalStack component for projen projects.\n\n## Installation\n\n```bash\nnpm install @nikovirtala/projen-localstack\n```\n\n## Usage\n\nAdd the LocalStack component to your projen project:\n\n```typescript\nimport { LocalStack } from \"@nikovirtala/projen-localstack\";\nimport { javascript } from \"projen\";\n\nconst project = new javascript.NodeProject({\n name: \"my-project\",\n defaultReleaseBranch: \"main\",\n});\n\nnew LocalStack(project);\n\nproject.synth();\n```\n\n## Configuration\n\nThe LocalStack component accepts the following options:\n\n```typescript\nnew LocalStack(project, {\n services: \"s3,lambda,dynamodb\", // Specific services to enable\n port: 4566, // LocalStack gateway port (default: 4566)\n debug: true, // Enable debug mode (default: false)\n imageTag: \"latest\", // Docker image tag (default: \"latest\")\n});\n```\n\n## Features\n\n- Automatically installs LocalStack
|
|
105
|
+
"markdown": "# projen-localstack\n\nLocalStack component for projen projects.\n\n## Installation\n\n```bash\nnpm install @nikovirtala/projen-localstack\n```\n\n## Usage\n\nAdd the LocalStack component to your projen project:\n\n```typescript\nimport { LocalStack } from \"@nikovirtala/projen-localstack\";\nimport { javascript } from \"projen\";\n\nconst project = new javascript.NodeProject({\n name: \"my-project\",\n defaultReleaseBranch: \"main\",\n});\n\nnew LocalStack(project);\n\nproject.synth();\n```\n\n## Configuration\n\nThe LocalStack component accepts the following options:\n\n```typescript\nnew LocalStack(project, {\n services: [\"s3\", \"lambda\", \"dynamodb\"], // Specific services to enable\n port: 4566, // LocalStack gateway port (default: 4566)\n debug: true, // Enable debug mode (default: false)\n imageTag: \"latest\", // Docker image tag (default: \"latest\")\n});\n```\n\n## Features\n\n- Automatically installs LocalStack and Colima via Homebrew\n- Creates tasks to manage Colima and LocalStack\n- Adds `aws-cdk-local` to devDependencies\n- Integrates with test task to start LocalStack before tests\n\n## Tasks\n\nThe component creates the following tasks:\n\n- `colima` - Starts Colima if not already running\n- `localstack` - Starts LocalStack if not already running\n\n## License\n\nMIT\n"
|
|
106
106
|
},
|
|
107
107
|
"repository": {
|
|
108
108
|
"type": "git",
|
|
@@ -240,13 +240,18 @@
|
|
|
240
240
|
"name": "services",
|
|
241
241
|
"optional": true,
|
|
242
242
|
"type": {
|
|
243
|
-
"
|
|
243
|
+
"collection": {
|
|
244
|
+
"elementtype": {
|
|
245
|
+
"primitive": "string"
|
|
246
|
+
},
|
|
247
|
+
"kind": "array"
|
|
248
|
+
}
|
|
244
249
|
}
|
|
245
250
|
}
|
|
246
251
|
],
|
|
247
252
|
"symbolId": "src/index:LocalStackOptions"
|
|
248
253
|
}
|
|
249
254
|
},
|
|
250
|
-
"version": "
|
|
251
|
-
"fingerprint": "
|
|
255
|
+
"version": "1.0.1",
|
|
256
|
+
"fingerprint": "2wbt+5Zq0AsWixLwsor71HhHT/BiZR40MyRTVQzQtto="
|
|
252
257
|
}
|
package/API.md
CHANGED
|
@@ -190,7 +190,7 @@ const localStackOptions: LocalStackOptions = { ... }
|
|
|
190
190
|
| <code><a href="#@nikovirtala/projen-localstack.LocalStackOptions.property.debug">debug</a></code> | <code>boolean</code> | Enable LocalStack debug mode. |
|
|
191
191
|
| <code><a href="#@nikovirtala/projen-localstack.LocalStackOptions.property.imageTag">imageTag</a></code> | <code>string</code> | LocalStack Docker image tag. |
|
|
192
192
|
| <code><a href="#@nikovirtala/projen-localstack.LocalStackOptions.property.port">port</a></code> | <code>number</code> | LocalStack gateway port. |
|
|
193
|
-
| <code><a href="#@nikovirtala/projen-localstack.LocalStackOptions.property.services">services</a></code> | <code>string</code> | LocalStack services to enable. |
|
|
193
|
+
| <code><a href="#@nikovirtala/projen-localstack.LocalStackOptions.property.services">services</a></code> | <code>string[]</code> | LocalStack services to enable. |
|
|
194
194
|
|
|
195
195
|
---
|
|
196
196
|
|
|
@@ -236,10 +236,10 @@ LocalStack gateway port.
|
|
|
236
236
|
##### `services`<sup>Optional</sup> <a name="services" id="@nikovirtala/projen-localstack.LocalStackOptions.property.services"></a>
|
|
237
237
|
|
|
238
238
|
```typescript
|
|
239
|
-
public readonly services: string;
|
|
239
|
+
public readonly services: string[];
|
|
240
240
|
```
|
|
241
241
|
|
|
242
|
-
- *Type:* string
|
|
242
|
+
- *Type:* string[]
|
|
243
243
|
- *Default:* all services enabled
|
|
244
244
|
|
|
245
245
|
LocalStack services to enable.
|
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ The LocalStack component accepts the following options:
|
|
|
32
32
|
|
|
33
33
|
```typescript
|
|
34
34
|
new LocalStack(project, {
|
|
35
|
-
services: "s3,lambda,dynamodb", // Specific services to enable
|
|
35
|
+
services: ["s3", "lambda", "dynamodb"], // Specific services to enable
|
|
36
36
|
port: 4566, // LocalStack gateway port (default: 4566)
|
|
37
37
|
debug: true, // Enable debug mode (default: false)
|
|
38
38
|
imageTag: "latest", // Docker image tag (default: "latest")
|
|
@@ -41,8 +41,7 @@ new LocalStack(project, {
|
|
|
41
41
|
|
|
42
42
|
## Features
|
|
43
43
|
|
|
44
|
-
- Automatically installs LocalStack via Homebrew
|
|
45
|
-
- Checks for Docker and installs Colima if needed
|
|
44
|
+
- Automatically installs LocalStack and Colima via Homebrew
|
|
46
45
|
- Creates tasks to manage Colima and LocalStack
|
|
47
46
|
- Adds `aws-cdk-local` to devDependencies
|
|
48
47
|
- Integrates with test task to start LocalStack before tests
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -27,10 +27,10 @@ class LocalStack extends component_1.Component {
|
|
|
27
27
|
});
|
|
28
28
|
const envVars = [`LOCALSTACK_PORT=${port}`, `LOCALSTACK_DEBUG=${debug ? "1" : "0"}`];
|
|
29
29
|
if (options.services) {
|
|
30
|
-
envVars.push(`SERVICES=${options.services}`);
|
|
30
|
+
envVars.push(`SERVICES=${options.services.join(",")}`);
|
|
31
31
|
}
|
|
32
32
|
const localstackTask = project.addTask("localstack", {
|
|
33
|
-
exec: `localstack status ||
|
|
33
|
+
exec: `localstack status | grep -q running || ${envVars.join(" ")} localstack start -d`,
|
|
34
34
|
});
|
|
35
35
|
localstackTask.prependSpawn(colimaTask);
|
|
36
36
|
project.addDevDeps("aws-cdk-local");
|
|
@@ -42,5 +42,5 @@ class LocalStack extends component_1.Component {
|
|
|
42
42
|
}
|
|
43
43
|
exports.LocalStack = LocalStack;
|
|
44
44
|
_a = JSII_RTTI_SYMBOL_1;
|
|
45
|
-
LocalStack[_a] = { fqn: "@nikovirtala/projen-localstack.LocalStack", version: "
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
LocalStack[_a] = { fqn: "@nikovirtala/projen-localstack.LocalStack", version: "1.0.1" };
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0RkFBaUY7QUFDakYsb0RBQWlEO0FBZ0NqRDs7OztHQUlHO0FBQ0gsTUFBYSxVQUFXLFNBQVEscUJBQVM7SUFDckMsWUFBWSxPQUFvQixFQUFFLFVBQTZCLEVBQUU7UUFDN0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7UUFFckMsSUFBSSxRQUFRLEdBQUcsbURBQW9CLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLFFBQVEsR0FBRyxJQUFJLG1EQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN6QyxJQUFJLEVBQUUsK0NBQStDO1NBQ3hELENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHLENBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFFLG9CQUFvQixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRixJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUNqRCxJQUFJLEVBQUUsMENBQTBDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHNCQUFzQjtTQUMxRixDQUFDLENBQUM7UUFFSCxjQUFjLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhDLE9BQU8sQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFcEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLFFBQVEsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7O0FBckNMLGdDQXNDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhvbWVicmV3RGVwZW5kZW5jaWVzIH0gZnJvbSBcIkBuaWtvdmlydGFsYS9wcm9qZW4taG9tZWJyZXctZGVwZW5kZW5jaWVzXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgTm9kZVByb2plY3QgfSBmcm9tIFwicHJvamVuL2xpYi9qYXZhc2NyaXB0XCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgTG9jYWxTdGFjayBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxTdGFja09wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIExvY2FsU3RhY2sgc2VydmljZXMgdG8gZW5hYmxlLlxuICAgICAqIEBkZWZhdWx0IC0gYWxsIHNlcnZpY2VzIGVuYWJsZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBzZXJ2aWNlcz86IHN0cmluZ1tdO1xuXG4gICAgLyoqXG4gICAgICogTG9jYWxTdGFjayBnYXRld2F5IHBvcnQuXG4gICAgICogQGRlZmF1bHQgNDU2NlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBFbmFibGUgTG9jYWxTdGFjayBkZWJ1ZyBtb2RlLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVidWc/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogTG9jYWxTdGFjayBEb2NrZXIgaW1hZ2UgdGFnLlxuICAgICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICAgKi9cbiAgICByZWFkb25seSBpbWFnZVRhZz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBMb2NhbFN0YWNrIGNvbXBvbmVudCBmb3IgcHJvamVuIHByb2plY3RzLlxuICpcbiAqIEFkZHMgTG9jYWxTdGFjayBzdXBwb3J0IHRvIHlvdXIgcHJvamVjdCB3aXRoIGF1dG9tYXRpYyBEb2NrZXIvQ29saW1hIHNldHVwLlxuICovXG5leHBvcnQgY2xhc3MgTG9jYWxTdGFjayBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM6IExvY2FsU3RhY2tPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAgICAgY29uc3QgcG9ydCA9IG9wdGlvbnMucG9ydCA/PyA0NTY2O1xuICAgICAgICBjb25zdCBkZWJ1ZyA9IG9wdGlvbnMuZGVidWcgPz8gZmFsc2U7XG5cbiAgICAgICAgbGV0IGhvbWVicmV3ID0gSG9tZWJyZXdEZXBlbmRlbmNpZXMub2YocHJvamVjdCk7XG4gICAgICAgIGlmICghaG9tZWJyZXcpIHtcbiAgICAgICAgICAgIGhvbWVicmV3ID0gbmV3IEhvbWVicmV3RGVwZW5kZW5jaWVzKHByb2plY3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgaG9tZWJyZXcuYWRkUGFja2FnZShcImNvbGltYVwiKTtcbiAgICAgICAgaG9tZWJyZXcuYWRkUGFja2FnZShcImRvY2tlclwiKTtcbiAgICAgICAgaG9tZWJyZXcuYWRkUGFja2FnZShcImxvY2Fsc3RhY2tcIik7XG5cbiAgICAgICAgY29uc3QgY29saW1hVGFzayA9IHByb2plY3QuYWRkVGFzayhcImNvbGltYVwiLCB7XG4gICAgICAgICAgICBleGVjOiBcImNvbGltYSBzdGF0dXMgPi9kZXYvbnVsbCAyPiYxIHx8IGNvbGltYSBzdGFydFwiLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBlbnZWYXJzID0gW2BMT0NBTFNUQUNLX1BPUlQ9JHtwb3J0fWAsIGBMT0NBTFNUQUNLX0RFQlVHPSR7ZGVidWcgPyBcIjFcIiA6IFwiMFwifWBdO1xuICAgICAgICBpZiAob3B0aW9ucy5zZXJ2aWNlcykge1xuICAgICAgICAgICAgZW52VmFycy5wdXNoKGBTRVJWSUNFUz0ke29wdGlvbnMuc2VydmljZXMuam9pbihcIixcIil9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb2NhbHN0YWNrVGFzayA9IHByb2plY3QuYWRkVGFzayhcImxvY2Fsc3RhY2tcIiwge1xuICAgICAgICAgICAgZXhlYzogYGxvY2Fsc3RhY2sgc3RhdHVzIHwgZ3JlcCAtcSBydW5uaW5nIHx8ICR7ZW52VmFycy5qb2luKFwiIFwiKX0gbG9jYWxzdGFjayBzdGFydCAtZGAsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxvY2Fsc3RhY2tUYXNrLnByZXBlbmRTcGF3bihjb2xpbWFUYXNrKTtcblxuICAgICAgICBwcm9qZWN0LmFkZERldkRlcHMoXCJhd3MtY2RrLWxvY2FsXCIpO1xuXG4gICAgICAgIGNvbnN0IHRlc3RUYXNrID0gcHJvamVjdC50YXNrcy50cnlGaW5kKFwidGVzdFwiKTtcbiAgICAgICAgaWYgKHRlc3RUYXNrKSB7XG4gICAgICAgICAgICB0ZXN0VGFzay5wcmVwZW5kU3Bhd24obG9jYWxzdGFja1Rhc2spO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|