Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 843ac72f26 | |||
| 8ea6f6be83 | |||
| a88c816763 | |||
| 7cee6eb187 | |||
| ec911832ed | |||
| 302667305e | |||
| 56cf0c0f52 | |||
| 3a747cfd2f |
@@ -1,5 +1,28 @@
|
||||
# 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)
|
||||
update project info loading to use the async ProjectInfo factory
|
||||
|
||||
- bump @push.rocks/projectinfo from ^5.0.2 to ^5.1.0
|
||||
- replace direct ProjectInfo construction with await ProjectInfo.create(paths.cwd) during manager preparation
|
||||
|
||||
## 2026-04-30 - 2.2.5 - fix(scripts)
|
||||
use pnpm for the test script build command
|
||||
|
||||
- updates the test script in package.json to run the build through pnpm instead of npm
|
||||
|
||||
## 2026-03-24 - 2.2.4 - fix(config)
|
||||
migrate configuration loading to smartconfig and update build tooling compatibility
|
||||
|
||||
|
||||
@@ -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.
|
||||
+16
-20
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"name": "@git.zone/tsdocker",
|
||||
"version": "2.2.4",
|
||||
"version": "2.2.8",
|
||||
"private": false,
|
||||
"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",
|
||||
"typings": "dist_ts/index.d.ts",
|
||||
"bin": {
|
||||
"tsdocker": "cli.js"
|
||||
"tsdocker": "./cli.js"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "(npm run build)",
|
||||
"test": "(pnpm run build)",
|
||||
"build": "(tsbuild)",
|
||||
"buildDocs": "tsdoc"
|
||||
},
|
||||
@@ -29,7 +29,7 @@
|
||||
"docker-build",
|
||||
"cross-platform"
|
||||
],
|
||||
"author": "Lossless GmbH",
|
||||
"author": "Task Venture Capital GmbH",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://gitlab.com/gitzone/tsdocker/issues"
|
||||
@@ -37,18 +37,18 @@
|
||||
"homepage": "https://gitlab.com/gitzone/tsdocker#readme",
|
||||
"devDependencies": {
|
||||
"@git.zone/tsbuild": "^4.4.0",
|
||||
"@git.zone/tsrun": "^2.0.1",
|
||||
"@git.zone/tstest": "^3.5.1",
|
||||
"@types/node": "^25.5.0"
|
||||
"@git.zone/tsrun": "^2.0.3",
|
||||
"@git.zone/tstest": "^3.6.5",
|
||||
"@types/node": "^25.6.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@push.rocks/lik": "^6.4.0",
|
||||
"@push.rocks/projectinfo": "^5.0.2",
|
||||
"@push.rocks/smartcli": "^4.0.20",
|
||||
"@push.rocks/smartconfig": "^6.0.1",
|
||||
"@push.rocks/smartfs": "^1.5.0",
|
||||
"@push.rocks/lik": "^6.4.1",
|
||||
"@push.rocks/projectinfo": "^5.1.0",
|
||||
"@push.rocks/smartcli": "^4.0.21",
|
||||
"@push.rocks/smartconfig": "^6.1.1",
|
||||
"@push.rocks/smartfs": "^1.5.1",
|
||||
"@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-source-ora": "^1.0.9",
|
||||
"@push.rocks/smartshell": "^3.3.8"
|
||||
@@ -65,11 +65,7 @@
|
||||
"assets/**/*",
|
||||
"cli.js",
|
||||
".smartconfig.json",
|
||||
"readme.md"
|
||||
],
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"lru-cache": ">=11.0.0"
|
||||
}
|
||||
}
|
||||
"readme.md",
|
||||
"license"
|
||||
]
|
||||
}
|
||||
|
||||
Generated
+2426
-1309
File diff suppressed because it is too large
Load Diff
@@ -27,10 +27,10 @@ For reporting bugs, issues, or security vulnerabilities, please visit [community
|
||||
|
||||
```bash
|
||||
# Global installation (recommended for CLI usage)
|
||||
npm install -g @git.zone/tsdocker
|
||||
pnpm add --global @git.zone/tsdocker
|
||||
|
||||
# Or project-local installation
|
||||
pnpm install --save-dev @git.zone/tsdocker
|
||||
pnpm add --save-dev @git.zone/tsdocker
|
||||
```
|
||||
|
||||
## 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`)
|
||||
- **Registry port** — Dynamically allocated (override with `TSDOCKER_REGISTRY_PORT`)
|
||||
- **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:
|
||||
|
||||
@@ -254,7 +255,7 @@ This prevents resource conflicts when multiple CI jobs run tsdocker in parallel.
|
||||
| `GITLAB_CI` | GitLab 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
|
||||
|
||||
@@ -557,7 +558,7 @@ tsdocker push
|
||||
build-and-push:
|
||||
stage: build
|
||||
script:
|
||||
- npm install -g @git.zone/tsdocker
|
||||
- pnpm add --global @git.zone/tsdocker
|
||||
- tsdocker push
|
||||
variables:
|
||||
DOCKER_REGISTRY_1: 'registry.gitlab.com|$CI_REGISTRY_USER|$CI_REGISTRY_PASSWORD'
|
||||
@@ -568,7 +569,7 @@ build-and-push:
|
||||
```yaml
|
||||
- name: Build and Push
|
||||
run: |
|
||||
npm install -g @git.zone/tsdocker
|
||||
pnpm add --global @git.zone/tsdocker
|
||||
tsdocker login
|
||||
tsdocker push
|
||||
env:
|
||||
@@ -580,7 +581,7 @@ build-and-push:
|
||||
```yaml
|
||||
- name: Build and Push
|
||||
run: |
|
||||
npm install -g @git.zone/tsdocker
|
||||
pnpm add --global @git.zone/tsdocker
|
||||
tsdocker push
|
||||
env:
|
||||
DOCKER_REGISTRY_1: 'gitea.example.com|${{ secrets.REGISTRY_USER }}|${{ secrets.REGISTRY_PASSWORD }}'
|
||||
@@ -687,7 +688,7 @@ dist_ts
|
||||
|
||||
## 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.
|
||||
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@git.zone/tsdocker',
|
||||
version: '2.2.4',
|
||||
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.'
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ export class TsDockerManager {
|
||||
|
||||
// Load project info
|
||||
try {
|
||||
const projectinfoInstance = new plugins.projectinfo.ProjectInfo(paths.cwd);
|
||||
const projectinfoInstance = await plugins.projectinfo.ProjectInfo.create(paths.cwd);
|
||||
this.projectInfo = {
|
||||
npm: {
|
||||
name: projectinfoInstance.npm.name,
|
||||
|
||||
+1
-1
@@ -67,7 +67,7 @@ CONFIG SUBCOMMANDS
|
||||
show Show full global config
|
||||
|
||||
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
|
||||
registryRepoMap Map of registry URL to repo path overrides
|
||||
|
||||
Reference in New Issue
Block a user