container-superposition 0.1.1 → 0.1.3
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 +206 -1
- package/dist/scripts/init.js +235 -179
- package/dist/scripts/init.js.map +1 -1
- package/dist/tool/commands/doctor.d.ts +15 -0
- package/dist/tool/commands/doctor.d.ts.map +1 -0
- package/dist/tool/commands/doctor.js +862 -0
- package/dist/tool/commands/doctor.js.map +1 -0
- package/dist/tool/commands/explain.d.ts +13 -0
- package/dist/tool/commands/explain.d.ts.map +1 -0
- package/dist/tool/commands/explain.js +211 -0
- package/dist/tool/commands/explain.js.map +1 -0
- package/dist/tool/commands/list.d.ts +16 -0
- package/dist/tool/commands/list.d.ts.map +1 -0
- package/dist/tool/commands/list.js +121 -0
- package/dist/tool/commands/list.js.map +1 -0
- package/dist/tool/commands/plan.d.ts +16 -0
- package/dist/tool/commands/plan.d.ts.map +1 -0
- package/dist/tool/commands/plan.js +329 -0
- package/dist/tool/commands/plan.js.map +1 -0
- package/dist/tool/questionnaire/composer.d.ts +6 -1
- package/dist/tool/questionnaire/composer.d.ts.map +1 -1
- package/dist/tool/questionnaire/composer.js +300 -202
- package/dist/tool/questionnaire/composer.js.map +1 -1
- package/dist/tool/readme/markdown-parser.d.ts.map +1 -1
- package/dist/tool/readme/markdown-parser.js.map +1 -1
- package/dist/tool/readme/readme-generator.d.ts.map +1 -1
- package/dist/tool/readme/readme-generator.js +11 -6
- package/dist/tool/readme/readme-generator.js.map +1 -1
- package/dist/tool/schema/deployment-targets.d.ts +77 -0
- package/dist/tool/schema/deployment-targets.d.ts.map +1 -0
- package/dist/tool/schema/deployment-targets.js +91 -0
- package/dist/tool/schema/deployment-targets.js.map +1 -0
- package/dist/tool/schema/manifest-migrations.d.ts +51 -0
- package/dist/tool/schema/manifest-migrations.d.ts.map +1 -0
- package/dist/tool/schema/manifest-migrations.js +159 -0
- package/dist/tool/schema/manifest-migrations.js.map +1 -0
- package/dist/tool/schema/overlay-loader.d.ts +1 -1
- package/dist/tool/schema/overlay-loader.d.ts.map +1 -1
- package/dist/tool/schema/overlay-loader.js +42 -14
- package/dist/tool/schema/overlay-loader.js.map +1 -1
- package/dist/tool/schema/types.d.ts +44 -2
- package/dist/tool/schema/types.d.ts.map +1 -1
- package/dist/tool/utils/merge.d.ts +134 -0
- package/dist/tool/utils/merge.d.ts.map +1 -0
- package/dist/tool/utils/merge.js +277 -0
- package/dist/tool/utils/merge.js.map +1 -0
- package/dist/tool/utils/port-utils.d.ts +29 -0
- package/dist/tool/utils/port-utils.d.ts.map +1 -0
- package/dist/tool/utils/port-utils.js +128 -0
- package/dist/tool/utils/port-utils.js.map +1 -0
- package/dist/tool/utils/version.d.ts +9 -0
- package/dist/tool/utils/version.d.ts.map +1 -0
- package/dist/tool/utils/version.js +32 -0
- package/dist/tool/utils/version.js.map +1 -0
- package/docs/architecture.md +25 -21
- package/docs/deployment-targets.md +150 -0
- package/docs/discovery-commands.md +442 -0
- package/docs/merge-strategy.md +700 -0
- package/docs/minimal-and-editor.md +265 -0
- package/docs/overlay-imports.md +209 -0
- package/docs/overlay-manifest-refactoring.md +2 -2
- package/docs/overlay-metadata-archive.md +1 -1
- package/docs/overlays.md +91 -23
- package/docs/presets-architecture.md +3 -3
- package/docs/presets.md +1 -1
- package/docs/publishing.md +36 -35
- package/docs/team-workflow.md +540 -0
- package/overlays/.presets/data-engineering.yml +392 -0
- package/overlays/.presets/event-sourced-service.yml +262 -0
- package/overlays/.presets/frontend.yml +287 -0
- package/overlays/.presets/k8s-operator-dev.yml +462 -0
- package/overlays/.registry/README.md +1 -1
- package/overlays/.registry/deployment-targets.yml +54 -0
- package/overlays/.shared/README.md +43 -0
- package/overlays/.shared/compose/common-healthchecks.yml +38 -0
- package/overlays/.shared/otel/instrumentation.env +20 -0
- package/overlays/.shared/otel/otel-base-config.yaml +30 -0
- package/overlays/.shared/vscode/recommended-extensions.json +14 -0
- package/overlays/README.md +1 -1
- package/overlays/codex/overlay.yml +1 -0
- package/overlays/duckdb/README.md +274 -0
- package/overlays/duckdb/devcontainer.patch.json +10 -0
- package/overlays/duckdb/overlay.yml +17 -0
- package/overlays/duckdb/setup.sh +45 -0
- package/overlays/duckdb/verify.sh +32 -0
- package/overlays/git-helpers/overlay.yml +1 -0
- package/overlays/grafana/README.md +5 -5
- package/overlays/grafana/dashboard-provider.yml +1 -1
- package/overlays/grafana/docker-compose.yml +2 -2
- package/overlays/grafana/overlay.yml +6 -1
- package/overlays/jaeger/overlay.yml +16 -3
- package/overlays/jupyter/.env.example +6 -0
- package/overlays/jupyter/README.md +210 -0
- package/overlays/jupyter/devcontainer.patch.json +14 -0
- package/overlays/jupyter/docker-compose.yml +23 -0
- package/overlays/jupyter/overlay.yml +18 -0
- package/overlays/jupyter/verify.sh +35 -0
- package/overlays/kind/README.md +221 -0
- package/overlays/kind/devcontainer.patch.json +10 -0
- package/overlays/kind/overlay.yml +18 -0
- package/overlays/kind/setup.sh +43 -0
- package/overlays/kind/verify.sh +40 -0
- package/overlays/localstack/.env.example +6 -0
- package/overlays/localstack/README.md +188 -0
- package/overlays/localstack/devcontainer.patch.json +21 -0
- package/overlays/localstack/docker-compose.yml +25 -0
- package/overlays/localstack/overlay.yml +18 -0
- package/overlays/localstack/verify.sh +47 -0
- package/overlays/loki/overlay.yml +6 -1
- package/overlays/modern-cli-tools/overlay.yml +1 -0
- package/overlays/mongodb/overlay.yml +12 -2
- package/overlays/mysql/overlay.yml +12 -2
- package/overlays/nats/overlay.yml +12 -2
- package/overlays/openapi-tools/README.md +243 -0
- package/overlays/openapi-tools/devcontainer.patch.json +10 -0
- package/overlays/openapi-tools/overlay.yml +16 -0
- package/overlays/openapi-tools/setup.sh +45 -0
- package/overlays/openapi-tools/verify.sh +51 -0
- package/overlays/otel-collector/overlay.yml.example +26 -0
- package/overlays/postgres/overlay.yml +6 -1
- package/overlays/prometheus/overlay.yml +6 -1
- package/overlays/rabbitmq/overlay.yml +12 -2
- package/overlays/redis/overlay.yml +6 -1
- package/overlays/tilt/README.md +259 -0
- package/overlays/tilt/devcontainer.patch.json +17 -0
- package/overlays/tilt/overlay.yml +19 -0
- package/overlays/tilt/setup.sh +25 -0
- package/overlays/tilt/verify.sh +24 -0
- package/package.json +8 -6
- package/tool/README.md +12 -16
- package/tool/schema/overlay-manifest.schema.json +64 -4
- package/tool/schema/superposition-manifest.schema.json +104 -0
- /package/overlays/{presets → .presets}/docs-site.yml +0 -0
- /package/overlays/{presets → .presets}/fullstack.yml +0 -0
- /package/overlays/{presets → .presets}/microservice.yml +0 -0
- /package/overlays/{presets → .presets}/web-api.yml +0 -0
package/docs/overlays.md
CHANGED
|
@@ -53,6 +53,18 @@ Eclipse Temurin JDK 21 with Maven and Gradle
|
|
|
53
53
|
| **Tags** | `language`, `java`, `maven`, `gradle` |
|
|
54
54
|
| **Ports** | 8080, 8081 |
|
|
55
55
|
|
|
56
|
+
### Jupyter (`jupyter`)
|
|
57
|
+
|
|
58
|
+
Jupyter notebook server for interactive computing and data science
|
|
59
|
+
|
|
60
|
+
| Property | Value |
|
|
61
|
+
| ------------ | ----------------------------------------------------------- |
|
|
62
|
+
| **Category** | language |
|
|
63
|
+
| **Supports** | compose |
|
|
64
|
+
| **Requires** | `python` |
|
|
65
|
+
| **Tags** | `language`, `jupyter`, `python`, `notebook`, `data-science` |
|
|
66
|
+
| **Ports** | 8888 |
|
|
67
|
+
|
|
56
68
|
### MkDocs (`mkdocs`)
|
|
57
69
|
|
|
58
70
|
Material for MkDocs - professional documentation generator
|
|
@@ -103,6 +115,16 @@ Rust stable with cargo, rustfmt, and clippy
|
|
|
103
115
|
|
|
104
116
|
## Database Overlays
|
|
105
117
|
|
|
118
|
+
### DuckDB (`duckdb`)
|
|
119
|
+
|
|
120
|
+
In-process analytical database for OLAP workloads
|
|
121
|
+
|
|
122
|
+
| Property | Value |
|
|
123
|
+
| ------------ | ------------------------------------------------ |
|
|
124
|
+
| **Category** | database |
|
|
125
|
+
| **Suggests** | `python`, `jupyter` |
|
|
126
|
+
| **Tags** | `database`, `analytics`, `sql`, `duckdb`, `olap` |
|
|
127
|
+
|
|
106
128
|
### MinIO (`minio`)
|
|
107
129
|
|
|
108
130
|
S3-compatible object storage with web console
|
|
@@ -123,18 +145,18 @@ MongoDB 8 with Mongo Express web UI
|
|
|
123
145
|
| **Category** | database |
|
|
124
146
|
| **Supports** | compose |
|
|
125
147
|
| **Tags** | `database`, `nosql`, `mongodb`, `document` |
|
|
126
|
-
| **Ports** |
|
|
148
|
+
| **Ports** | [object Object], [object Object] |
|
|
127
149
|
|
|
128
150
|
### MySQL (`mysql`)
|
|
129
151
|
|
|
130
152
|
MySQL 8 with phpMyAdmin web UI
|
|
131
153
|
|
|
132
|
-
| Property | Value
|
|
133
|
-
| ------------ |
|
|
134
|
-
| **Category** | database
|
|
135
|
-
| **Supports** | compose
|
|
136
|
-
| **Tags** | `database`, `sql`, `mysql`
|
|
137
|
-
| **Ports** |
|
|
154
|
+
| Property | Value |
|
|
155
|
+
| ------------ | -------------------------------- |
|
|
156
|
+
| **Category** | database |
|
|
157
|
+
| **Supports** | compose |
|
|
158
|
+
| **Tags** | `database`, `sql`, `mysql` |
|
|
159
|
+
| **Ports** | [object Object], [object Object] |
|
|
138
160
|
|
|
139
161
|
### NATS (`nats`)
|
|
140
162
|
|
|
@@ -145,7 +167,7 @@ Lightweight pub/sub messaging with JetStream
|
|
|
145
167
|
| **Category** | database |
|
|
146
168
|
| **Supports** | compose |
|
|
147
169
|
| **Tags** | `database`, `messaging`, `pubsub`, `nats`, `jetstream` |
|
|
148
|
-
| **Ports** |
|
|
170
|
+
| **Ports** | [object Object], [object Object] |
|
|
149
171
|
|
|
150
172
|
### PostgreSQL (`postgres`)
|
|
151
173
|
|
|
@@ -156,7 +178,7 @@ PostgreSQL 16 database
|
|
|
156
178
|
| **Category** | database |
|
|
157
179
|
| **Supports** | compose |
|
|
158
180
|
| **Tags** | `database`, `sql`, `postgres` |
|
|
159
|
-
| **Ports** |
|
|
181
|
+
| **Ports** | [object Object] |
|
|
160
182
|
|
|
161
183
|
### RabbitMQ (`rabbitmq`)
|
|
162
184
|
|
|
@@ -167,7 +189,7 @@ Message broker with AMQP protocol and management UI
|
|
|
167
189
|
| **Category** | database |
|
|
168
190
|
| **Supports** | compose |
|
|
169
191
|
| **Tags** | `database`, `messaging`, `queue`, `rabbitmq`, `amqp` |
|
|
170
|
-
| **Ports** |
|
|
192
|
+
| **Ports** | [object Object], [object Object] |
|
|
171
193
|
|
|
172
194
|
### Redis (`redis`)
|
|
173
195
|
|
|
@@ -178,7 +200,7 @@ Redis 7 cache
|
|
|
178
200
|
| **Category** | database |
|
|
179
201
|
| **Supports** | compose |
|
|
180
202
|
| **Tags** | `database`, `cache`, `redis` |
|
|
181
|
-
| **Ports** |
|
|
203
|
+
| **Ports** | [object Object] |
|
|
182
204
|
|
|
183
205
|
### Redpanda (`redpanda`)
|
|
184
206
|
|
|
@@ -219,13 +241,13 @@ SQLite with litecli and VS Code extensions
|
|
|
219
241
|
|
|
220
242
|
Distributed tracing backend
|
|
221
243
|
|
|
222
|
-
| Property | Value
|
|
223
|
-
| ------------- |
|
|
224
|
-
| **Category** | observability
|
|
225
|
-
| **Supports** | compose
|
|
226
|
-
| **Conflicts** | `tempo`
|
|
227
|
-
| **Tags** | `observability`, `tracing`, `jaeger`
|
|
228
|
-
| **Ports** |
|
|
244
|
+
| Property | Value |
|
|
245
|
+
| ------------- | ------------------------------------------------- |
|
|
246
|
+
| **Category** | observability |
|
|
247
|
+
| **Supports** | compose |
|
|
248
|
+
| **Conflicts** | `tempo` |
|
|
249
|
+
| **Tags** | `observability`, `tracing`, `jaeger` |
|
|
250
|
+
| **Ports** | [object Object], [object Object], [object Object] |
|
|
229
251
|
|
|
230
252
|
### Loki (`loki`)
|
|
231
253
|
|
|
@@ -237,7 +259,7 @@ Log aggregation system
|
|
|
237
259
|
| **Supports** | compose |
|
|
238
260
|
| **Suggests** | `promtail` |
|
|
239
261
|
| **Tags** | `observability`, `logs`, `loki` |
|
|
240
|
-
| **Ports** |
|
|
262
|
+
| **Ports** | [object Object] |
|
|
241
263
|
|
|
242
264
|
### Prometheus (`prometheus`)
|
|
243
265
|
|
|
@@ -249,7 +271,7 @@ Metrics collection and monitoring
|
|
|
249
271
|
| **Supports** | compose |
|
|
250
272
|
| **Suggests** | `alertmanager` |
|
|
251
273
|
| **Tags** | `observability`, `metrics`, `prometheus` |
|
|
252
|
-
| **Ports** |
|
|
274
|
+
| **Ports** | [object Object] |
|
|
253
275
|
|
|
254
276
|
### Tempo (`tempo`)
|
|
255
277
|
|
|
@@ -310,7 +332,7 @@ Observability visualization dashboard with auto-provisioning
|
|
|
310
332
|
| **Requires** | `prometheus` |
|
|
311
333
|
| **Suggests** | `loki`, `jaeger`, `tempo`, `promtail` |
|
|
312
334
|
| **Tags** | `observability`, `ui`, `visualization` |
|
|
313
|
-
| **Ports** |
|
|
335
|
+
| **Ports** | [object Object] |
|
|
314
336
|
|
|
315
337
|
### OTel Demo (Node.js) (`otel-demo-nodejs`)
|
|
316
338
|
|
|
@@ -367,6 +389,18 @@ Google Cloud Platform command-line tools (gcloud, gsutil, bq)
|
|
|
367
389
|
| **Category** | cloud |
|
|
368
390
|
| **Tags** | `cloud`, `gcp`, `google`, `cli` |
|
|
369
391
|
|
|
392
|
+
### kind (Kubernetes in Docker) (`kind`)
|
|
393
|
+
|
|
394
|
+
Local Kubernetes cluster for development and testing
|
|
395
|
+
|
|
396
|
+
| Property | Value |
|
|
397
|
+
| ------------- | ----------------------------------------------- |
|
|
398
|
+
| **Category** | cloud |
|
|
399
|
+
| **Requires** | `docker-in-docker` |
|
|
400
|
+
| **Suggests** | `kubectl-helm` |
|
|
401
|
+
| **Conflicts** | `k3d` |
|
|
402
|
+
| **Tags** | `cloud`, `kubernetes`, `k8s`, `kind`, `testing` |
|
|
403
|
+
|
|
370
404
|
### kubectl + Helm (`kubectl-helm`)
|
|
371
405
|
|
|
372
406
|
Kubernetes CLI and Helm package manager
|
|
@@ -376,6 +410,18 @@ Kubernetes CLI and Helm package manager
|
|
|
376
410
|
| **Category** | cloud |
|
|
377
411
|
| **Tags** | `cloud`, `kubernetes`, `helm` |
|
|
378
412
|
|
|
413
|
+
### LocalStack (`localstack`)
|
|
414
|
+
|
|
415
|
+
Local AWS cloud stack for development and testing
|
|
416
|
+
|
|
417
|
+
| Property | Value |
|
|
418
|
+
| ------------ | --------------------------------------- |
|
|
419
|
+
| **Category** | cloud |
|
|
420
|
+
| **Supports** | compose |
|
|
421
|
+
| **Suggests** | `aws-cli` |
|
|
422
|
+
| **Tags** | `cloud`, `aws`, `testing`, `localstack` |
|
|
423
|
+
| **Ports** | 4566, 4571 |
|
|
424
|
+
|
|
379
425
|
### Pulumi (`pulumi`)
|
|
380
426
|
|
|
381
427
|
Modern Infrastructure as Code with TypeScript/Python/Go
|
|
@@ -413,6 +459,7 @@ Conventional commits validation for automated releases
|
|
|
413
459
|
| Property | Value |
|
|
414
460
|
| ------------ | ------------------------------------------- |
|
|
415
461
|
| **Category** | dev |
|
|
462
|
+
| **Requires** | `nodejs` |
|
|
416
463
|
| **Suggests** | `pre-commit` |
|
|
417
464
|
| **Tags** | `dev`, `git`, `commits`, `semantic-release` |
|
|
418
465
|
|
|
@@ -482,6 +529,16 @@ Secure tunneling for webhook testing and external access
|
|
|
482
529
|
| **Tags** | `dev`, `tunneling`, `webhooks` |
|
|
483
530
|
| **Ports** | 4040 |
|
|
484
531
|
|
|
532
|
+
### OpenAPI Tools (`openapi-tools`)
|
|
533
|
+
|
|
534
|
+
OpenAPI/Swagger tooling for API development and documentation
|
|
535
|
+
|
|
536
|
+
| Property | Value |
|
|
537
|
+
| ------------ | --------------------------------------------------- |
|
|
538
|
+
| **Category** | dev |
|
|
539
|
+
| **Suggests** | `nodejs` |
|
|
540
|
+
| **Tags** | `dev`, `openapi`, `swagger`, `api`, `documentation` |
|
|
541
|
+
|
|
485
542
|
### Playwright (`playwright`)
|
|
486
543
|
|
|
487
544
|
Browser automation and testing framework
|
|
@@ -498,9 +555,22 @@ Automated code quality gates with pre-commit hooks
|
|
|
498
555
|
| Property | Value |
|
|
499
556
|
| ------------ | -------------------------------- |
|
|
500
557
|
| **Category** | dev |
|
|
558
|
+
| **Requires** | `python` |
|
|
501
559
|
| **Suggests** | `commitlint` |
|
|
502
560
|
| **Tags** | `dev`, `git`, `quality`, `hooks` |
|
|
503
561
|
|
|
562
|
+
### Tilt (`tilt`)
|
|
563
|
+
|
|
564
|
+
Live update and orchestration for Kubernetes development
|
|
565
|
+
|
|
566
|
+
| Property | Value |
|
|
567
|
+
| ------------- | -------------------------------------------------------- |
|
|
568
|
+
| **Category** | dev |
|
|
569
|
+
| **Suggests** | `kind`, `kubectl-helm` |
|
|
570
|
+
| **Conflicts** | `skaffold` |
|
|
571
|
+
| **Tags** | `dev`, `kubernetes`, `k8s`, `development`, `live-reload` |
|
|
572
|
+
| **Ports** | 10350 |
|
|
573
|
+
|
|
504
574
|
## Dependency Model
|
|
505
575
|
|
|
506
576
|
### Dependency Types
|
|
@@ -519,5 +589,3 @@ For example, selecting `grafana` will automatically include `prometheus`.
|
|
|
519
589
|
Each overlay declares its ports explicitly. When using port offset, all declared ports are shifted by the same offset.
|
|
520
590
|
|
|
521
591
|
---
|
|
522
|
-
|
|
523
|
-
_Documentation generated on 2026-02-08T18:01:55.685Z_
|
|
@@ -65,10 +65,10 @@ interface PresetGlueConfig {
|
|
|
65
65
|
|
|
66
66
|
### Preset File Structure
|
|
67
67
|
|
|
68
|
-
Presets are defined in `overlays
|
|
68
|
+
Presets are defined in `overlays/.presets/` with YAML files:
|
|
69
69
|
|
|
70
70
|
```yaml
|
|
71
|
-
# overlays
|
|
71
|
+
# overlays/.presets/web-api.yml
|
|
72
72
|
id: web-api
|
|
73
73
|
name: Web API Stack
|
|
74
74
|
description: Full-stack web API with database, cache, and observability
|
|
@@ -407,7 +407,7 @@ selects:
|
|
|
407
407
|
|
|
408
408
|
### Adding New Presets
|
|
409
409
|
|
|
410
|
-
1. **Create YAML file** in `overlays
|
|
410
|
+
1. **Create YAML file** in `overlays/.presets/`
|
|
411
411
|
2. **Register in** `overlays/index.yml`
|
|
412
412
|
3. **No code changes needed** (declarative system)
|
|
413
413
|
|
package/docs/presets.md
CHANGED
package/docs/publishing.md
CHANGED
|
@@ -299,8 +299,6 @@ npm install -g container-superposition
|
|
|
299
299
|
container-superposition init
|
|
300
300
|
```
|
|
301
301
|
|
|
302
|
-
````
|
|
303
|
-
|
|
304
302
|
## Continuous Publishing
|
|
305
303
|
|
|
306
304
|
### Automated Releases (Future Enhancement)
|
|
@@ -312,23 +310,23 @@ Consider GitHub Actions for automated publishing:
|
|
|
312
310
|
name: Publish to npm
|
|
313
311
|
|
|
314
312
|
on:
|
|
315
|
-
|
|
316
|
-
|
|
313
|
+
release:
|
|
314
|
+
types: [created]
|
|
317
315
|
|
|
318
316
|
jobs:
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
317
|
+
publish:
|
|
318
|
+
runs-on: ubuntu-latest
|
|
319
|
+
steps:
|
|
320
|
+
- uses: actions/checkout@v4
|
|
321
|
+
- uses: actions/setup-node@v4
|
|
322
|
+
with:
|
|
323
|
+
node-version: '20'
|
|
324
|
+
registry-url: 'https://registry.npmjs.org'
|
|
325
|
+
- run: npm ci
|
|
326
|
+
- run: npm test
|
|
327
|
+
- run: npm publish
|
|
328
|
+
env:
|
|
329
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
332
330
|
```
|
|
333
331
|
|
|
334
332
|
## Troubleshooting
|
|
@@ -336,6 +334,7 @@ jobs:
|
|
|
336
334
|
### ".npmignore not found" Warning
|
|
337
335
|
|
|
338
336
|
If you see:
|
|
337
|
+
|
|
339
338
|
```
|
|
340
339
|
npm warn gitignore-fallback No .npmignore file found, using .gitignore for file exclusion.
|
|
341
340
|
```
|
|
@@ -343,17 +342,18 @@ npm warn gitignore-fallback No .npmignore file found, using .gitignore for file
|
|
|
343
342
|
**This warning can be safely ignored.** The package uses the `"files"` field in `package.json` as the primary inclusion mechanism (allowlist approach), which is more explicit and maintainable than `.npmignore` (denylist approach).
|
|
344
343
|
|
|
345
344
|
The `"files"` field specifies exactly what to include:
|
|
345
|
+
|
|
346
346
|
```json
|
|
347
347
|
{
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
348
|
+
"files": [
|
|
349
|
+
"dist/",
|
|
350
|
+
"templates/",
|
|
351
|
+
"features/",
|
|
352
|
+
"overlays/",
|
|
353
|
+
"tool/**/*.json",
|
|
354
|
+
"tool/**/*.yml",
|
|
355
|
+
"docs/**/*.md"
|
|
356
|
+
]
|
|
357
357
|
}
|
|
358
358
|
```
|
|
359
359
|
|
|
@@ -381,14 +381,14 @@ To exclude unnecessary files, modify the `"files"` array in `package.json`:
|
|
|
381
381
|
|
|
382
382
|
```json
|
|
383
383
|
{
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
384
|
+
"files": [
|
|
385
|
+
"dist/", // Keep compiled code
|
|
386
|
+
"templates/", // Keep base templates
|
|
387
|
+
"features/", // Keep custom features
|
|
388
|
+
"overlays/", // Keep all overlays
|
|
389
|
+
// Exclude specific patterns with "!" prefix if needed
|
|
390
|
+
"!overlays/**/node_modules"
|
|
391
|
+
]
|
|
392
392
|
}
|
|
393
393
|
```
|
|
394
394
|
|
|
@@ -407,6 +407,7 @@ npm login
|
|
|
407
407
|
### Name Already Taken
|
|
408
408
|
|
|
409
409
|
Options:
|
|
410
|
+
|
|
410
411
|
1. Use scoped package: `@veggerby/container-superposition`
|
|
411
412
|
2. Choose different name: `devcontainer-superposition`, `superposition-dev`, etc.
|
|
412
413
|
3. Contact current owner if package is abandoned
|
|
@@ -425,6 +426,7 @@ npm publish
|
|
|
425
426
|
### Versioning Strategy
|
|
426
427
|
|
|
427
428
|
Follow [Semantic Versioning](https://semver.org/):
|
|
429
|
+
|
|
428
430
|
- **MAJOR**: Breaking changes (e.g., removing overlays, changing CLI args)
|
|
429
431
|
- **MINOR**: New features (e.g., adding overlays, new CLI options)
|
|
430
432
|
- **PATCH**: Bug fixes (e.g., fixing composition logic, updating deps)
|
|
@@ -473,4 +475,3 @@ npm unpublish container-superposition --force
|
|
|
473
475
|
- [npm Version Management](https://docs.npmjs.com/cli/v10/commands/npm-version)
|
|
474
476
|
- [Semantic Versioning](https://semver.org/)
|
|
475
477
|
- [npm Package Lifecycle Scripts](https://docs.npmjs.com/cli/v10/using-npm/scripts#life-cycle-scripts)
|
|
476
|
-
````
|