Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e9a12f1c17 | |||
| 6995010a2c | |||
| e0cbc9cfec | |||
| c538e6b10b | |||
| c31df766fc | |||
| 0c626c20e7 |
66
.gitea/workflows/default_nottags.yaml
Normal file
66
.gitea/workflows/default_nottags.yaml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
name: Default (not tags)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags-ignore:
|
||||||
|
- '**'
|
||||||
|
|
||||||
|
env:
|
||||||
|
IMAGE: code.foss.global/host.today/ht-docker-node:npmci
|
||||||
|
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{gitea.repository}}.git
|
||||||
|
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
|
||||||
|
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
|
||||||
|
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
|
||||||
|
NPMCI_URL_CLOUDLY: ${{secrets.NPMCI_URL_CLOUDLY}}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
security:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install pnpm and npmci
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @ship.zone/npmci
|
||||||
|
|
||||||
|
- name: Run npm prepare
|
||||||
|
run: npmci npm prepare
|
||||||
|
|
||||||
|
- name: Audit production dependencies
|
||||||
|
run: |
|
||||||
|
npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
npmci command pnpm audit --audit-level=high --prod
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Audit development dependencies
|
||||||
|
run: |
|
||||||
|
npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
npmci command pnpm audit --audit-level=high --dev
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
test:
|
||||||
|
if: ${{ always() }}
|
||||||
|
needs: security
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Test stable
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci npm test
|
||||||
|
|
||||||
|
- name: Test build
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci npm build
|
||||||
124
.gitea/workflows/default_tags.yaml
Normal file
124
.gitea/workflows/default_tags.yaml
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
name: Default (tags)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
env:
|
||||||
|
IMAGE: code.foss.global/host.today/ht-docker-node:npmci
|
||||||
|
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{gitea.repository}}.git
|
||||||
|
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
|
||||||
|
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
|
||||||
|
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
|
||||||
|
NPMCI_URL_CLOUDLY: ${{secrets.NPMCI_URL_CLOUDLY}}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
security:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Prepare
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @ship.zone/npmci
|
||||||
|
npmci npm prepare
|
||||||
|
|
||||||
|
- name: Audit production dependencies
|
||||||
|
run: |
|
||||||
|
npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
npmci command pnpm audit --audit-level=high --prod
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Audit development dependencies
|
||||||
|
run: |
|
||||||
|
npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
npmci command pnpm audit --audit-level=high --dev
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
test:
|
||||||
|
if: ${{ always() }}
|
||||||
|
needs: security
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Prepare
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @ship.zone/npmci
|
||||||
|
npmci npm prepare
|
||||||
|
|
||||||
|
- name: Test stable
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci npm test
|
||||||
|
|
||||||
|
- name: Test build
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci npm build
|
||||||
|
|
||||||
|
release:
|
||||||
|
needs: test
|
||||||
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Prepare
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @ship.zone/npmci
|
||||||
|
npmci npm prepare
|
||||||
|
|
||||||
|
- name: Release
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm publish
|
||||||
|
|
||||||
|
metadata:
|
||||||
|
needs: test
|
||||||
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Prepare
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @ship.zone/npmci
|
||||||
|
npmci npm prepare
|
||||||
|
|
||||||
|
- name: Code quality
|
||||||
|
run: |
|
||||||
|
npmci command npm install -g typescript
|
||||||
|
npmci npm install
|
||||||
|
|
||||||
|
- name: Trigger
|
||||||
|
run: npmci trigger
|
||||||
|
|
||||||
|
- name: Build docs and upload artifacts
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
pnpm install -g @git.zone/tsdoc
|
||||||
|
npmci command tsdoc
|
||||||
|
continue-on-error: true
|
||||||
11
.gitignore
vendored
11
.gitignore
vendored
@@ -3,7 +3,6 @@
|
|||||||
# artifacts
|
# artifacts
|
||||||
coverage/
|
coverage/
|
||||||
public/
|
public/
|
||||||
pages/
|
|
||||||
|
|
||||||
# installs
|
# installs
|
||||||
node_modules/
|
node_modules/
|
||||||
@@ -15,9 +14,11 @@ node_modules/
|
|||||||
|
|
||||||
# builds
|
# builds
|
||||||
dist/
|
dist/
|
||||||
dist_web/
|
dist_*/
|
||||||
dist_serve/
|
|
||||||
dist_ts_web/
|
|
||||||
|
|
||||||
# custom
|
# AI
|
||||||
|
.claude/
|
||||||
|
.serena/
|
||||||
|
|
||||||
|
#------# custom
|
||||||
test
|
test
|
||||||
|
|||||||
11
.vscode/launch.json
vendored
Normal file
11
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"command": "npm test",
|
||||||
|
"name": "Run npm test",
|
||||||
|
"request": "launch",
|
||||||
|
"type": "node-terminal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
25
.vscode/settings.json
vendored
25
.vscode/settings.json
vendored
@@ -1,3 +1,26 @@
|
|||||||
{
|
{
|
||||||
"typescript.tsdk": "node_modules/typescript/lib"
|
"json.schemas": [
|
||||||
|
{
|
||||||
|
"fileMatch": ["/npmextra.json"],
|
||||||
|
"schema": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"npmci": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "settings for npmci"
|
||||||
|
},
|
||||||
|
"gitzone": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "settings for gitzone",
|
||||||
|
"properties": {
|
||||||
|
"projectType": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": ["website", "element", "service", "npm", "wcc"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
FROM hosttoday/ht-docker-node:npmci
|
FROM hosttoday/ht-docker-node:npmci
|
||||||
RUN yarn global add @gitzone/tsdocker
|
RUN yarn global add @git.zone/tsdocker
|
||||||
COPY ./ /workspace
|
COPY ./ /workspace
|
||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
ENV CI=true
|
ENV CI=true
|
||||||
|
|||||||
92
changelog.md
92
changelog.md
@@ -1,10 +1,42 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-01-19 - 1.3.0 - feat(packaging)
|
||||||
|
Rename package scope to @git.zone and migrate to ESM; rename CLI/config keys, update entrypoints and imports, bump Node requirement to 18, and adjust scripts/dependencies
|
||||||
|
|
||||||
|
- Package renamed to @git.zone/tsdocker (scope change) — consumers must update package reference.
|
||||||
|
- Configuration key changed from 'npmdocker' to '@git.zone/tsdocker' in npmextra.json; update project config accordingly.
|
||||||
|
- CLI command renamed from 'npmdocker' to 'tsdocker' and entrypoint/entrypoint binary references updated.
|
||||||
|
- Project migrated to ESM: imports now use .js extensions, package main/typings point to dist_ts, and ts source uses ESM patterns — Node >=18 required.
|
||||||
|
- Build/test scripts changed to use tsx and updated test task names; CI/workflow and npmextra release registries updated.
|
||||||
|
- Dependencies/devDependencies bumped; smartfs, smartcli and tsbuild versions updated.
|
||||||
|
- Docker build command now uses '--load' and default base images/installation behavior adjusted (global install of tsdocker in image).
|
||||||
|
|
||||||
|
## 2025-12-13 - 1.2.43 - fix(packaging)
|
||||||
|
|
||||||
|
Rename package scope to @git.zone and migrate deps/CI; pin pnpm and enable ESM packaging
|
||||||
|
|
||||||
|
- Rename npm package scope from @gitzone/tsdocker to @git.zone/tsdocker (package.json, commitinfo, README, npmextra)
|
||||||
|
- Migrate devDependencies from @gitzone/_ to @git.zone/_ and ensure runtime packages use @push.rocks/\* where applicable
|
||||||
|
- Replace smartfile usage with smartfs and update code to use async smartfs.file(...).write()/delete() patterns
|
||||||
|
- Add packageManager pin for pnpm, set type: "module", add files array and pnpm.overrides in package.json
|
||||||
|
- Add tsconfig.json with NodeNext/ES2022 settings and other ESM-related adjustments
|
||||||
|
- Add Gitea CI workflows (.gitea/workflows/default_tags.yaml and default_nottags.yaml) for test, audit and release flows
|
||||||
|
- Update assets Dockerfile to reference @git.zone/tsdocker and other packaging/CI related scripts
|
||||||
|
- Update .gitignore to consolidate dist patterns and add AI/tooling excludes (.claude/, .serena/)
|
||||||
|
- Update README, readme.hints.md and changelog to document the scope rename, dependency migrations and SmartFS migration
|
||||||
|
|
||||||
|
## 2025-11-22 - 1.2.42 - fix(package.json)
|
||||||
|
|
||||||
|
Add packageManager field to package.json to pin pnpm version
|
||||||
|
|
||||||
|
- Add packageManager: "pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34" to package.json to lock pnpm CLI version and integrity
|
||||||
|
|
||||||
## 2025-11-22 - 1.2.41 - fix(core)
|
## 2025-11-22 - 1.2.41 - fix(core)
|
||||||
|
|
||||||
Migrate to @git.zone / @push.rocks packages, replace smartfile with smartfs and adapt filesystem usage; update dev deps and remove CI/lint config
|
Migrate to @git.zone / @push.rocks packages, replace smartfile with smartfs and adapt filesystem usage; update dev deps and remove CI/lint config
|
||||||
|
|
||||||
- Updated devDependencies from @gitzone/* to @git.zone/* (tsbuild, tsrun, tstest) and bumped versions
|
- Updated devDependencies from @gitzone/_ to @git.zone/_ (tsbuild, tsrun, tstest) and bumped versions
|
||||||
- Re-scoped runtime dependencies from @pushrocks/* to @push.rocks/* and updated package versions
|
- Re-scoped runtime dependencies from @pushrocks/_ to @push.rocks/_ and updated package versions
|
||||||
- Replaced deprecated smartfile usage with new async smartfs API; added SmartFs instance in ts/tsdocker.plugins.ts
|
- Replaced deprecated smartfile usage with new async smartfs API; added SmartFs instance in ts/tsdocker.plugins.ts
|
||||||
- Switched sync filesystem calls to Node fs where appropriate (fs.existsSync, fs.mkdirSync) and updated code to await smartfs.file(...).write()/delete()
|
- Switched sync filesystem calls to Node fs where appropriate (fs.existsSync, fs.mkdirSync) and updated code to await smartfs.file(...).write()/delete()
|
||||||
- Made buildDockerFile async and awaited file write/delete operations to ensure correct async flow
|
- Made buildDockerFile async and awaited file write/delete operations to ensure correct async flow
|
||||||
@@ -13,269 +45,322 @@ Migrate to @git.zone / @push.rocks packages, replace smartfile with smartfs and
|
|||||||
- Added readme.hints.md describing the migration and dependency changes
|
- Added readme.hints.md describing the migration and dependency changes
|
||||||
|
|
||||||
## 2021-09-30 - 1.2.40 - release (no code changes)
|
## 2021-09-30 - 1.2.40 - release (no code changes)
|
||||||
|
|
||||||
Routine release tag with no recorded source changes.
|
Routine release tag with no recorded source changes.
|
||||||
|
|
||||||
- Tagged release only (no changelogged changes).
|
- Tagged release only (no changelogged changes).
|
||||||
|
|
||||||
## 2021-09-30 - 1.2.39 - fix(core)
|
## 2021-09-30 - 1.2.39 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-28 - 1.2.38 - fix(core)
|
## 2019-05-28 - 1.2.38 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-27 - 1.2.37 - fix(core)
|
## 2019-05-27 - 1.2.37 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-27 - 1.2.36 - fix(core)
|
## 2019-05-27 - 1.2.36 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-21 - 1.2.35 - fix(core)
|
## 2019-05-21 - 1.2.35 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-21 - 1.2.34 - fix(core)
|
## 2019-05-21 - 1.2.34 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-12 - 1.2.33 - fix(core)
|
## 2019-05-12 - 1.2.33 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-12 - 1.2.32 - fix(core)
|
## 2019-05-12 - 1.2.32 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-12 - 1.2.31 - fix(bin name)
|
## 2019-05-12 - 1.2.31 - fix(bin name)
|
||||||
|
|
||||||
Rename of the published CLI binary.
|
Rename of the published CLI binary.
|
||||||
|
|
||||||
- Changed published binary name from "npmdocker" to "tsdocker".
|
- Changed published binary name from "npmdocker" to "tsdocker".
|
||||||
|
|
||||||
## 2019-05-10 - 1.2.30 - fix(core)
|
## 2019-05-10 - 1.2.30 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-10 - 1.2.29 - fix(core)
|
## 2019-05-10 - 1.2.29 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-10 - 1.2.28 - fix(core)
|
## 2019-05-10 - 1.2.28 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2019-05-09 - 1.2.27 - fix(core)
|
## 2019-05-09 - 1.2.27 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2018-10-29 - 1.2.26 - fix(ci)
|
## 2018-10-29 - 1.2.26 - fix(ci)
|
||||||
|
|
||||||
CI build process change.
|
CI build process change.
|
||||||
|
|
||||||
- Removed "npmts" from the build process.
|
- Removed "npmts" from the build process.
|
||||||
|
|
||||||
## 2018-10-29 - 1.2.25 - fix(core)
|
## 2018-10-29 - 1.2.25 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2018-10-28 - 1.2.24 - fix(clean)
|
## 2018-10-28 - 1.2.24 - fix(clean)
|
||||||
|
|
||||||
Improved image cleanup.
|
Improved image cleanup.
|
||||||
|
|
||||||
- Images are now cleaned in a more thorough way.
|
- Images are now cleaned in a more thorough way.
|
||||||
|
|
||||||
## 2018-09-16 - 1.2.23 - fix(core)
|
## 2018-09-16 - 1.2.23 - fix(core)
|
||||||
|
|
||||||
Core maintenance updates.
|
Core maintenance updates.
|
||||||
|
|
||||||
- Internal core updates and maintenance.
|
- Internal core updates and maintenance.
|
||||||
|
|
||||||
## 2018-09-16 - 1.2.22 - fix(dependencies)
|
## 2018-09-16 - 1.2.22 - fix(dependencies)
|
||||||
|
|
||||||
Dependency updates.
|
Dependency updates.
|
||||||
|
|
||||||
- Updated dependencies (maintenance).
|
- Updated dependencies (maintenance).
|
||||||
|
|
||||||
## 2018-07-21 - 1.2.21 - fix(update to latest standards)
|
## 2018-07-21 - 1.2.21 - fix(update to latest standards)
|
||||||
|
|
||||||
Standards/update alignment.
|
Standards/update alignment.
|
||||||
|
|
||||||
- Updated codebase to latest standards (general maintenance).
|
- Updated codebase to latest standards (general maintenance).
|
||||||
|
|
||||||
## 2018-05-18 - 1.2.20 - release (no code changes)
|
## 2018-05-18 - 1.2.20 - release (no code changes)
|
||||||
|
|
||||||
Tagged release with no recorded source changes.
|
Tagged release with no recorded source changes.
|
||||||
|
|
||||||
- Tagged release only (no changelogged changes).
|
- Tagged release only (no changelogged changes).
|
||||||
|
|
||||||
## 2018-05-18 - 1.2.19 - fix(ci)
|
## 2018-05-18 - 1.2.19 - fix(ci)
|
||||||
|
|
||||||
CI improvements.
|
CI improvements.
|
||||||
|
|
||||||
- Added a build command to package.json to support CI builds.
|
- Added a build command to package.json to support CI builds.
|
||||||
|
|
||||||
## 2018-05-18 - 1.2.18 - fix(package)
|
## 2018-05-18 - 1.2.18 - fix(package)
|
||||||
|
|
||||||
Packaging change for scoped publish.
|
Packaging change for scoped publish.
|
||||||
|
|
||||||
- Include npmdocker under the @gitzone npm scope.
|
- Include npmdocker under the @git.zone npm scope.
|
||||||
|
|
||||||
## 2018-01-24 - 1.2.18 - update
|
## 2018-01-24 - 1.2.18 - update
|
||||||
|
|
||||||
Documentation update.
|
Documentation update.
|
||||||
|
|
||||||
- Updated package description.
|
- Updated package description.
|
||||||
|
|
||||||
## 2017-10-13 - 1.2.17 - fix(cleanup)
|
## 2017-10-13 - 1.2.17 - fix(cleanup)
|
||||||
|
|
||||||
Cleanup behavior fix.
|
Cleanup behavior fix.
|
||||||
|
|
||||||
- Now cleans up correctly after operations.
|
- Now cleans up correctly after operations.
|
||||||
|
|
||||||
## 2017-10-13 - 1.2.16 - update
|
## 2017-10-13 - 1.2.16 - update
|
||||||
|
|
||||||
Miscellaneous updates.
|
Miscellaneous updates.
|
||||||
|
|
||||||
- General maintenance and updates.
|
- General maintenance and updates.
|
||||||
|
|
||||||
## 2017-10-13 - 1.2.15 - fix(test)
|
## 2017-10-13 - 1.2.15 - fix(test)
|
||||||
|
|
||||||
Testing improvements.
|
Testing improvements.
|
||||||
|
|
||||||
- Fixed Docker testing.
|
- Fixed Docker testing.
|
||||||
|
|
||||||
## 2017-10-07 - 1.2.14 - ci
|
## 2017-10-07 - 1.2.14 - ci
|
||||||
|
|
||||||
CI improvements.
|
CI improvements.
|
||||||
|
|
||||||
- Updated CI configuration.
|
- Updated CI configuration.
|
||||||
|
|
||||||
## 2017-10-07 - 1.2.13 - update(analytics)
|
## 2017-10-07 - 1.2.13 - update(analytics)
|
||||||
|
|
||||||
Analytics integration.
|
Analytics integration.
|
||||||
|
|
||||||
- Updated Analytics integration.
|
- Updated Analytics integration.
|
||||||
|
|
||||||
## 2017-10-07 - 1.2.12 - update(dependencies)
|
## 2017-10-07 - 1.2.12 - update(dependencies)
|
||||||
|
|
||||||
Dependency updates.
|
Dependency updates.
|
||||||
|
|
||||||
- Updated dependencies.
|
- Updated dependencies.
|
||||||
|
|
||||||
## 2017-07-16 - 1.2.11 - update
|
## 2017-07-16 - 1.2.11 - update
|
||||||
|
|
||||||
Dependency and greeting update.
|
Dependency and greeting update.
|
||||||
|
|
||||||
- Updated dependencies and changed greeting text.
|
- Updated dependencies and changed greeting text.
|
||||||
|
|
||||||
## 2017-04-21 - 1.2.10 - feature
|
## 2017-04-21 - 1.2.10 - feature
|
||||||
|
|
||||||
Added analytics.
|
Added analytics.
|
||||||
|
|
||||||
- Now includes SmartAnalytics.
|
- Now includes SmartAnalytics.
|
||||||
|
|
||||||
## 2017-04-02 - 1.2.8 - docs & ci
|
## 2017-04-02 - 1.2.8 - docs & ci
|
||||||
|
|
||||||
Docs and CI updates.
|
Docs and CI updates.
|
||||||
|
|
||||||
- Updated README and CI configuration.
|
- Updated README and CI configuration.
|
||||||
|
|
||||||
## 2017-04-02 - 1.2.7 - fix(command)
|
## 2017-04-02 - 1.2.7 - fix(command)
|
||||||
|
|
||||||
Command execution fix.
|
Command execution fix.
|
||||||
|
|
||||||
- Fixed command execution behavior.
|
- Fixed command execution behavior.
|
||||||
|
|
||||||
## 2017-03-28 - 1.2.6 - ci
|
## 2017-03-28 - 1.2.6 - ci
|
||||||
|
|
||||||
CI configuration update.
|
CI configuration update.
|
||||||
|
|
||||||
- Updated .gitlab-ci.yml for correct images/steps.
|
- Updated .gitlab-ci.yml for correct images/steps.
|
||||||
|
|
||||||
## 2017-03-28 - 1.2.5 - ci
|
## 2017-03-28 - 1.2.5 - ci
|
||||||
|
|
||||||
CI improvements.
|
CI improvements.
|
||||||
|
|
||||||
- Further CI updates.
|
- Further CI updates.
|
||||||
|
|
||||||
## 2017-03-28 - 1.2.4 - perf
|
## 2017-03-28 - 1.2.4 - perf
|
||||||
|
|
||||||
Performance improvements.
|
Performance improvements.
|
||||||
|
|
||||||
- Now runs asynchronously and is significantly faster.
|
- Now runs asynchronously and is significantly faster.
|
||||||
|
|
||||||
## 2017-02-12 - 1.2.3 - feature
|
## 2017-02-12 - 1.2.3 - feature
|
||||||
|
|
||||||
New cleanup and diagnostics features.
|
New cleanup and diagnostics features.
|
||||||
|
|
||||||
- Added speedtest utility.
|
- Added speedtest utility.
|
||||||
- Added removal of volumes.
|
- Added removal of volumes.
|
||||||
|
|
||||||
## 2017-02-11 - 1.2.2 - feature
|
## 2017-02-11 - 1.2.2 - feature
|
||||||
|
|
||||||
Cleanup enhancement.
|
Cleanup enhancement.
|
||||||
|
|
||||||
- Added "clean --all" option to remove more artifacts.
|
- Added "clean --all" option to remove more artifacts.
|
||||||
|
|
||||||
## 2017-02-11 - 1.2.1 - maintenance
|
## 2017-02-11 - 1.2.1 - maintenance
|
||||||
|
|
||||||
Docs and dependency updates.
|
Docs and dependency updates.
|
||||||
|
|
||||||
- Updated README and dependencies.
|
- Updated README and dependencies.
|
||||||
|
|
||||||
## 2016-08-04 - 1.2.0 - maintenance
|
## 2016-08-04 - 1.2.0 - maintenance
|
||||||
|
|
||||||
Dependency cleanup.
|
Dependency cleanup.
|
||||||
|
|
||||||
- Removed unnecessary dependencies.
|
- Removed unnecessary dependencies.
|
||||||
|
|
||||||
## 2016-07-29 - 1.1.6 - feature
|
## 2016-07-29 - 1.1.6 - feature
|
||||||
|
|
||||||
Environment support.
|
Environment support.
|
||||||
|
|
||||||
- Added support for qenv.
|
- Added support for qenv.
|
||||||
|
|
||||||
## 2016-07-29 - 1.1.5 - fix
|
## 2016-07-29 - 1.1.5 - fix
|
||||||
|
|
||||||
Container cleanup improvements.
|
Container cleanup improvements.
|
||||||
|
|
||||||
- Now also removes old running containers.
|
- Now also removes old running containers.
|
||||||
|
|
||||||
## 2016-07-29 - 1.1.4 - fix
|
## 2016-07-29 - 1.1.4 - fix
|
||||||
|
|
||||||
Namespace conflict avoidance.
|
Namespace conflict avoidance.
|
||||||
|
|
||||||
- Removes previous containers to avoid name-space conflicts after errors.
|
- Removes previous containers to avoid name-space conflicts after errors.
|
||||||
|
|
||||||
## 2016-07-29 - 1.1.3 - ci
|
## 2016-07-29 - 1.1.3 - ci
|
||||||
|
|
||||||
CI image configuration.
|
CI image configuration.
|
||||||
|
|
||||||
- Added correct images for GitLab CI.
|
- Added correct images for GitLab CI.
|
||||||
|
|
||||||
## 2016-07-29 - 1.1.2 - ci
|
## 2016-07-29 - 1.1.2 - ci
|
||||||
|
|
||||||
CI fixes.
|
CI fixes.
|
||||||
|
|
||||||
- Fixed GitLab CI configuration.
|
- Fixed GitLab CI configuration.
|
||||||
|
|
||||||
## 2016-07-28 - 1.1.1 - ci
|
## 2016-07-28 - 1.1.1 - ci
|
||||||
|
|
||||||
CI fixes and configuration.
|
CI fixes and configuration.
|
||||||
|
|
||||||
- Fixed gitlab.yml and CI issues.
|
- Fixed gitlab.yml and CI issues.
|
||||||
|
|
||||||
## 2016-07-28 - 1.1.0 - feature
|
## 2016-07-28 - 1.1.0 - feature
|
||||||
|
|
||||||
Docker-in-Docker support.
|
Docker-in-Docker support.
|
||||||
|
|
||||||
- Improved support for Docker-in-Docker scenarios.
|
- Improved support for Docker-in-Docker scenarios.
|
||||||
|
|
||||||
## 2016-07-28 - 1.0.5 - feature & ci
|
## 2016-07-28 - 1.0.5 - feature & ci
|
||||||
|
|
||||||
Docker socket option and CI update.
|
Docker socket option and CI update.
|
||||||
|
|
||||||
- Added dockerSock option.
|
- Added dockerSock option.
|
||||||
- Updated .gitlab-ci.yml.
|
- Updated .gitlab-ci.yml.
|
||||||
|
|
||||||
## 2016-07-19 - 1.0.4 - release (no code changes)
|
## 2016-07-19 - 1.0.4 - release (no code changes)
|
||||||
|
|
||||||
Tagged release with no recorded source changes.
|
Tagged release with no recorded source changes.
|
||||||
|
|
||||||
- Tagged release only (no changelogged changes).
|
- Tagged release only (no changelogged changes).
|
||||||
|
|
||||||
## 2016-07-19 - 1.0.3 - feature
|
## 2016-07-19 - 1.0.3 - feature
|
||||||
|
|
||||||
Environment tagging.
|
Environment tagging.
|
||||||
|
|
||||||
- Added environment tag support.
|
- Added environment tag support.
|
||||||
|
|
||||||
## 2016-07-19 - 1.0.2 - milestone
|
## 2016-07-19 - 1.0.2 - milestone
|
||||||
|
|
||||||
CLI and stability improvements.
|
CLI and stability improvements.
|
||||||
|
|
||||||
- Wired up CLI usage.
|
- Wired up CLI usage.
|
||||||
- Marked as fully working.
|
- Marked as fully working.
|
||||||
|
|
||||||
## 2016-07-19 - 1.0.1 - initial improvements
|
## 2016-07-19 - 1.0.1 - initial improvements
|
||||||
|
|
||||||
Early project refinements and Docker integration.
|
Early project refinements and Docker integration.
|
||||||
|
|
||||||
- Added/updated Docker integration and configuration.
|
- Added/updated Docker integration and configuration.
|
||||||
@@ -283,6 +368,7 @@ Early project refinements and Docker integration.
|
|||||||
- Updated Docker handling and removed test artifacts.
|
- Updated Docker handling and removed test artifacts.
|
||||||
|
|
||||||
## 2016-07-13 - 1.0.0 - initial
|
## 2016-07-13 - 1.0.0 - initial
|
||||||
|
|
||||||
Initial release.
|
Initial release.
|
||||||
|
|
||||||
- Added README and initial project scaffolding.
|
- Added README and initial project scaffolding.
|
||||||
2
cli.js
2
cli.js
@@ -1,3 +1,3 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
process.env.CLI_CALL = 'true';
|
process.env.CLI_CALL = 'true';
|
||||||
require('./dist/index');
|
import('./dist_ts/index.js');
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
process.env.CLI_CALL = 'true';
|
|
||||||
require('@git.zone/tsrun');
|
|
||||||
require('./ts/index');
|
|
||||||
@@ -3,18 +3,25 @@
|
|||||||
"mode": "default",
|
"mode": "default",
|
||||||
"cli": true
|
"cli": true
|
||||||
},
|
},
|
||||||
"npmci": {
|
"@git.zone/cli": {
|
||||||
"npmGlobalTools": [],
|
"projectType": "npm",
|
||||||
"npmAccessLevel": "public"
|
|
||||||
},
|
|
||||||
"gitzone": {
|
|
||||||
"module": {
|
"module": {
|
||||||
"githost": "gitlab.com",
|
"githost": "gitlab.com",
|
||||||
"gitscope": "gitzone",
|
"gitscope": "gitzone",
|
||||||
"gitrepo": "npmdocker",
|
"gitrepo": "tsdocker",
|
||||||
"shortDescription": "develop npm modules cross platform with docker",
|
"description": "develop npm modules cross platform with docker",
|
||||||
"npmPackagename": "@gitzone/npmdocker",
|
"npmPackagename": "@git.zone/tsdocker",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
}
|
},
|
||||||
|
"release": {
|
||||||
|
"accessLevel": "public",
|
||||||
|
"registries": [
|
||||||
|
"https://verdaccio.lossless.digital",
|
||||||
|
"https://registry.npmjs.org"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@ship.zone/szci": {
|
||||||
|
"npmGlobalTools": []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
28061
package-lock.json
generated
28061
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
57
package.json
57
package.json
@@ -1,27 +1,29 @@
|
|||||||
{
|
{
|
||||||
"name": "@gitzone/tsdocker",
|
"name": "@git.zone/tsdocker",
|
||||||
"version": "1.2.41",
|
"version": "1.3.0",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "develop npm modules cross platform with docker",
|
"description": "develop npm modules cross platform with docker",
|
||||||
"main": "dist/index.js",
|
"main": "dist_ts/index.js",
|
||||||
"typings": "dist/index.d.ts",
|
"typings": "dist_ts/index.d.ts",
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsdocker": "cli.js"
|
"tsdocker": "cli.js"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(npm run clean && npm run setupCheck && npm run testStandard && npm run testSpeed)",
|
"test": "(npm run build)",
|
||||||
"build": "(tsbuild)",
|
"build": "(tsbuild)",
|
||||||
"testStandard": "(cd test/ && node ../cli.ts.js)",
|
"testIntegration": "(npm run clean && npm run setupCheck && npm run testStandard)",
|
||||||
"testSpeed": "(cd test/ && node ../cli.ts.js speedtest)",
|
"testStandard": "(cd test/ && tsx ../ts/index.ts)",
|
||||||
"testClean": "(cd test/ && node ../cli.ts.js clean --all)",
|
"testSpeed": "(cd test/ && tsx ../ts/index.ts speedtest)",
|
||||||
"testVscode": "(cd test/ && node ../cli.ts.js vscode)",
|
"testClean": "(cd test/ && tsx ../ts/index.ts clean --all)",
|
||||||
|
"testVscode": "(cd test/ && tsx ../ts/index.ts vscode)",
|
||||||
"clean": "(rm -rf test/)",
|
"clean": "(rm -rf test/)",
|
||||||
"compile": "(npmts --notest)",
|
"compile": "(npmts --notest)",
|
||||||
"setupCheck": "(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)"
|
"setupCheck": "(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)",
|
||||||
|
"buildDocs": "tsdoc"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+ssh://git@gitlab.com/gitzone/npmdocker.git"
|
"url": "https://gitlab.com/gitzone/tsdocker.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"docker"
|
"docker"
|
||||||
@@ -29,22 +31,22 @@
|
|||||||
"author": "Lossless GmbH",
|
"author": "Lossless GmbH",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://gitlab.com/gitzone/npmdocker/issues"
|
"url": "https://gitlab.com/gitzone/tsdocker/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://gitlab.com/gitzone/npmdocker#README",
|
"homepage": "https://gitlab.com/gitzone/tsdocker#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@git.zone/tsbuild": "^3.1.0",
|
"@git.zone/tsbuild": "^4.1.2",
|
||||||
"@git.zone/tsrun": "^2.0.0",
|
"@git.zone/tsrun": "^2.0.1",
|
||||||
"@git.zone/tstest": "^3.1.3",
|
"@git.zone/tstest": "^3.1.6",
|
||||||
"@types/node": "^22.10.2"
|
"@types/node": "^25.0.9"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@push.rocks/npmextra": "^5.3.3",
|
"@push.rocks/npmextra": "^5.3.3",
|
||||||
"@push.rocks/projectinfo": "^5.0.2",
|
"@push.rocks/projectinfo": "^5.0.2",
|
||||||
"@push.rocks/qenv": "^6.1.3",
|
"@push.rocks/qenv": "^6.1.3",
|
||||||
"@push.rocks/smartanalytics": "^2.0.15",
|
"@push.rocks/smartanalytics": "^2.0.15",
|
||||||
"@push.rocks/smartcli": "^4.0.19",
|
"@push.rocks/smartcli": "^4.0.20",
|
||||||
"@push.rocks/smartfs": "^1.1.0",
|
"@push.rocks/smartfs": "^1.3.1",
|
||||||
"@push.rocks/smartlog": "^3.1.10",
|
"@push.rocks/smartlog": "^3.1.10",
|
||||||
"@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",
|
||||||
@@ -52,5 +54,22 @@
|
|||||||
"@push.rocks/smartpromise": "^4.2.3",
|
"@push.rocks/smartpromise": "^4.2.3",
|
||||||
"@push.rocks/smartshell": "^3.3.0",
|
"@push.rocks/smartshell": "^3.3.0",
|
||||||
"@push.rocks/smartstring": "^4.1.0"
|
"@push.rocks/smartstring": "^4.1.0"
|
||||||
|
},
|
||||||
|
"packageManager": "pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34",
|
||||||
|
"type": "module",
|
||||||
|
"files": [
|
||||||
|
"ts/**/*",
|
||||||
|
"ts_web/**/*",
|
||||||
|
"dist/**/*",
|
||||||
|
"dist_*/**/*",
|
||||||
|
"dist_ts/**/*",
|
||||||
|
"dist_ts_web/**/*",
|
||||||
|
"assets/**/*",
|
||||||
|
"cli.js",
|
||||||
|
"npmextra.json",
|
||||||
|
"readme.md"
|
||||||
|
],
|
||||||
|
"pnpm": {
|
||||||
|
"overrides": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
392
pnpm-lock.yaml
generated
392
pnpm-lock.yaml
generated
@@ -21,11 +21,11 @@ importers:
|
|||||||
specifier: ^2.0.15
|
specifier: ^2.0.15
|
||||||
version: 2.0.15
|
version: 2.0.15
|
||||||
'@push.rocks/smartcli':
|
'@push.rocks/smartcli':
|
||||||
specifier: ^4.0.19
|
specifier: ^4.0.20
|
||||||
version: 4.0.19
|
version: 4.0.20
|
||||||
'@push.rocks/smartfs':
|
'@push.rocks/smartfs':
|
||||||
specifier: ^1.1.0
|
specifier: ^1.3.1
|
||||||
version: 1.1.0
|
version: 1.3.1
|
||||||
'@push.rocks/smartlog':
|
'@push.rocks/smartlog':
|
||||||
specifier: ^3.1.10
|
specifier: ^3.1.10
|
||||||
version: 3.1.10
|
version: 3.1.10
|
||||||
@@ -49,17 +49,17 @@ importers:
|
|||||||
version: 4.1.0
|
version: 4.1.0
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@git.zone/tsbuild':
|
'@git.zone/tsbuild':
|
||||||
specifier: ^3.1.0
|
specifier: ^4.1.2
|
||||||
version: 3.1.0
|
version: 4.1.2
|
||||||
'@git.zone/tsrun':
|
'@git.zone/tsrun':
|
||||||
specifier: ^2.0.0
|
specifier: ^2.0.1
|
||||||
version: 2.0.0
|
version: 2.0.1
|
||||||
'@git.zone/tstest':
|
'@git.zone/tstest':
|
||||||
specifier: ^3.1.3
|
specifier: ^3.1.6
|
||||||
version: 3.1.3(socks@2.8.7)(typescript@5.9.3)
|
version: 3.1.6(socks@2.8.7)(typescript@5.9.3)
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^22.10.2
|
specifier: ^25.0.9
|
||||||
version: 22.19.1
|
version: 25.0.9
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
@@ -285,174 +285,330 @@ packages:
|
|||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [aix]
|
os: [aix]
|
||||||
|
|
||||||
|
'@esbuild/aix-ppc64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [ppc64]
|
||||||
|
os: [aix]
|
||||||
|
|
||||||
'@esbuild/android-arm64@0.25.12':
|
'@esbuild/android-arm64@0.25.12':
|
||||||
resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
|
resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [android]
|
os: [android]
|
||||||
|
|
||||||
|
'@esbuild/android-arm64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
'@esbuild/android-arm@0.25.12':
|
'@esbuild/android-arm@0.25.12':
|
||||||
resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
|
resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [android]
|
os: [android]
|
||||||
|
|
||||||
|
'@esbuild/android-arm@0.27.2':
|
||||||
|
resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
'@esbuild/android-x64@0.25.12':
|
'@esbuild/android-x64@0.25.12':
|
||||||
resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
|
resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [android]
|
os: [android]
|
||||||
|
|
||||||
|
'@esbuild/android-x64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
'@esbuild/darwin-arm64@0.25.12':
|
'@esbuild/darwin-arm64@0.25.12':
|
||||||
resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
|
resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
|
'@esbuild/darwin-arm64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [darwin]
|
||||||
|
|
||||||
'@esbuild/darwin-x64@0.25.12':
|
'@esbuild/darwin-x64@0.25.12':
|
||||||
resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
|
resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
|
'@esbuild/darwin-x64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [darwin]
|
||||||
|
|
||||||
'@esbuild/freebsd-arm64@0.25.12':
|
'@esbuild/freebsd-arm64@0.25.12':
|
||||||
resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
|
resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
|
|
||||||
|
'@esbuild/freebsd-arm64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [freebsd]
|
||||||
|
|
||||||
'@esbuild/freebsd-x64@0.25.12':
|
'@esbuild/freebsd-x64@0.25.12':
|
||||||
resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
|
resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
|
|
||||||
|
'@esbuild/freebsd-x64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [freebsd]
|
||||||
|
|
||||||
'@esbuild/linux-arm64@0.25.12':
|
'@esbuild/linux-arm64@0.25.12':
|
||||||
resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
|
resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@esbuild/linux-arm64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@esbuild/linux-arm@0.25.12':
|
'@esbuild/linux-arm@0.25.12':
|
||||||
resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
|
resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@esbuild/linux-arm@0.27.2':
|
||||||
|
resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@esbuild/linux-ia32@0.25.12':
|
'@esbuild/linux-ia32@0.25.12':
|
||||||
resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
|
resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@esbuild/linux-ia32@0.27.2':
|
||||||
|
resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [ia32]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@esbuild/linux-loong64@0.25.12':
|
'@esbuild/linux-loong64@0.25.12':
|
||||||
resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
|
resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [loong64]
|
cpu: [loong64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@esbuild/linux-loong64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [loong64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@esbuild/linux-mips64el@0.25.12':
|
'@esbuild/linux-mips64el@0.25.12':
|
||||||
resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
|
resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [mips64el]
|
cpu: [mips64el]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@esbuild/linux-mips64el@0.27.2':
|
||||||
|
resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [mips64el]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@esbuild/linux-ppc64@0.25.12':
|
'@esbuild/linux-ppc64@0.25.12':
|
||||||
resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
|
resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@esbuild/linux-ppc64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [ppc64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@esbuild/linux-riscv64@0.25.12':
|
'@esbuild/linux-riscv64@0.25.12':
|
||||||
resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
|
resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@esbuild/linux-riscv64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [riscv64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@esbuild/linux-s390x@0.25.12':
|
'@esbuild/linux-s390x@0.25.12':
|
||||||
resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
|
resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@esbuild/linux-s390x@0.27.2':
|
||||||
|
resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [s390x]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@esbuild/linux-x64@0.25.12':
|
'@esbuild/linux-x64@0.25.12':
|
||||||
resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
|
resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@esbuild/linux-x64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@esbuild/netbsd-arm64@0.25.12':
|
'@esbuild/netbsd-arm64@0.25.12':
|
||||||
resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
|
resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [netbsd]
|
os: [netbsd]
|
||||||
|
|
||||||
|
'@esbuild/netbsd-arm64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [netbsd]
|
||||||
|
|
||||||
'@esbuild/netbsd-x64@0.25.12':
|
'@esbuild/netbsd-x64@0.25.12':
|
||||||
resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
|
resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [netbsd]
|
os: [netbsd]
|
||||||
|
|
||||||
|
'@esbuild/netbsd-x64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [netbsd]
|
||||||
|
|
||||||
'@esbuild/openbsd-arm64@0.25.12':
|
'@esbuild/openbsd-arm64@0.25.12':
|
||||||
resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
|
resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [openbsd]
|
os: [openbsd]
|
||||||
|
|
||||||
|
'@esbuild/openbsd-arm64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [openbsd]
|
||||||
|
|
||||||
'@esbuild/openbsd-x64@0.25.12':
|
'@esbuild/openbsd-x64@0.25.12':
|
||||||
resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
|
resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [openbsd]
|
os: [openbsd]
|
||||||
|
|
||||||
|
'@esbuild/openbsd-x64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [openbsd]
|
||||||
|
|
||||||
'@esbuild/openharmony-arm64@0.25.12':
|
'@esbuild/openharmony-arm64@0.25.12':
|
||||||
resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
|
resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [openharmony]
|
os: [openharmony]
|
||||||
|
|
||||||
|
'@esbuild/openharmony-arm64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [openharmony]
|
||||||
|
|
||||||
'@esbuild/sunos-x64@0.25.12':
|
'@esbuild/sunos-x64@0.25.12':
|
||||||
resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
|
resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [sunos]
|
os: [sunos]
|
||||||
|
|
||||||
|
'@esbuild/sunos-x64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [sunos]
|
||||||
|
|
||||||
'@esbuild/win32-arm64@0.25.12':
|
'@esbuild/win32-arm64@0.25.12':
|
||||||
resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
|
resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
|
'@esbuild/win32-arm64@0.27.2':
|
||||||
|
resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
'@esbuild/win32-ia32@0.25.12':
|
'@esbuild/win32-ia32@0.25.12':
|
||||||
resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
|
resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
|
'@esbuild/win32-ia32@0.27.2':
|
||||||
|
resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [ia32]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
'@esbuild/win32-x64@0.25.12':
|
'@esbuild/win32-x64@0.25.12':
|
||||||
resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
|
resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@git.zone/tsbuild@3.1.0':
|
'@esbuild/win32-x64@0.27.2':
|
||||||
resolution: {integrity: sha512-j8lMd84pmzWiU6NG3e+pyu0o41oo6mQVfcZv8kDsCrQwZMhoQV9Jp87MlU0i/XI5IZkqDjelG8Kx1QhOmbK+iQ==}
|
resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
|
'@git.zone/tsbuild@4.1.2':
|
||||||
|
resolution: {integrity: sha512-S518ulKveO76pS6jrAELrnFaCw5nDAIZD9j6QzVmLYDiZuJmlRwPK3/2E8ugQ+b7ffpkwJ9MT685ooEGDcWQ4Q==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
'@git.zone/tsbundle@2.5.2':
|
'@git.zone/tsbundle@2.5.2':
|
||||||
resolution: {integrity: sha512-EYTCfunqoxhxkowREZ+cJnww6eDh9cL18HJbHbSZ+vxzNeyS9x8mT9aqRlWkI7zgpvgDlGIYlyRUlUISXkQO6Q==}
|
resolution: {integrity: sha512-EYTCfunqoxhxkowREZ+cJnww6eDh9cL18HJbHbSZ+vxzNeyS9x8mT9aqRlWkI7zgpvgDlGIYlyRUlUISXkQO6Q==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
'@git.zone/tspublish@1.10.3':
|
'@git.zone/tspublish@1.11.0':
|
||||||
resolution: {integrity: sha512-o2/jvNsdLC8SRdH1kQ7JjNOQNu9el0FpJ/QOW3mgiC5C9reuTp18iU4kijsVVLgvw4KZv6Z289SoKPh3HPsS0g==}
|
resolution: {integrity: sha512-dkgaDBTzZJ53lAV72r7OW/W7l/KqpkncFuPojr11JO35OKAbjjDhZbAwPv4oGX9NplyXrhC5VJRPNX/orqNTHA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
'@git.zone/tsrun@2.0.0':
|
'@git.zone/tsrun@2.0.1':
|
||||||
resolution: {integrity: sha512-yA6zCjL+kn7xfZe6sL/m4K+zYqgkznG/pF6++i/E17iwzpG6dHmW+VZmYldHe86sW4DcLMvqM6CxM+KlgaEpKw==}
|
resolution: {integrity: sha512-NEcnsjvlC1o3Z6SS3VhKCf6Ev+Sh4EAinmggslrIR/ppMrvjDbXNFXoyr3PB+GLeSAR0JRZ1fGvVYjpEzjBdIg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
'@git.zone/tstest@3.1.3':
|
'@git.zone/tstest@3.1.6':
|
||||||
resolution: {integrity: sha512-t+/cKV21JHK8X7NGAmihs5M/eMm+V+jn4R5rzfwGG97WJFAcP5qE1Os9VYtyZw3tx/NZXA2yA4abo/ELluTuRA==}
|
resolution: {integrity: sha512-xRGc6wO4rJ6mohPCMIBDRH+oNjiIvX6Jeo8v/Y5o5VyKSHFmqol7FCKSBrojMcqgBpESnLHFPJAAOmT9W3JV8Q==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
'@happy-dom/global-registrator@15.11.7':
|
'@happy-dom/global-registrator@15.11.7':
|
||||||
@@ -624,9 +780,10 @@ packages:
|
|||||||
|
|
||||||
'@push.rocks/smartchok@1.1.1':
|
'@push.rocks/smartchok@1.1.1':
|
||||||
resolution: {integrity: sha512-WmNigGmn1muBJMANVuJb4F8x3TzgYrnn6YZm6ixTsG+0WFbYevivEwp+J4S7npobLHsR7ynf+Ky8LxRYmsL50A==}
|
resolution: {integrity: sha512-WmNigGmn1muBJMANVuJb4F8x3TzgYrnn6YZm6ixTsG+0WFbYevivEwp+J4S7npobLHsR7ynf+Ky8LxRYmsL50A==}
|
||||||
|
deprecated: This package has been renamed. Please use @push.rocks/smartwatch instead.
|
||||||
|
|
||||||
'@push.rocks/smartcli@4.0.19':
|
'@push.rocks/smartcli@4.0.20':
|
||||||
resolution: {integrity: sha512-s1jZSgDZWi/az26AY4TJ2HPuG1qZzGC5R9fKWaECLmwnSpk6y9JXL5dnJAUohcdu50kdXCWEcRmLfYxOt81vEA==}
|
resolution: {integrity: sha512-gCo4ItvsPj8WoVAJw/6vkuoGA5FtIoACux2ktcCeH0nrFe7/xGR6waJ1aZcYAi7QN4gi52TlsgwuKz7BzXqhmQ==}
|
||||||
|
|
||||||
'@push.rocks/smartclickhouse@2.0.17':
|
'@push.rocks/smartclickhouse@2.0.17':
|
||||||
resolution: {integrity: sha512-IYO8Obor/Ruam2KQ2B/+5uQ+rL0exU5KZoSgOc3jkkrfjn+zZenN2xoV8lVqavAtxZVfG7MfxFrcv6I7I9ZMmA==}
|
resolution: {integrity: sha512-IYO8Obor/Ruam2KQ2B/+5uQ+rL0exU5KZoSgOc3jkkrfjn+zZenN2xoV8lVqavAtxZVfG7MfxFrcv6I7I9ZMmA==}
|
||||||
@@ -670,8 +827,11 @@ packages:
|
|||||||
'@push.rocks/smartfile@11.2.7':
|
'@push.rocks/smartfile@11.2.7':
|
||||||
resolution: {integrity: sha512-8Yp7/sAgPpWJBHohV92ogHWKzRomI5MEbSG6b5W2n18tqwfAmjMed0rQvsvGrSBlnEWCKgoOrYIIZbLO61+J0Q==}
|
resolution: {integrity: sha512-8Yp7/sAgPpWJBHohV92ogHWKzRomI5MEbSG6b5W2n18tqwfAmjMed0rQvsvGrSBlnEWCKgoOrYIIZbLO61+J0Q==}
|
||||||
|
|
||||||
'@push.rocks/smartfs@1.1.0':
|
'@push.rocks/smartfile@13.1.2':
|
||||||
resolution: {integrity: sha512-fg8JIjFUPPX5laRoBpTaGwhMfZ3Y8mFT4fUaW54Y4J/BfOBa/y0+rIFgvgvqcOZgkQlyZU+FIfL8Z6zezqxyTg==}
|
resolution: {integrity: sha512-DaEhwmnGEpX4coeeToaw4cZe3pNBhH7CY1iGr+d3pIXihozREvzzAR9/0i2r7bUXXL5+Lgy8YYIk5ZS+fwxMKA==}
|
||||||
|
|
||||||
|
'@push.rocks/smartfs@1.3.1':
|
||||||
|
resolution: {integrity: sha512-ZSduVS8tM+/erbyCTvRRvc9gLWwbpqN5xdIIkMr+gub7fowSeJb7tR2rnGwySa63DyimU0q2KTp79VV9YqGLeg==}
|
||||||
|
|
||||||
'@push.rocks/smartguard@3.1.0':
|
'@push.rocks/smartguard@3.1.0':
|
||||||
resolution: {integrity: sha512-J23q84f1O+TwFGmd4lrO9XLHUh2DaLXo9PN/9VmTWYzTkQDv5JehmifXVI0esophXcCIfbdIu6hbt7/aHlDF4A==}
|
resolution: {integrity: sha512-J23q84f1O+TwFGmd4lrO9XLHUh2DaLXo9PN/9VmTWYzTkQDv5JehmifXVI0esophXcCIfbdIu6hbt7/aHlDF4A==}
|
||||||
@@ -1363,6 +1523,9 @@ packages:
|
|||||||
'@types/node@22.19.1':
|
'@types/node@22.19.1':
|
||||||
resolution: {integrity: sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==}
|
resolution: {integrity: sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==}
|
||||||
|
|
||||||
|
'@types/node@25.0.9':
|
||||||
|
resolution: {integrity: sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw==}
|
||||||
|
|
||||||
'@types/ping@0.4.4':
|
'@types/ping@0.4.4':
|
||||||
resolution: {integrity: sha512-ifvo6w2f5eJYlXm+HiVx67iJe8WZp87sfa683nlqED5Vnt9Z93onkokNoWqOG21EaE8fMxyKPobE+mkPEyxsdw==}
|
resolution: {integrity: sha512-ifvo6w2f5eJYlXm+HiVx67iJe8WZp87sfa683nlqED5Vnt9Z93onkokNoWqOG21EaE8fMxyKPobE+mkPEyxsdw==}
|
||||||
|
|
||||||
@@ -1914,6 +2077,11 @@ packages:
|
|||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
esbuild@0.27.2:
|
||||||
|
resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
escalade@3.2.0:
|
escalade@3.2.0:
|
||||||
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
|
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@@ -3301,8 +3469,8 @@ packages:
|
|||||||
tslib@2.8.1:
|
tslib@2.8.1:
|
||||||
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
|
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
|
||||||
|
|
||||||
tsx@4.20.6:
|
tsx@4.21.0:
|
||||||
resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==}
|
resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -3353,6 +3521,9 @@ packages:
|
|||||||
undici-types@6.21.0:
|
undici-types@6.21.0:
|
||||||
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
|
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
|
||||||
|
|
||||||
|
undici-types@7.16.0:
|
||||||
|
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
|
||||||
|
|
||||||
unified@11.0.5:
|
unified@11.0.5:
|
||||||
resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
|
resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
|
||||||
|
|
||||||
@@ -4153,88 +4324,167 @@ snapshots:
|
|||||||
'@esbuild/aix-ppc64@0.25.12':
|
'@esbuild/aix-ppc64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/aix-ppc64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/android-arm64@0.25.12':
|
'@esbuild/android-arm64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/android-arm64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/android-arm@0.25.12':
|
'@esbuild/android-arm@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/android-arm@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/android-x64@0.25.12':
|
'@esbuild/android-x64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/android-x64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/darwin-arm64@0.25.12':
|
'@esbuild/darwin-arm64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/darwin-arm64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/darwin-x64@0.25.12':
|
'@esbuild/darwin-x64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/darwin-x64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/freebsd-arm64@0.25.12':
|
'@esbuild/freebsd-arm64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/freebsd-arm64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/freebsd-x64@0.25.12':
|
'@esbuild/freebsd-x64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/freebsd-x64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/linux-arm64@0.25.12':
|
'@esbuild/linux-arm64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/linux-arm64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/linux-arm@0.25.12':
|
'@esbuild/linux-arm@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/linux-arm@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/linux-ia32@0.25.12':
|
'@esbuild/linux-ia32@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/linux-ia32@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/linux-loong64@0.25.12':
|
'@esbuild/linux-loong64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/linux-loong64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/linux-mips64el@0.25.12':
|
'@esbuild/linux-mips64el@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/linux-mips64el@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/linux-ppc64@0.25.12':
|
'@esbuild/linux-ppc64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/linux-ppc64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/linux-riscv64@0.25.12':
|
'@esbuild/linux-riscv64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/linux-riscv64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/linux-s390x@0.25.12':
|
'@esbuild/linux-s390x@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/linux-s390x@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/linux-x64@0.25.12':
|
'@esbuild/linux-x64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/linux-x64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/netbsd-arm64@0.25.12':
|
'@esbuild/netbsd-arm64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/netbsd-arm64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/netbsd-x64@0.25.12':
|
'@esbuild/netbsd-x64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/netbsd-x64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/openbsd-arm64@0.25.12':
|
'@esbuild/openbsd-arm64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/openbsd-arm64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/openbsd-x64@0.25.12':
|
'@esbuild/openbsd-x64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/openbsd-x64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/openharmony-arm64@0.25.12':
|
'@esbuild/openharmony-arm64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/openharmony-arm64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/sunos-x64@0.25.12':
|
'@esbuild/sunos-x64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/sunos-x64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/win32-arm64@0.25.12':
|
'@esbuild/win32-arm64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/win32-arm64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/win32-ia32@0.25.12':
|
'@esbuild/win32-ia32@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@esbuild/win32-ia32@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@esbuild/win32-x64@0.25.12':
|
'@esbuild/win32-x64@0.25.12':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@git.zone/tsbuild@3.1.0':
|
'@esbuild/win32-x64@0.27.2':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@git.zone/tsbuild@4.1.2':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@git.zone/tspublish': 1.10.3
|
'@git.zone/tspublish': 1.11.0
|
||||||
'@push.rocks/early': 4.0.4
|
'@push.rocks/early': 4.0.4
|
||||||
'@push.rocks/smartcli': 4.0.19
|
'@push.rocks/smartcli': 4.0.20
|
||||||
'@push.rocks/smartdelay': 3.0.5
|
'@push.rocks/smartdelay': 3.0.5
|
||||||
'@push.rocks/smartfile': 11.2.7
|
'@push.rocks/smartfile': 13.1.2
|
||||||
|
'@push.rocks/smartfs': 1.3.1
|
||||||
'@push.rocks/smartlog': 3.1.10
|
'@push.rocks/smartlog': 3.1.10
|
||||||
'@push.rocks/smartpath': 6.0.0
|
'@push.rocks/smartpath': 6.0.0
|
||||||
'@push.rocks/smartpromise': 4.2.3
|
'@push.rocks/smartpromise': 4.2.3
|
||||||
@@ -4251,7 +4501,7 @@ snapshots:
|
|||||||
'@git.zone/tsbundle@2.5.2':
|
'@git.zone/tsbundle@2.5.2':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@push.rocks/early': 4.0.4
|
'@push.rocks/early': 4.0.4
|
||||||
'@push.rocks/smartcli': 4.0.19
|
'@push.rocks/smartcli': 4.0.20
|
||||||
'@push.rocks/smartdelay': 3.0.5
|
'@push.rocks/smartdelay': 3.0.5
|
||||||
'@push.rocks/smartfile': 11.2.7
|
'@push.rocks/smartfile': 11.2.7
|
||||||
'@push.rocks/smartlog': 3.1.10
|
'@push.rocks/smartlog': 3.1.10
|
||||||
@@ -4269,16 +4519,18 @@ snapshots:
|
|||||||
- '@swc/helpers'
|
- '@swc/helpers'
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@git.zone/tspublish@1.10.3':
|
'@git.zone/tspublish@1.11.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@push.rocks/consolecolor': 2.0.3
|
'@push.rocks/consolecolor': 2.0.3
|
||||||
'@push.rocks/smartcli': 4.0.19
|
'@push.rocks/npmextra': 5.3.3
|
||||||
|
'@push.rocks/smartcli': 4.0.20
|
||||||
'@push.rocks/smartdelay': 3.0.5
|
'@push.rocks/smartdelay': 3.0.5
|
||||||
'@push.rocks/smartfile': 11.2.7
|
'@push.rocks/smartfile': 13.1.2
|
||||||
|
'@push.rocks/smartfs': 1.3.1
|
||||||
'@push.rocks/smartlog': 3.1.10
|
'@push.rocks/smartlog': 3.1.10
|
||||||
'@push.rocks/smartnpm': 2.0.6
|
'@push.rocks/smartnpm': 2.0.6
|
||||||
'@push.rocks/smartpath': 6.0.0
|
'@push.rocks/smartpath': 6.0.0
|
||||||
'@push.rocks/smartrequest': 4.4.2
|
'@push.rocks/smartrequest': 5.0.1
|
||||||
'@push.rocks/smartshell': 3.3.0
|
'@push.rocks/smartshell': 3.3.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@nuxt/kit'
|
- '@nuxt/kit'
|
||||||
@@ -4289,17 +4541,17 @@ snapshots:
|
|||||||
- supports-color
|
- supports-color
|
||||||
- vue
|
- vue
|
||||||
|
|
||||||
'@git.zone/tsrun@2.0.0':
|
'@git.zone/tsrun@2.0.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@push.rocks/smartfile': 11.2.7
|
'@push.rocks/smartfile': 13.1.2
|
||||||
'@push.rocks/smartshell': 3.3.0
|
'@push.rocks/smartshell': 3.3.0
|
||||||
tsx: 4.20.6
|
tsx: 4.21.0
|
||||||
|
|
||||||
'@git.zone/tstest@3.1.3(socks@2.8.7)(typescript@5.9.3)':
|
'@git.zone/tstest@3.1.6(socks@2.8.7)(typescript@5.9.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@api.global/typedserver': 3.0.80
|
'@api.global/typedserver': 3.0.80
|
||||||
'@git.zone/tsbundle': 2.5.2
|
'@git.zone/tsbundle': 2.5.2
|
||||||
'@git.zone/tsrun': 2.0.0
|
'@git.zone/tsrun': 2.0.1
|
||||||
'@push.rocks/consolecolor': 2.0.3
|
'@push.rocks/consolecolor': 2.0.3
|
||||||
'@push.rocks/qenv': 6.1.3
|
'@push.rocks/qenv': 6.1.3
|
||||||
'@push.rocks/smartbrowser': 2.0.8(typescript@5.9.3)
|
'@push.rocks/smartbrowser': 2.0.8(typescript@5.9.3)
|
||||||
@@ -4727,7 +4979,7 @@ snapshots:
|
|||||||
chokidar: 4.0.3
|
chokidar: 4.0.3
|
||||||
picomatch: 4.0.3
|
picomatch: 4.0.3
|
||||||
|
|
||||||
'@push.rocks/smartcli@4.0.19':
|
'@push.rocks/smartcli@4.0.20':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@push.rocks/lik': 6.2.2
|
'@push.rocks/lik': 6.2.2
|
||||||
'@push.rocks/smartlog': 3.1.10
|
'@push.rocks/smartlog': 3.1.10
|
||||||
@@ -4870,7 +5122,24 @@ snapshots:
|
|||||||
glob: 11.1.0
|
glob: 11.1.0
|
||||||
js-yaml: 4.1.1
|
js-yaml: 4.1.1
|
||||||
|
|
||||||
'@push.rocks/smartfs@1.1.0':
|
'@push.rocks/smartfile@13.1.2':
|
||||||
|
dependencies:
|
||||||
|
'@push.rocks/lik': 6.2.2
|
||||||
|
'@push.rocks/smartdelay': 3.0.5
|
||||||
|
'@push.rocks/smartfile-interfaces': 1.0.7
|
||||||
|
'@push.rocks/smartfs': 1.3.1
|
||||||
|
'@push.rocks/smarthash': 3.2.6
|
||||||
|
'@push.rocks/smartjson': 5.2.0
|
||||||
|
'@push.rocks/smartmime': 2.0.4
|
||||||
|
'@push.rocks/smartpath': 6.0.0
|
||||||
|
'@push.rocks/smartpromise': 4.2.3
|
||||||
|
'@push.rocks/smartrequest': 4.4.2
|
||||||
|
'@push.rocks/smartstream': 3.2.5
|
||||||
|
'@types/js-yaml': 4.0.9
|
||||||
|
glob: 11.1.0
|
||||||
|
js-yaml: 4.1.1
|
||||||
|
|
||||||
|
'@push.rocks/smartfs@1.3.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@push.rocks/smartpath': 6.0.0
|
'@push.rocks/smartpath': 6.0.0
|
||||||
|
|
||||||
@@ -5936,6 +6205,10 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 6.21.0
|
undici-types: 6.21.0
|
||||||
|
|
||||||
|
'@types/node@25.0.9':
|
||||||
|
dependencies:
|
||||||
|
undici-types: 7.16.0
|
||||||
|
|
||||||
'@types/ping@0.4.4': {}
|
'@types/ping@0.4.4': {}
|
||||||
|
|
||||||
'@types/qs@6.14.0': {}
|
'@types/qs@6.14.0': {}
|
||||||
@@ -6504,6 +6777,35 @@ snapshots:
|
|||||||
'@esbuild/win32-ia32': 0.25.12
|
'@esbuild/win32-ia32': 0.25.12
|
||||||
'@esbuild/win32-x64': 0.25.12
|
'@esbuild/win32-x64': 0.25.12
|
||||||
|
|
||||||
|
esbuild@0.27.2:
|
||||||
|
optionalDependencies:
|
||||||
|
'@esbuild/aix-ppc64': 0.27.2
|
||||||
|
'@esbuild/android-arm': 0.27.2
|
||||||
|
'@esbuild/android-arm64': 0.27.2
|
||||||
|
'@esbuild/android-x64': 0.27.2
|
||||||
|
'@esbuild/darwin-arm64': 0.27.2
|
||||||
|
'@esbuild/darwin-x64': 0.27.2
|
||||||
|
'@esbuild/freebsd-arm64': 0.27.2
|
||||||
|
'@esbuild/freebsd-x64': 0.27.2
|
||||||
|
'@esbuild/linux-arm': 0.27.2
|
||||||
|
'@esbuild/linux-arm64': 0.27.2
|
||||||
|
'@esbuild/linux-ia32': 0.27.2
|
||||||
|
'@esbuild/linux-loong64': 0.27.2
|
||||||
|
'@esbuild/linux-mips64el': 0.27.2
|
||||||
|
'@esbuild/linux-ppc64': 0.27.2
|
||||||
|
'@esbuild/linux-riscv64': 0.27.2
|
||||||
|
'@esbuild/linux-s390x': 0.27.2
|
||||||
|
'@esbuild/linux-x64': 0.27.2
|
||||||
|
'@esbuild/netbsd-arm64': 0.27.2
|
||||||
|
'@esbuild/netbsd-x64': 0.27.2
|
||||||
|
'@esbuild/openbsd-arm64': 0.27.2
|
||||||
|
'@esbuild/openbsd-x64': 0.27.2
|
||||||
|
'@esbuild/openharmony-arm64': 0.27.2
|
||||||
|
'@esbuild/sunos-x64': 0.27.2
|
||||||
|
'@esbuild/win32-arm64': 0.27.2
|
||||||
|
'@esbuild/win32-ia32': 0.27.2
|
||||||
|
'@esbuild/win32-x64': 0.27.2
|
||||||
|
|
||||||
escalade@3.2.0: {}
|
escalade@3.2.0: {}
|
||||||
|
|
||||||
escape-html@1.0.3: {}
|
escape-html@1.0.3: {}
|
||||||
@@ -8259,9 +8561,9 @@ snapshots:
|
|||||||
|
|
||||||
tslib@2.8.1: {}
|
tslib@2.8.1: {}
|
||||||
|
|
||||||
tsx@4.20.6:
|
tsx@4.21.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.25.12
|
esbuild: 0.27.2
|
||||||
get-tsconfig: 4.13.0
|
get-tsconfig: 4.13.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
@@ -8298,6 +8600,8 @@ snapshots:
|
|||||||
|
|
||||||
undici-types@6.21.0: {}
|
undici-types@6.21.0: {}
|
||||||
|
|
||||||
|
undici-types@7.16.0: {}
|
||||||
|
|
||||||
unified@11.0.5:
|
unified@11.0.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/unist': 3.0.3
|
'@types/unist': 3.0.3
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
# tsdocker Project Hints
|
# tsdocker Project Hints
|
||||||
|
|
||||||
## Module Purpose
|
## Module Purpose
|
||||||
|
|
||||||
tsdocker is a tool for developing npm modules cross-platform using Docker. It allows testing in clean, reproducible Linux environments locally.
|
tsdocker is a tool for developing npm modules cross-platform using Docker. It allows testing in clean, reproducible Linux environments locally.
|
||||||
|
|
||||||
## Recent Upgrades (2025-11-22)
|
## Recent Upgrades (2025-11-22)
|
||||||
- Updated all @gitzone/* dependencies to @git.zone/* scope (latest versions)
|
|
||||||
- Updated all @pushrocks/* dependencies to @push.rocks/* scope (latest versions)
|
- Updated all @git.zone/_ dependencies to @git.zone/_ scope (latest versions)
|
||||||
|
- Updated all @pushrocks/_ dependencies to @push.rocks/_ scope (latest versions)
|
||||||
- Migrated from smartfile v8 to smartfs v1.1.0
|
- Migrated from smartfile v8 to smartfs v1.1.0
|
||||||
- All filesystem operations now use smartfs fluent API
|
- All filesystem operations now use smartfs fluent API
|
||||||
- Operations are now async (smartfs is async-only)
|
- Operations are now async (smartfs is async-only)
|
||||||
@@ -18,17 +20,21 @@ tsdocker is a tool for developing npm modules cross-platform using Docker. It al
|
|||||||
- Removed tslint and tslint-config-prettier (no longer needed)
|
- Removed tslint and tslint-config-prettier (no longer needed)
|
||||||
|
|
||||||
## SmartFS Migration Details
|
## SmartFS Migration Details
|
||||||
|
|
||||||
The following operations were converted:
|
The following operations were converted:
|
||||||
|
|
||||||
- `smartfile.fs.fileExistsSync()` → Node.js `fs.existsSync()` (for sync needs)
|
- `smartfile.fs.fileExistsSync()` → Node.js `fs.existsSync()` (for sync needs)
|
||||||
- `smartfile.fs.ensureDirSync()` → Node.js `fs.mkdirSync(..., { recursive: true })`
|
- `smartfile.fs.ensureDirSync()` → Node.js `fs.mkdirSync(..., { recursive: true })`
|
||||||
- `smartfile.memory.toFsSync()` → `smartfs.file(path).write(content)` (async)
|
- `smartfile.memory.toFsSync()` → `smartfs.file(path).write(content)` (async)
|
||||||
- `smartfile.fs.removeSync()` → `smartfs.file(path).delete()` (async)
|
- `smartfile.fs.removeSync()` → `smartfs.file(path).delete()` (async)
|
||||||
|
|
||||||
## Test Status
|
## Test Status
|
||||||
|
|
||||||
- Build: ✅ Passes
|
- Build: ✅ Passes
|
||||||
- The integration test requires cloning an external test repository (sandbox-npmts)
|
- The integration test requires cloning an external test repository (sandbox-npmts)
|
||||||
- The external test repo uses top-level await which requires ESM module handling
|
- The external test repo uses top-level await which requires ESM module handling
|
||||||
- This is not a tsdocker issue but rather the test repository's structure
|
- This is not a tsdocker issue but rather the test repository's structure
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
All dependencies are now at their latest versions compatible with Node.js without introducing new Node.js-specific dependencies.
|
All dependencies are now at their latest versions compatible with Node.js without introducing new Node.js-specific dependencies.
|
||||||
|
|||||||
88
readme.md
88
readme.md
@@ -1,4 +1,4 @@
|
|||||||
# @gitzone/tsdocker
|
# @git.zone/tsdocker
|
||||||
|
|
||||||
> 🐳 Cross-platform npm module development with Docker — test your packages in clean, reproducible Linux environments every time.
|
> 🐳 Cross-platform npm module development with Docker — test your packages in clean, reproducible Linux environments every time.
|
||||||
|
|
||||||
@@ -18,28 +18,31 @@ For reporting bugs, issues, or security vulnerabilities, please visit [community
|
|||||||
## Features
|
## Features
|
||||||
|
|
||||||
✨ **Works Everywhere Docker Does**
|
✨ **Works Everywhere Docker Does**
|
||||||
|
|
||||||
- Docker Toolbox
|
- Docker Toolbox
|
||||||
- Native Docker Desktop
|
- Native Docker Desktop
|
||||||
- Docker-in-Docker (DinD)
|
- Docker-in-Docker (DinD)
|
||||||
- Mounted docker.sock scenarios
|
- Mounted docker.sock scenarios
|
||||||
|
|
||||||
🔧 **Flexible Configuration**
|
🔧 **Flexible Configuration**
|
||||||
|
|
||||||
- Custom base images
|
- Custom base images
|
||||||
- Configurable test commands
|
- Configurable test commands
|
||||||
- Environment variable injection via qenv
|
- Environment variable injection via qenv
|
||||||
- Optional docker.sock mounting for nested container tests
|
- Optional docker.sock mounting for nested container tests
|
||||||
|
|
||||||
📦 **TypeScript-First**
|
📦 **TypeScript-First**
|
||||||
|
|
||||||
- Full TypeScript support with excellent IntelliSense
|
- Full TypeScript support with excellent IntelliSense
|
||||||
- Type-safe configuration
|
- Type-safe configuration
|
||||||
- Modern async/await patterns throughout
|
- Modern ESM with async/await patterns throughout
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm install --save-dev @gitzone/tsdocker
|
npm install -g @git.zone/tsdocker
|
||||||
# or
|
# or for project-local installation
|
||||||
pnpm install --save-dev @gitzone/tsdocker
|
pnpm install --save-dev @git.zone/tsdocker
|
||||||
```
|
```
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
@@ -50,9 +53,9 @@ Create an `npmextra.json` file in your project root:
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"npmdocker": {
|
"@git.zone/tsdocker": {
|
||||||
"baseImage": "hosttoday/ht-docker-node:npmts",
|
"baseImage": "node:20",
|
||||||
"command": "npmci test stable",
|
"command": "npm test",
|
||||||
"dockerSock": false
|
"dockerSock": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -61,10 +64,11 @@ Create an `npmextra.json` file in your project root:
|
|||||||
### 2. Run Your Tests
|
### 2. Run Your Tests
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx tsdocker
|
tsdocker
|
||||||
```
|
```
|
||||||
|
|
||||||
That's it! tsdocker will:
|
That's it! tsdocker will:
|
||||||
|
|
||||||
1. ✅ Verify Docker is available
|
1. ✅ Verify Docker is available
|
||||||
2. 🏗️ Build a test container with your specified base image
|
2. 🏗️ Build a test container with your specified base image
|
||||||
3. 📂 Mount your project directory
|
3. 📂 Mount your project directory
|
||||||
@@ -74,7 +78,7 @@ That's it! tsdocker will:
|
|||||||
## Configuration Options
|
## Configuration Options
|
||||||
|
|
||||||
| Option | Type | Description |
|
| Option | Type | Description |
|
||||||
|--------|------|-------------|
|
| ------------ | --------- | ---------------------------------------------------------------------- |
|
||||||
| `baseImage` | `string` | Docker image to use as the test environment base |
|
| `baseImage` | `string` | Docker image to use as the test environment base |
|
||||||
| `command` | `string` | CLI command to execute inside the container |
|
| `command` | `string` | CLI command to execute inside the container |
|
||||||
| `dockerSock` | `boolean` | Whether to mount `/var/run/docker.sock` for Docker-in-Docker scenarios |
|
| `dockerSock` | `boolean` | Whether to mount `/var/run/docker.sock` for Docker-in-Docker scenarios |
|
||||||
@@ -84,6 +88,7 @@ That's it! tsdocker will:
|
|||||||
If you have a `qenv.yml` file in your project, tsdocker automatically loads and injects those environment variables into your test container.
|
If you have a `qenv.yml` file in your project, tsdocker automatically loads and injects those environment variables into your test container.
|
||||||
|
|
||||||
Example `qenv.yml`:
|
Example `qenv.yml`:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
demoKey: demoValue
|
demoKey: demoValue
|
||||||
API_KEY: your-key-here
|
API_KEY: your-key-here
|
||||||
@@ -92,16 +97,21 @@ API_KEY: your-key-here
|
|||||||
## CLI Commands
|
## CLI Commands
|
||||||
|
|
||||||
### Standard Test Run
|
### Standard Test Run
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
tsdocker
|
tsdocker
|
||||||
```
|
```
|
||||||
|
|
||||||
Runs your configured test command in a fresh Docker container.
|
Runs your configured test command in a fresh Docker container.
|
||||||
|
|
||||||
### Clean Docker Environment
|
### Clean Docker Environment
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
tsdocker clean --all
|
tsdocker clean --all
|
||||||
```
|
```
|
||||||
|
|
||||||
⚠️ **WARNING**: This aggressively cleans your Docker environment by:
|
⚠️ **WARNING**: This aggressively cleans your Docker environment by:
|
||||||
|
|
||||||
- Killing all running containers
|
- Killing all running containers
|
||||||
- Removing all stopped containers
|
- Removing all stopped containers
|
||||||
- Removing dangling images
|
- Removing dangling images
|
||||||
@@ -111,15 +121,19 @@ tsdocker clean --all
|
|||||||
Use with caution!
|
Use with caution!
|
||||||
|
|
||||||
### VSCode in Docker
|
### VSCode in Docker
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
tsdocker vscode
|
tsdocker vscode
|
||||||
```
|
```
|
||||||
|
|
||||||
Launches a containerized VS Code instance accessible via browser at `testing-vscode.git.zone:8443`.
|
Launches a containerized VS Code instance accessible via browser at `testing-vscode.git.zone:8443`.
|
||||||
|
|
||||||
### Speed Test
|
### Speed Test
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
tsdocker speedtest
|
tsdocker speedtest
|
||||||
```
|
```
|
||||||
|
|
||||||
Runs a network speed test inside a Docker container.
|
Runs a network speed test inside a Docker container.
|
||||||
|
|
||||||
## Advanced Usage
|
## Advanced Usage
|
||||||
@@ -130,7 +144,7 @@ If you need to run Docker commands inside your test container (e.g., testing Doc
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"npmdocker": {
|
"@git.zone/tsdocker": {
|
||||||
"baseImage": "docker:latest",
|
"baseImage": "docker:latest",
|
||||||
"command": "docker run hello-world",
|
"command": "docker run hello-world",
|
||||||
"dockerSock": true
|
"dockerSock": true
|
||||||
@@ -146,7 +160,7 @@ You can use any Docker image as your base:
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"npmdocker": {
|
"@git.zone/tsdocker": {
|
||||||
"baseImage": "node:20-alpine",
|
"baseImage": "node:20-alpine",
|
||||||
"command": "npm test"
|
"command": "npm test"
|
||||||
}
|
}
|
||||||
@@ -154,14 +168,16 @@ You can use any Docker image as your base:
|
|||||||
```
|
```
|
||||||
|
|
||||||
Popular choices:
|
Popular choices:
|
||||||
|
|
||||||
- `node:20` — Official Node.js images
|
- `node:20` — Official Node.js images
|
||||||
- `node:20-alpine` — Lightweight Alpine-based images
|
- `node:20-alpine` — Lightweight Alpine-based images
|
||||||
- `hosttoday/ht-docker-node:npmts` — Pre-configured with npmts tooling
|
- `node:lts` — Long-term support Node.js version
|
||||||
|
|
||||||
### CI Integration
|
### CI Integration
|
||||||
|
|
||||||
tsdocker automatically detects CI environments (via `CI=true` env var) and adjusts behavior:
|
tsdocker automatically detects CI environments (via `CI=true` env var) and adjusts behavior:
|
||||||
- Skips mounting project directory in CI (assumes code is already in container)
|
|
||||||
|
- Copies project files into container in CI (instead of mounting)
|
||||||
- Optimizes for CI execution patterns
|
- Optimizes for CI execution patterns
|
||||||
|
|
||||||
## Why tsdocker?
|
## Why tsdocker?
|
||||||
@@ -169,6 +185,7 @@ tsdocker automatically detects CI environments (via `CI=true` env var) and adjus
|
|||||||
### The Problem
|
### The Problem
|
||||||
|
|
||||||
Local development environments drift over time. You might have:
|
Local development environments drift over time. You might have:
|
||||||
|
|
||||||
- Stale global packages
|
- Stale global packages
|
||||||
- Modified system configurations
|
- Modified system configurations
|
||||||
- Cached dependencies
|
- Cached dependencies
|
||||||
@@ -190,22 +207,22 @@ tsdocker ensures every test run happens in a **clean, reproducible environment**
|
|||||||
tsdocker is built with TypeScript and provides full type definitions:
|
tsdocker is built with TypeScript and provides full type definitions:
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { IConfig } from '@gitzone/tsdocker/dist/tsdocker.config';
|
import type { IConfig } from '@git.zone/tsdocker/dist_ts/tsdocker.config.js';
|
||||||
|
|
||||||
const config: IConfig = {
|
const config: IConfig = {
|
||||||
baseImage: 'node:20',
|
baseImage: 'node:20',
|
||||||
command: 'npm test',
|
command: 'npm test',
|
||||||
dockerSock: false,
|
dockerSock: false,
|
||||||
keyValueObject: {
|
keyValueObject: {
|
||||||
NODE_ENV: 'test'
|
NODE_ENV: 'test',
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- **Docker**: Docker must be installed and accessible via CLI
|
- **Docker**: Docker must be installed and accessible via CLI
|
||||||
- **Node.js**: Version 14 or higher recommended
|
- **Node.js**: Version 18 or higher (ESM support required)
|
||||||
|
|
||||||
## How It Works
|
## How It Works
|
||||||
|
|
||||||
@@ -234,6 +251,7 @@ docker --version
|
|||||||
### Tests fail in container but work locally
|
### Tests fail in container but work locally
|
||||||
|
|
||||||
This often indicates environment-specific issues. Check:
|
This often indicates environment-specific issues. Check:
|
||||||
|
|
||||||
- Are all dependencies in `package.json`? (not relying on global packages)
|
- Are all dependencies in `package.json`? (not relying on global packages)
|
||||||
- Does your code have hardcoded paths?
|
- Does your code have hardcoded paths?
|
||||||
- Are environment variables set correctly?
|
- Are environment variables set correctly?
|
||||||
@@ -250,29 +268,32 @@ sudo usermod -aG docker $USER
|
|||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
### Basic npm test
|
### Basic npm test
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"npmdocker": {
|
"@git.zone/tsdocker": {
|
||||||
"baseImage": "node:20",
|
"baseImage": "node:20",
|
||||||
"command": "npm test"
|
"command": "npm test"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using npmci for multiple Node versions
|
### Running pnpm tests
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"npmdocker": {
|
"@git.zone/tsdocker": {
|
||||||
"baseImage": "hosttoday/ht-docker-node:npmts",
|
"baseImage": "node:20",
|
||||||
"command": "npmci test stable"
|
"command": "corepack enable && pnpm install && pnpm test"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Testing Docker-based tools
|
### Testing Docker-based tools
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"npmdocker": {
|
"@git.zone/tsdocker": {
|
||||||
"baseImage": "docker:latest",
|
"baseImage": "docker:latest",
|
||||||
"command": "sh -c 'docker version && docker ps'",
|
"command": "sh -c 'docker version && docker ps'",
|
||||||
"dockerSock": true
|
"dockerSock": true
|
||||||
@@ -286,25 +307,32 @@ sudo usermod -aG docker $USER
|
|||||||
🚀 **Layer caching**: Docker caches image layers — your base image only downloads once
|
🚀 **Layer caching**: Docker caches image layers — your base image only downloads once
|
||||||
🚀 **Prune regularly**: Run `docker system prune` periodically to reclaim disk space
|
🚀 **Prune regularly**: Run `docker system prune` periodically to reclaim disk space
|
||||||
|
|
||||||
## Migration from @gitzone/npmdocker
|
## Migration from legacy npmdocker
|
||||||
|
|
||||||
This package was previously published as `@gitzone/npmdocker`. The scope has been updated to `@gitzone/tsdocker` for better naming consistency. Functionality remains the same.
|
This package was previously published under the `npmdocker` name. It is now available as `@git.zone/tsdocker` with modernized ESM support and updated dependencies.
|
||||||
|
|
||||||
|
Key changes:
|
||||||
|
- Configuration key changed from `npmdocker` to `@git.zone/tsdocker` in `npmextra.json`
|
||||||
|
- CLI command is now `tsdocker` instead of `npmdocker`
|
||||||
|
- Full ESM support with `.js` extensions in imports
|
||||||
|
|
||||||
## License and Legal Information
|
## License and Legal Information
|
||||||
|
|
||||||
This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
|
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.
|
||||||
|
|
||||||
### Trademarks
|
### Trademarks
|
||||||
|
|
||||||
This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.
|
This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein.
|
||||||
|
|
||||||
|
Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar.
|
||||||
|
|
||||||
### Company Information
|
### Company Information
|
||||||
|
|
||||||
Task Venture Capital GmbH
|
Task Venture Capital GmbH
|
||||||
Registered at District court Bremen HRB 35230 HB, Germany
|
Registered at District Court Bremen HRB 35230 HB, Germany
|
||||||
|
|
||||||
For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
|
For any legal inquiries or further information, please contact us via email at hello@task.vc.
|
||||||
|
|
||||||
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
|
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* autocreated commitinfo by @push.rocks/commitinfo
|
* autocreated commitinfo by @push.rocks/commitinfo
|
||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@gitzone/tsdocker',
|
name: '@git.zone/tsdocker',
|
||||||
version: '1.2.41',
|
version: '1.3.0',
|
||||||
description: 'develop npm modules cross platform with docker'
|
description: 'develop npm modules cross platform with docker'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import * as plugins from './tsdocker.plugins';
|
import * as plugins from './tsdocker.plugins.js';
|
||||||
import * as cli from './tsdocker.cli';
|
import * as cli from './tsdocker.cli.js';
|
||||||
|
|
||||||
cli.run();
|
cli.run();
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
import * as plugins from './tsdocker.plugins';
|
import * as plugins from './tsdocker.plugins.js';
|
||||||
import * as paths from './tsdocker.paths';
|
import * as paths from './tsdocker.paths.js';
|
||||||
|
|
||||||
// modules
|
// modules
|
||||||
import * as ConfigModule from './tsdocker.config';
|
import * as ConfigModule from './tsdocker.config.js';
|
||||||
import * as DockerModule from './tsdocker.docker';
|
import * as DockerModule from './tsdocker.docker.js';
|
||||||
|
|
||||||
import { logger, ora } from './tsdocker.logging';
|
import { logger, ora } from './tsdocker.logging.js';
|
||||||
|
|
||||||
const tsdockerCli = new plugins.smartcli.Smartcli();
|
const tsdockerCli = new plugins.smartcli.Smartcli();
|
||||||
|
|
||||||
export let run = () => {
|
export let run = () => {
|
||||||
tsdockerCli.standardTask().subscribe(async argvArg => {
|
tsdockerCli.standardCommand().subscribe(async argvArg => {
|
||||||
const configArg = await ConfigModule.run().then(DockerModule.run);
|
const configArg = await ConfigModule.run().then(DockerModule.run);
|
||||||
if (configArg.exitCode === 0) {
|
if (configArg.exitCode === 0) {
|
||||||
logger.log('success', 'container ended all right!');
|
logger.log('success', 'container ended all right!');
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import * as plugins from './tsdocker.plugins';
|
import * as plugins from './tsdocker.plugins.js';
|
||||||
import * as paths from './tsdocker.paths';
|
import * as paths from './tsdocker.paths.js';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
|
|
||||||
export interface IConfig {
|
export interface IConfig {
|
||||||
@@ -22,7 +22,7 @@ const getQenvKeyValueObject = async () => {
|
|||||||
|
|
||||||
const buildConfig = async (qenvKeyValueObjectArg: { [key: string]: string | number }) => {
|
const buildConfig = async (qenvKeyValueObjectArg: { [key: string]: string | number }) => {
|
||||||
const npmextra = new plugins.npmextra.Npmextra(paths.cwd);
|
const npmextra = new plugins.npmextra.Npmextra(paths.cwd);
|
||||||
const config = npmextra.dataFor<IConfig>('npmdocker', {
|
const config = npmextra.dataFor<IConfig>('@git.zone/tsdocker', {
|
||||||
baseImage: 'hosttoday/ht-docker-node:npmdocker',
|
baseImage: 'hosttoday/ht-docker-node:npmdocker',
|
||||||
init: 'rm -rf node_nodules/ && yarn install',
|
init: 'rm -rf node_nodules/ && yarn install',
|
||||||
command: 'npmci npm test',
|
command: 'npmci npm test',
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
import * as plugins from './tsdocker.plugins';
|
import * as plugins from './tsdocker.plugins.js';
|
||||||
import * as paths from './tsdocker.paths';
|
import * as paths from './tsdocker.paths.js';
|
||||||
import * as snippets from './tsdocker.snippets';
|
import * as snippets from './tsdocker.snippets.js';
|
||||||
|
|
||||||
import { logger, ora } from './tsdocker.logging';
|
import { logger, ora } from './tsdocker.logging.js';
|
||||||
|
|
||||||
const smartshellInstance = new plugins.smartshell.Smartshell({
|
const smartshellInstance = new plugins.smartshell.Smartshell({
|
||||||
executor: 'bash'
|
executor: 'bash'
|
||||||
});
|
});
|
||||||
|
|
||||||
// interfaces
|
// interfaces
|
||||||
import { IConfig } from './tsdocker.config';
|
import type { IConfig } from './tsdocker.config.js';
|
||||||
|
|
||||||
let config: IConfig;
|
let config: IConfig;
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@ const buildDockerImage = async () => {
|
|||||||
await smartshellInstance.exec(`docker pull ${config.baseImage}`);
|
await smartshellInstance.exec(`docker pull ${config.baseImage}`);
|
||||||
ora.text('building Dockerimage...');
|
ora.text('building Dockerimage...');
|
||||||
const execResult = await smartshellInstance.execSilent(
|
const execResult = await smartshellInstance.execSilent(
|
||||||
`docker build -f npmdocker -t ${dockerData.imageTag} ${paths.cwd}`
|
`docker build --load -f npmdocker -t ${dockerData.imageTag} ${paths.cwd}`
|
||||||
);
|
);
|
||||||
if (execResult.exitCode !== 0) {
|
if (execResult.exitCode !== 0) {
|
||||||
console.log(execResult.stdout);
|
console.log(execResult.stdout);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import * as plugins from './tsdocker.plugins';
|
import * as plugins from './tsdocker.plugins.js';
|
||||||
|
|
||||||
export const logger = new plugins.smartlog.Smartlog({
|
export const logger = new plugins.smartlog.Smartlog({
|
||||||
logContext: {
|
logContext: {
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
import * as plugins from './tsdocker.plugins';
|
import * as plugins from './tsdocker.plugins.js';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
|
import { fileURLToPath } from 'url';
|
||||||
|
import { dirname } from 'path';
|
||||||
|
|
||||||
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
|
const __dirname = dirname(__filename);
|
||||||
|
|
||||||
// directories
|
// directories
|
||||||
export let cwd = process.cwd();
|
export let cwd = process.cwd();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import * as plugins from './tsdocker.plugins';
|
import * as plugins from './tsdocker.plugins.js';
|
||||||
|
|
||||||
export interface IDockerfileSnippet {
|
export interface IDockerfileSnippet {
|
||||||
baseImage: string;
|
baseImage: string;
|
||||||
@@ -14,23 +14,20 @@ let getMountSolutionString = (optionsArg: IDockerfileSnippet) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let getGlobalPreparationString = (optionsArg: IDockerfileSnippet) => {
|
let getGlobalPreparationString = (optionsArg: IDockerfileSnippet) => {
|
||||||
if (optionsArg.baseImage !== 'hosttoday/ht-docker-node:npmdocker') {
|
// Always install tsdocker to ensure the latest version is available
|
||||||
return 'RUN npm install -g npmdocker';
|
return 'RUN npm install -g @git.zone/tsdocker';
|
||||||
} else {
|
|
||||||
return '# not installing npmdocker since it is included in the base image';
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export let dockerfileSnippet = (optionsArg: IDockerfileSnippet): string => {
|
export let dockerfileSnippet = (optionsArg: IDockerfileSnippet): string => {
|
||||||
return plugins.smartstring.indent.normalize(
|
return plugins.smartstring.indent.normalize(
|
||||||
`
|
`
|
||||||
FROM ${optionsArg.baseImage}
|
FROM ${optionsArg.baseImage}
|
||||||
# For info about what npmdocker does read the docs at https://gitzone.github.io/npmdocker
|
# For info about what tsdocker does read the docs at https://gitzone.github.io/tsdocker
|
||||||
${getGlobalPreparationString(optionsArg)}
|
${getGlobalPreparationString(optionsArg)}
|
||||||
${getMountSolutionString(optionsArg)}
|
${getMountSolutionString(optionsArg)}
|
||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
ENV CI=true
|
ENV CI=true
|
||||||
ENTRYPOINT ["npmdocker"]
|
ENTRYPOINT ["tsdocker"]
|
||||||
CMD ["runinside"]
|
CMD ["runinside"]
|
||||||
`
|
`
|
||||||
);
|
);
|
||||||
|
|||||||
12
tsconfig.json
Normal file
12
tsconfig.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "ES2022",
|
||||||
|
"module": "NodeNext",
|
||||||
|
"moduleResolution": "NodeNext",
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"verbatimModuleSyntax": true,
|
||||||
|
"baseUrl": ".",
|
||||||
|
"paths": {}
|
||||||
|
},
|
||||||
|
"exclude": ["dist_*/**/*.d.ts"]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user