Compare commits

...

4 Commits

Author SHA1 Message Date
jkunz 843ac72f26 v2.2.8
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2026-05-09 12:40:53 +00:00
jkunz 8ea6f6be83 fix(package): normalize bin entry path for the tsdocker CLI 2026-05-09 12:40:53 +00:00
jkunz a88c816763 v2.2.7
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2026-05-09 12:33:44 +00:00
jkunz 7cee6eb187 fix(docs): update installation and configuration documentation and include the license file in published artifacts 2026-05-09 12:33:44 +00:00
7 changed files with 2457 additions and 1186 deletions
+12
View File
@@ -1,5 +1,17 @@
# Changelog # Changelog
## 2026-05-09 - 2.2.8 - fix(package)
normalize bin entry path for the tsdocker CLI
- Updates the package.json bin field from "cli.js" to "./cli.js" for the tsdocker executable.
## 2026-05-09 - 2.2.7 - fix(docs)
update installation and configuration documentation and include the license file in published artifacts
- Add the MIT license file to the repository and package contents
- Refresh README installation examples to use pnpm commands and clarify local vs CI builder and registry behavior
- Correct CLI help text to reference .smartconfig.json and update dependency versions in package.json
## 2026-05-08 - 2.2.6 - fix(tsdockermanager) ## 2026-05-08 - 2.2.6 - fix(tsdockermanager)
update project info loading to use the async ProjectInfo factory update project info loading to use the async ProjectInfo factory
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Task Venture Capital GmbH
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+14 -18
View File
@@ -1,12 +1,12 @@
{ {
"name": "@git.zone/tsdocker", "name": "@git.zone/tsdocker",
"version": "2.2.6", "version": "2.2.8",
"private": false, "private": false,
"description": "A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.", "description": "A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
"typings": "dist_ts/index.d.ts", "typings": "dist_ts/index.d.ts",
"bin": { "bin": {
"tsdocker": "cli.js" "tsdocker": "./cli.js"
}, },
"scripts": { "scripts": {
"test": "(pnpm run build)", "test": "(pnpm run build)",
@@ -29,7 +29,7 @@
"docker-build", "docker-build",
"cross-platform" "cross-platform"
], ],
"author": "Lossless GmbH", "author": "Task Venture Capital GmbH",
"license": "MIT", "license": "MIT",
"bugs": { "bugs": {
"url": "https://gitlab.com/gitzone/tsdocker/issues" "url": "https://gitlab.com/gitzone/tsdocker/issues"
@@ -37,18 +37,18 @@
"homepage": "https://gitlab.com/gitzone/tsdocker#readme", "homepage": "https://gitlab.com/gitzone/tsdocker#readme",
"devDependencies": { "devDependencies": {
"@git.zone/tsbuild": "^4.4.0", "@git.zone/tsbuild": "^4.4.0",
"@git.zone/tsrun": "^2.0.1", "@git.zone/tsrun": "^2.0.3",
"@git.zone/tstest": "^3.5.1", "@git.zone/tstest": "^3.6.5",
"@types/node": "^25.5.0" "@types/node": "^25.6.2"
}, },
"dependencies": { "dependencies": {
"@push.rocks/lik": "^6.4.0", "@push.rocks/lik": "^6.4.1",
"@push.rocks/projectinfo": "^5.1.0", "@push.rocks/projectinfo": "^5.1.0",
"@push.rocks/smartcli": "^4.0.20", "@push.rocks/smartcli": "^4.0.21",
"@push.rocks/smartconfig": "^6.0.1", "@push.rocks/smartconfig": "^6.1.1",
"@push.rocks/smartfs": "^1.5.0", "@push.rocks/smartfs": "^1.5.1",
"@push.rocks/smartinteract": "^2.0.16", "@push.rocks/smartinteract": "^2.0.16",
"@push.rocks/smartlog": "^3.2.1", "@push.rocks/smartlog": "^3.2.2",
"@push.rocks/smartlog-destination-local": "^9.0.2", "@push.rocks/smartlog-destination-local": "^9.0.2",
"@push.rocks/smartlog-source-ora": "^1.0.9", "@push.rocks/smartlog-source-ora": "^1.0.9",
"@push.rocks/smartshell": "^3.3.8" "@push.rocks/smartshell": "^3.3.8"
@@ -65,11 +65,7 @@
"assets/**/*", "assets/**/*",
"cli.js", "cli.js",
".smartconfig.json", ".smartconfig.json",
"readme.md" "readme.md",
], "license"
"pnpm": { ]
"overrides": {
"lru-cache": ">=11.0.0"
}
}
} }
+2398 -1157
View File
File diff suppressed because it is too large Load Diff
+9 -8
View File
@@ -27,10 +27,10 @@ For reporting bugs, issues, or security vulnerabilities, please visit [community
```bash ```bash
# Global installation (recommended for CLI usage) # Global installation (recommended for CLI usage)
npm install -g @git.zone/tsdocker pnpm add --global @git.zone/tsdocker
# Or project-local installation # Or project-local installation
pnpm install --save-dev @git.zone/tsdocker pnpm add --save-dev @git.zone/tsdocker
``` ```
## Quick Start ## Quick Start
@@ -243,7 +243,8 @@ Every tsdocker invocation gets its own **session** with unique:
- **Session ID** — Random 8-char hex (override with `TSDOCKER_SESSION_ID`) - **Session ID** — Random 8-char hex (override with `TSDOCKER_SESSION_ID`)
- **Registry port** — Dynamically allocated (override with `TSDOCKER_REGISTRY_PORT`) - **Registry port** — Dynamically allocated (override with `TSDOCKER_REGISTRY_PORT`)
- **Registry container** — Named `tsdocker-registry-<sessionId>` - **Registry container** — Named `tsdocker-registry-<sessionId>`
- **Builder suffix** — In CI, the buildx builder gets a `-<sessionId>` suffix to prevent collisions - **Builder suffix** — Local runs use a stable project hash; CI runs add the session ID to prevent collisions
- **Registry data path** — Local runs use `.nogit/docker-registry/`; CI runs use `.nogit/docker-registry/<sessionId>/`
This prevents resource conflicts when multiple CI jobs run tsdocker in parallel. Auto-detected CI systems: This prevents resource conflicts when multiple CI jobs run tsdocker in parallel. Auto-detected CI systems:
@@ -254,7 +255,7 @@ This prevents resource conflicts when multiple CI jobs run tsdocker in parallel.
| `GITLAB_CI` | GitLab CI | | `GITLAB_CI` | GitLab CI |
| `CI` | Generic CI | | `CI` | Generic CI |
In local dev, no suffix is added — keeping a persistent builder for faster rebuilds. In local dev, the builder suffix is stable per project path, keeping a reusable builder while avoiding collisions between projects. In CI, the session ID is added so parallel jobs do not share builders or registry storage.
### 🔍 Docker Context & Topology Detection ### 🔍 Docker Context & Topology Detection
@@ -557,7 +558,7 @@ tsdocker push
build-and-push: build-and-push:
stage: build stage: build
script: script:
- npm install -g @git.zone/tsdocker - pnpm add --global @git.zone/tsdocker
- tsdocker push - tsdocker push
variables: variables:
DOCKER_REGISTRY_1: 'registry.gitlab.com|$CI_REGISTRY_USER|$CI_REGISTRY_PASSWORD' DOCKER_REGISTRY_1: 'registry.gitlab.com|$CI_REGISTRY_USER|$CI_REGISTRY_PASSWORD'
@@ -568,7 +569,7 @@ build-and-push:
```yaml ```yaml
- name: Build and Push - name: Build and Push
run: | run: |
npm install -g @git.zone/tsdocker pnpm add --global @git.zone/tsdocker
tsdocker login tsdocker login
tsdocker push tsdocker push
env: env:
@@ -580,7 +581,7 @@ build-and-push:
```yaml ```yaml
- name: Build and Push - name: Build and Push
run: | run: |
npm install -g @git.zone/tsdocker pnpm add --global @git.zone/tsdocker
tsdocker push tsdocker push
env: env:
DOCKER_REGISTRY_1: 'gitea.example.com|${{ secrets.REGISTRY_USER }}|${{ secrets.REGISTRY_PASSWORD }}' DOCKER_REGISTRY_1: 'gitea.example.com|${{ secrets.REGISTRY_USER }}|${{ secrets.REGISTRY_PASSWORD }}'
@@ -687,7 +688,7 @@ dist_ts
## License and Legal Information ## License and Legal Information
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](./LICENSE) file. This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [license](./license) file.
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file. **Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
+1 -1
View File
@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@git.zone/tsdocker', name: '@git.zone/tsdocker',
version: '2.2.6', version: '2.2.8',
description: 'A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.' description: 'A comprehensive Docker build tool for TypeScript projects with multi-arch support, multi-registry push, and CI-safe session isolation.'
} }
+1 -1
View File
@@ -67,7 +67,7 @@ CONFIG SUBCOMMANDS
show Show full global config show Show full global config
CONFIGURATION CONFIGURATION
Configure via smartconfig.json under the "@git.zone/tsdocker" key: Configure via .smartconfig.json under the "@git.zone/tsdocker" key:
registries Array of registry URLs to push to registries Array of registry URLs to push to
registryRepoMap Map of registry URL to repo path overrides registryRepoMap Map of registry URL to repo path overrides