diff --git a/changelog.md b/changelog.md index 27bef9d..7b7f368 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,11 @@ # Changelog +## 2026-03-24 - 1.3.0 - feat(config) +switch compile target configuration from npmextra to smartconfig + +- replace the @push.rocks/npmextra dependency with @push.rocks/smartconfig +- load compileTargets via Smartconfig and update CLI and runtime messages to reference smartconfig.json + ## 2026-03-15 - 1.2.0 - feat(readme) document config-based compile targets via npmextra.json diff --git a/package.json b/package.json index 53d0831..9613ea1 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ ], "dependencies": { "@push.rocks/early": "^4.0.4", - "@push.rocks/npmextra": "^5.3.3", + "@push.rocks/smartconfig": "^6.0.0", "@push.rocks/smartcli": "^4.0.20", "@push.rocks/smartfs": "^1.5.0", "@push.rocks/smartshell": "^3.3.7" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 42236e0..ef20a66 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,12 +11,12 @@ importers: '@push.rocks/early': specifier: ^4.0.4 version: 4.0.4 - '@push.rocks/npmextra': - specifier: ^5.3.3 - version: 5.3.3 '@push.rocks/smartcli': specifier: ^4.0.20 version: 4.0.20 + '@push.rocks/smartconfig': + specifier: ^6.0.0 + version: 6.0.0 '@push.rocks/smartfs': specifier: ^1.5.0 version: 1.5.0 @@ -888,6 +888,9 @@ packages: '@push.rocks/smartclickhouse@2.2.0': resolution: {integrity: sha512-eTzKiREIPSzL1kPkVyD6vEbn+WV/DvQqDjP67VlhNlQGbRcemnJG/eLrUUR1ytmdIqnsZGEK6UYBgyj5nhzLNQ==} + '@push.rocks/smartconfig@6.0.0': + resolution: {integrity: sha512-ohXwJdbDXV2budErnZKWBOz01YkjP6gJsZ7QM9+6Wsh+r7O1CVT3JpV+mD8xJWy5tZRHI+3B9L8z0+WkIDtKzw==} + '@push.rocks/smartcrypto@2.0.4': resolution: {integrity: sha512-1+/5bsjyataf5uUkUNnnVXGRAt+gHVk1KDzozjTqgqJxHvQk1d9fVDohL6CxUhUucTPtu5VR5xNBiV8YCDuGyw==} @@ -4793,6 +4796,23 @@ snapshots: '@push.rocks/smarturl': 3.1.0 '@push.rocks/webrequest': 4.0.5 + '@push.rocks/smartconfig@6.0.0': + dependencies: + '@push.rocks/qenv': 6.1.3 + '@push.rocks/smartfile': 11.2.7 + '@push.rocks/smartjson': 5.2.0 + '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartpath': 6.0.0 + '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartrx': 3.0.10 + '@push.rocks/taskbuffer': 3.5.0 + '@tsclass/tsclass': 9.4.0 + transitivePeerDependencies: + - '@nuxt/kit' + - react + - supports-color + - vue + '@push.rocks/smartcrypto@2.0.4': dependencies: '@push.rocks/smartpromise': 4.2.3 diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index a74dca5..5d308d6 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@git.zone/tsdeno', - version: '1.2.0', + version: '1.3.0', description: 'A helper tool for deno compile that strips package.json to prevent devDependency bloat in compiled binaries.' } diff --git a/ts/plugins.ts b/ts/plugins.ts index 363c314..aae60ad 100644 --- a/ts/plugins.ts +++ b/ts/plugins.ts @@ -3,7 +3,7 @@ import * as path from 'path'; export { path }; // @push.rocks scope -import * as npmextra from '@push.rocks/npmextra'; +import * as npmextra from '@push.rocks/smartconfig'; import * as smartcli from '@push.rocks/smartcli'; import { SmartFs, SmartFsProviderNode } from '@push.rocks/smartfs'; import * as smartshell from '@push.rocks/smartshell'; diff --git a/ts/tsdeno.classes.tsdeno.ts b/ts/tsdeno.classes.tsdeno.ts index 0423b17..b434e78 100644 --- a/ts/tsdeno.classes.tsdeno.ts +++ b/ts/tsdeno.classes.tsdeno.ts @@ -59,18 +59,18 @@ export class TsDeno { * The package.json hide/restore wraps the entire loop. */ public async compileFromConfig(): Promise { - const npmextraInstance = new plugins.npmextra.Npmextra(this.cwd); + const npmextraInstance = new plugins.npmextra.Smartconfig(this.cwd); const config = npmextraInstance.dataFor('@git.zone/tsdeno', { compileTargets: [], }); if (config.compileTargets.length === 0) { - console.error('tsdeno: no compileTargets found in npmextra.json under "@git.zone/tsdeno"'); - console.error('tsdeno: either pass args directly or add config to npmextra.json'); + console.error('tsdeno: no compileTargets found in smartconfig.json under "@git.zone/tsdeno"'); + console.error('tsdeno: either pass args directly or add config to smartconfig.json'); process.exit(1); } - console.log(`tsdeno: found ${config.compileTargets.length} compile target(s) in npmextra.json`); + console.log(`tsdeno: found ${config.compileTargets.length} compile target(s) in smartconfig.json`); const packageJsonPath = plugins.path.join(this.cwd, 'package.json'); const backupPath = plugins.path.join(this.cwd, 'package.json.bak'); diff --git a/ts/tsdeno.cli.ts b/ts/tsdeno.cli.ts index 7e1d6de..798bb18 100644 --- a/ts/tsdeno.cli.ts +++ b/ts/tsdeno.cli.ts @@ -10,10 +10,10 @@ tsdenoCli.standardCommand().subscribe(async (argvArg) => { console.log(`@git.zone/tsdeno v${commitinfo.version}`); console.log(''); console.log('Usage:'); - console.log(' tsdeno compile Compile all targets from npmextra.json'); + console.log(' tsdeno compile Compile all targets from smartconfig.json'); console.log(' tsdeno compile [deno compile args...] Compile with explicit args (passthrough)'); console.log(''); - console.log('When no args are given, tsdeno reads compileTargets from npmextra.json.'); + console.log('When no args are given, tsdeno reads compileTargets from smartconfig.json.'); console.log('The compile command temporarily removes package.json before running'); console.log('deno compile, preventing devDependencies from bloating the binary.'); console.log('--node-modules-dir=none is added automatically.'); @@ -24,7 +24,7 @@ tsdenoCli.addCommand('compile').subscribe(async (argvArg) => { const rawArgs = process.argv.slice(3); if (rawArgs.length === 0) { - // No args — read targets from npmextra.json + // No args — read targets from smartconfig.json await tsDeno.compileFromConfig(); } else { // Args provided — passthrough to deno compile