Commit 660c7dc
Changed files (18)
build/index.cjs
@@ -55,7 +55,7 @@ var import_vendor = require("./vendor.cjs");
var versions = {
zx: "8.8.0",
chalk: "5.5.0",
- depseek: "0.4.1",
+ depseek: "0.4.3",
dotenv: "0.2.3",
fetch: "1.6.7",
fs: "11.3.1",
@@ -192,9 +192,9 @@ function retry(count, d, cb) {
if (typeof d === "function") return retry(count, 0, d);
if (!cb) throw new import_core.Fail("Callback is required for retry");
const total = count;
- const gen = typeof d === "object" ? d : function* (d2) {
+ const gen = typeof d === "object" ? d : (function* (d2) {
while (true) yield d2;
- }((0, import_util.parseDuration)(d));
+ })((0, import_util.parseDuration)(d));
let attempt = 0;
let lastErr;
while (count-- > 0) {
build/internals.d.ts
@@ -1,5 +0,0 @@
-export declare const bus: {
- override: (key: string, value: any) => Map<string, any>;
- store: Map<string, any>;
- wrap: <T extends object>(name: string, api: T) => T;
-};
build/vendor-core.cjs
@@ -128,7 +128,7 @@ var require_options = __commonJS({
var require_cjs = __commonJS({
"node_modules/isexe/dist/cjs/index.js"(exports2) {
"use strict";
- var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
+ var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
@@ -137,13 +137,13 @@ var require_cjs = __commonJS({
} };
}
Object.defineProperty(o, k2, desc);
- } : function(o, m, k, k2) {
+ }) : (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
- });
- var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
+ }));
+ var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
- } : function(o, v) {
+ }) : function(o, v) {
o["default"] = v;
});
var __importStar = exports2 && exports2.__importStar || function(mod) {
build/vendor-extra.cjs
@@ -6069,7 +6069,7 @@ var require_polyfills = __commonJS({
};
}
if (platform === "win32") {
- fs6.rename = typeof fs6.rename !== "function" ? fs6.rename : function(fs$rename) {
+ fs6.rename = typeof fs6.rename !== "function" ? fs6.rename : (function(fs$rename) {
function rename(from, to, cb) {
var start = Date.now();
var backoff = 0;
@@ -6092,9 +6092,9 @@ var require_polyfills = __commonJS({
}
if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
return rename;
- }(fs6.rename);
+ })(fs6.rename);
}
- fs6.read = typeof fs6.read !== "function" ? fs6.read : function(fs$read) {
+ fs6.read = typeof fs6.read !== "function" ? fs6.read : (function(fs$read) {
function read(fd, buffer, offset, length, position, callback_) {
var callback;
if (callback_ && typeof callback_ === "function") {
@@ -6111,8 +6111,8 @@ var require_polyfills = __commonJS({
}
if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
return read;
- }(fs6.read);
- fs6.readSync = typeof fs6.readSync !== "function" ? fs6.readSync : /* @__PURE__ */ function(fs$readSync) {
+ })(fs6.read);
+ fs6.readSync = typeof fs6.readSync !== "function" ? fs6.readSync : /* @__PURE__ */ (function(fs$readSync) {
return function(fd, buffer, offset, length, position) {
var eagCounter = 0;
while (true) {
@@ -6127,7 +6127,7 @@ var require_polyfills = __commonJS({
}
}
};
- }(fs6.readSync);
+ })(fs6.readSync);
function patchLchmod(fs7) {
fs7.lchmod = function(path3, mode, callback) {
fs7.open(
@@ -6450,7 +6450,7 @@ var require_graceful_fs = __commonJS({
if (!fs6[gracefulQueue]) {
queue = global[gracefulQueue] || [];
publishQueue(fs6, queue);
- fs6.close = function(fs$close) {
+ fs6.close = (function(fs$close) {
function close(fd, cb) {
return fs$close.call(fs6, fd, function(err) {
if (!err) {
@@ -6464,8 +6464,8 @@ var require_graceful_fs = __commonJS({
value: fs$close
});
return close;
- }(fs6.close);
- fs6.closeSync = function(fs$closeSync) {
+ })(fs6.close);
+ fs6.closeSync = (function(fs$closeSync) {
function closeSync(fd) {
fs$closeSync.apply(fs6, arguments);
resetQueue();
@@ -6474,7 +6474,7 @@ var require_graceful_fs = __commonJS({
value: fs$closeSync
});
return closeSync;
- }(fs6.closeSync);
+ })(fs6.closeSync);
if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
process.on("exit", function() {
debug(fs6[gracefulQueue]);
@@ -8417,7 +8417,7 @@ function Us(i) {
return w2.type = p2, w2.typeFull = h2, w2.charset = f2, w2;
}
function Ns() {
- return bi || (bi = 1, function(i, o3) {
+ return bi || (bi = 1, (function(i, o3) {
(function(a, f2) {
f2(o3);
})(xs, function(a) {
@@ -8798,11 +8798,11 @@ function Ns() {
}
n2(Ut, "GetMethod");
function Ji(e) {
- const t3 = { [Symbol.iterator]: () => e.iterator }, r2 = function() {
+ const t3 = { [Symbol.iterator]: () => e.iterator }, r2 = (function() {
return __asyncGenerator(this, null, function* () {
return yield* __yieldStar(t3);
});
- }(), s = r2.next;
+ })(), s = r2.next;
return { iterator: r2, nextMethod: s, done: false };
}
n2(Ji, "CreateAsyncFromSyncIterator");
@@ -10793,7 +10793,7 @@ function Ns() {
}
n2(li, "streamBrandCheckException"), a.ByteLengthQueuingStrategy = Xe, a.CountQueuingStrategy = et, a.ReadableByteStreamController = te, a.ReadableStream = L, a.ReadableStreamBYOBReader = ce, a.ReadableStreamBYOBRequest = Re, a.ReadableStreamDefaultController = ne, a.ReadableStreamDefaultReader = fe, a.TransformStream = tt, a.TransformStreamDefaultController = pe, a.WritableStream = de, a.WritableStreamDefaultController = ke, a.WritableStreamDefaultWriter = re;
});
- }(kt, kt.exports)), kt.exports;
+ })(kt, kt.exports)), kt.exports;
}
function Hs() {
if (mi) return pi;
@@ -19474,8 +19474,9 @@ var T = !o2 && globalThis.AbortController || Mn;
// node_modules/depseek/target/esm/index.mjs
var importRequireRe = /((\.{3}|\s|[!%&(*+,/:;<=>?[^{|}~-]|^)(require\s?\(\s?|import\s?\(?\s?)|\sfrom)\s?$/;
-var isDep = (proposal, re) => !!proposal && re.test(proposal);
-var isSpace = (value) => value === " " || value === "\n" || value === " ";
+var isDep = (v2, re) => !!v2 && re.test(v2);
+var isSpace = (v2) => v2 === " " || v2 === "\n" || v2 === " ";
+var isQ = (v2) => `"'\``.includes(v2);
var normalizeOpts = (opts) => __spreadValues({
bufferSize: 1e3,
comments: false,
@@ -19507,33 +19508,25 @@ var extract = (readable, _opts) => {
const char = chunk[j];
if (c2 === q) {
if (isSpace(char)) {
- if (!isSpace(prev))
- token += char;
- } else if (char === '"' || char === "'" || char === "`")
- q = char;
- else if (prev === "/" && (char === "/" || char === "*"))
- c2 = char;
- else
- token += char;
+ if (!isSpace(prev)) token += char;
+ } else if (prev === "/" && (char === "/" || char === "*")) c2 = char;
+ else if (isQ(char)) q = char;
+ else token += char;
} else if (c2 === null) {
- if (q === char && prev !== "\\") {
- if (strLiteral && isDep(token.slice(-offset), re))
- pushRef("dep", strLiteral, i - strLiteral.length);
+ if (isSpace(char) || isQ(char)) {
+ if (strLiteral && isDep(token.slice(-offset), re)) pushRef("dep", strLiteral, i - strLiteral.length);
strLiteral = "";
token = "";
q = null;
- } else
- strLiteral += char;
+ } else strLiteral += char;
} else if (q === null) {
if (c2 === "/" && char === "\n" || c2 === "*" && prev === "*" && char === "/") {
commentValue = c2 === "*" ? commentBlock.slice(0, -1) : commentBlock;
- if (commentValue && comments)
- pushRef("comment", commentValue, i - commentValue.length);
+ if (commentValue && comments) pushRef("comment", commentValue, i - commentValue.length);
commentBlock = "";
token = token.slice(0, -1);
c2 = null;
- } else if (comments)
- commentBlock += char;
+ } else if (comments) commentBlock += char;
}
prev = char;
i++;
scripts/build-clean.mjs
@@ -0,0 +1,35 @@
+#!/usr/bin/env node
+
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import fs from 'node:fs'
+import glob from 'fast-glob'
+
+const redundants = await glob(
+ [
+ 'build/{repl,globals-jsr,internals}.d.ts',
+ 'build/{deps,internals,util,vendor*}.js',
+ ],
+ {
+ onlyFiles: true,
+ absolute: true,
+ }
+)
+
+for (const file of redundants) {
+ fs.unlinkSync(file)
+}
+
+console.log('postbuild removed', redundants)
scripts/build-tests.mjs
@@ -16,7 +16,6 @@
import fs from 'node:fs'
import path from 'node:path'
-import * as vendor from '../build/vendor.js'
import * as core from '../build/core.js'
import * as cli from '../build/cli.js'
import * as index from '../build/index.js'
@@ -26,7 +25,6 @@ const modules = [
['core', core],
['cli', cli],
['index', index],
- ['vendor', vendor, ['chalk', 'depseek', 'dotenv', 'fs', 'glob', 'minimist', 'ps', 'which', 'YAML',]],
]
const root = path.resolve(new URL(import.meta.url).pathname, '../..')
const filePath = path.resolve(root, `test/export.test.js`)
@@ -42,7 +40,7 @@ import { test, describe } from 'node:test'`
let body = '\n'
for (const [name, ref, apis = Object.keys(ref).sort()] of modules) {
- head += `\nimport * as ${name} from '../build/${name}.js'`
+ head += `\nimport * as ${name} from '../build/${name}.cjs'`
body += `\n//prettier-ignore\ndescribe('${name}', () => {\n`
body += ` test('exports', () => {\n`
for (const r of apis) {
scripts/prepublish-lite.mjs
@@ -12,16 +12,34 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-// Prepares lite (core) version of zx to publish
+// Prepares a lite (core) version of zx to publish
import fs from 'node:fs'
import path from 'node:path'
+import { depseekSync } from 'depseek'
const __dirname = path.dirname(new URL(import.meta.url).pathname)
const root = path.resolve(__dirname, '..')
const pkgJsonFile = path.join(root, 'package.json')
const _pkgJson = JSON.parse(fs.readFileSync(pkgJsonFile, 'utf-8'))
+const files = new Set()
+const entries = new Set(['./core.js', './3rd-party-licenses'])
+
+for (const entry of entries) {
+ if (!fs.existsSync(path.join(root, 'build', entry))) continue
+
+ files.add(entry)
+ const contents = fs.readFileSync(path.join(root, 'build', entry), 'utf-8')
+ const deps = depseekSync(contents)
+ for (const { value: file } of deps) {
+ if (file.startsWith('.')) {
+ entries.add(file)
+ entries.add(file.replace(/\.c?js$/, '.d.ts'))
+ }
+ }
+}
+
const pkgJson = {
..._pkgJson,
version: _pkgJson.version + '-lite',
@@ -42,22 +60,7 @@ const pkgJson = {
},
},
man: undefined,
- files: [
- 'build/3rd-party-licenses',
- 'build/core.cjs',
- 'build/core.js',
- 'build/core.d.ts',
- 'build/deno.js',
- 'build/error.d.ts',
- 'build/esblib.cjs',
- 'build/log.d.ts',
- 'build/util.cjs',
- 'build/util.js',
- 'build/util.d.ts',
- 'build/vendor-core.cjs',
- 'build/vendor-core.js',
- 'build/vendor-core.d.ts',
- ],
+ files: [...files].map((f) => path.join('build', f)).sort(),
}
fs.writeFileSync(pkgJsonFile, JSON.stringify(pkgJson, null, 2))
src/versions.ts
@@ -15,7 +15,7 @@
export const versions: Record<string, string> = {
zx: '8.8.0',
chalk: '5.5.0',
- depseek: '0.4.1',
+ depseek: '0.4.3',
dotenv: '0.2.3',
fetch: '1.6.7',
fs: '11.3.1',
test/core.test.js
@@ -46,7 +46,7 @@ import {
nothrow,
fetch,
} from '../build/index.js'
-import { noop } from '../build/util.js'
+import { noop } from '../build/util.cjs'
import { EventEmitter } from 'node:events'
describe('core', () => {
@@ -982,7 +982,7 @@ describe('core', () => {
p1.pipe(p3)
p2.pipe(p3)
- setTimeout(() => p1.unpipe(p3), 180)
+ setTimeout(() => p1.unpipe(p3), 150)
const { stdout } = await p3
assert.equal(stdout, 'foo\n1\nbar\n2\n3\n')
test/deps.test.js
@@ -15,7 +15,7 @@
import assert from 'node:assert'
import { test, describe } from 'node:test'
import { $, tmpfile, tmpdir, fs, path } from '../build/index.js'
-import { installDeps, parseDeps } from '../build/deps.js'
+import { installDeps, parseDeps } from '../build/deps.cjs'
const __dirname = new URL('.', import.meta.url).pathname
const root = path.resolve(__dirname, '..')
test/export.test.js
@@ -14,10 +14,9 @@
import assert from 'node:assert'
import { test, describe } from 'node:test'
-import * as core from '../build/core.js'
-import * as cli from '../build/cli.js'
-import * as index from '../build/index.js'
-import * as vendor from '../build/vendor.js'
+import * as core from '../build/core.cjs'
+import * as cli from '../build/cli.cjs'
+import * as index from '../build/index.cjs'
//prettier-ignore
describe('core', () => {
@@ -493,222 +492,3 @@ describe('index', () => {
assert.equal(typeof index.within, 'function', 'index.within')
})
})
-
-//prettier-ignore
-describe('vendor', () => {
- test('exports', () => {
- assert.equal(typeof vendor.chalk, 'function', 'vendor.chalk')
- assert.equal(typeof vendor.chalk.level, 'number', 'vendor.chalk.level')
- assert.equal(typeof vendor.depseek, 'function', 'vendor.depseek')
- assert.equal(typeof vendor.dotenv, 'object', 'vendor.dotenv')
- assert.equal(typeof vendor.dotenv.config, 'function', 'vendor.dotenv.config')
- assert.equal(typeof vendor.dotenv.load, 'function', 'vendor.dotenv.load')
- assert.equal(typeof vendor.dotenv.loadSafe, 'function', 'vendor.dotenv.loadSafe')
- assert.equal(typeof vendor.dotenv.parse, 'function', 'vendor.dotenv.parse')
- assert.equal(typeof vendor.dotenv.stringify, 'function', 'vendor.dotenv.stringify')
- assert.equal(typeof vendor.fs, 'object', 'vendor.fs')
- assert.equal(typeof vendor.fs.Dir, 'function', 'vendor.fs.Dir')
- assert.equal(typeof vendor.fs.Dirent, 'function', 'vendor.fs.Dirent')
- assert.equal(typeof vendor.fs.F_OK, 'number', 'vendor.fs.F_OK')
- assert.equal(typeof vendor.fs.FileReadStream, 'function', 'vendor.fs.FileReadStream')
- assert.equal(typeof vendor.fs.FileWriteStream, 'function', 'vendor.fs.FileWriteStream')
- assert.equal(typeof vendor.fs.R_OK, 'number', 'vendor.fs.R_OK')
- assert.equal(typeof vendor.fs.ReadStream, 'function', 'vendor.fs.ReadStream')
- assert.equal(typeof vendor.fs.Stats, 'function', 'vendor.fs.Stats')
- assert.equal(typeof vendor.fs.W_OK, 'number', 'vendor.fs.W_OK')
- assert.equal(typeof vendor.fs.WriteStream, 'function', 'vendor.fs.WriteStream')
- assert.equal(typeof vendor.fs.X_OK, 'number', 'vendor.fs.X_OK')
- assert.equal(typeof vendor.fs._toUnixTimestamp, 'function', 'vendor.fs._toUnixTimestamp')
- assert.equal(typeof vendor.fs.access, 'function', 'vendor.fs.access')
- assert.equal(typeof vendor.fs.accessSync, 'function', 'vendor.fs.accessSync')
- assert.equal(typeof vendor.fs.appendFile, 'function', 'vendor.fs.appendFile')
- assert.equal(typeof vendor.fs.appendFileSync, 'function', 'vendor.fs.appendFileSync')
- assert.equal(typeof vendor.fs.chmod, 'function', 'vendor.fs.chmod')
- assert.equal(typeof vendor.fs.chmodSync, 'function', 'vendor.fs.chmodSync')
- assert.equal(typeof vendor.fs.chown, 'function', 'vendor.fs.chown')
- assert.equal(typeof vendor.fs.chownSync, 'function', 'vendor.fs.chownSync')
- assert.equal(typeof vendor.fs.close, 'function', 'vendor.fs.close')
- assert.equal(typeof vendor.fs.closeSync, 'function', 'vendor.fs.closeSync')
- assert.equal(typeof vendor.fs.constants, 'object', 'vendor.fs.constants')
- assert.equal(typeof vendor.fs.copy, 'function', 'vendor.fs.copy')
- assert.equal(typeof vendor.fs.copyFile, 'function', 'vendor.fs.copyFile')
- assert.equal(typeof vendor.fs.copyFileSync, 'function', 'vendor.fs.copyFileSync')
- assert.equal(typeof vendor.fs.copySync, 'function', 'vendor.fs.copySync')
- assert.equal(typeof vendor.fs.cp, 'function', 'vendor.fs.cp')
- assert.equal(typeof vendor.fs.cpSync, 'function', 'vendor.fs.cpSync')
- assert.equal(typeof vendor.fs.createFile, 'function', 'vendor.fs.createFile')
- assert.equal(typeof vendor.fs.createFileSync, 'function', 'vendor.fs.createFileSync')
- assert.equal(typeof vendor.fs.createLink, 'function', 'vendor.fs.createLink')
- assert.equal(typeof vendor.fs.createLinkSync, 'function', 'vendor.fs.createLinkSync')
- assert.equal(typeof vendor.fs.createReadStream, 'function', 'vendor.fs.createReadStream')
- assert.equal(typeof vendor.fs.createSymlink, 'function', 'vendor.fs.createSymlink')
- assert.equal(typeof vendor.fs.createSymlinkSync, 'function', 'vendor.fs.createSymlinkSync')
- assert.equal(typeof vendor.fs.createWriteStream, 'function', 'vendor.fs.createWriteStream')
- assert.equal(typeof vendor.fs.default, 'object', 'vendor.fs.default')
- assert.equal(typeof vendor.fs.emptyDir, 'function', 'vendor.fs.emptyDir')
- assert.equal(typeof vendor.fs.emptyDirSync, 'function', 'vendor.fs.emptyDirSync')
- assert.equal(typeof vendor.fs.emptydir, 'function', 'vendor.fs.emptydir')
- assert.equal(typeof vendor.fs.emptydirSync, 'function', 'vendor.fs.emptydirSync')
- assert.equal(typeof vendor.fs.ensureDir, 'function', 'vendor.fs.ensureDir')
- assert.equal(typeof vendor.fs.ensureDirSync, 'function', 'vendor.fs.ensureDirSync')
- assert.equal(typeof vendor.fs.ensureFile, 'function', 'vendor.fs.ensureFile')
- assert.equal(typeof vendor.fs.ensureFileSync, 'function', 'vendor.fs.ensureFileSync')
- assert.equal(typeof vendor.fs.ensureLink, 'function', 'vendor.fs.ensureLink')
- assert.equal(typeof vendor.fs.ensureLinkSync, 'function', 'vendor.fs.ensureLinkSync')
- assert.equal(typeof vendor.fs.ensureSymlink, 'function', 'vendor.fs.ensureSymlink')
- assert.equal(typeof vendor.fs.ensureSymlinkSync, 'function', 'vendor.fs.ensureSymlinkSync')
- assert.equal(typeof vendor.fs.exists, 'function', 'vendor.fs.exists')
- assert.equal(typeof vendor.fs.existsSync, 'function', 'vendor.fs.existsSync')
- assert.equal(typeof vendor.fs.fchmod, 'function', 'vendor.fs.fchmod')
- assert.equal(typeof vendor.fs.fchmodSync, 'function', 'vendor.fs.fchmodSync')
- assert.equal(typeof vendor.fs.fchown, 'function', 'vendor.fs.fchown')
- assert.equal(typeof vendor.fs.fchownSync, 'function', 'vendor.fs.fchownSync')
- assert.equal(typeof vendor.fs.fdatasync, 'function', 'vendor.fs.fdatasync')
- assert.equal(typeof vendor.fs.fdatasyncSync, 'function', 'vendor.fs.fdatasyncSync')
- assert.equal(typeof vendor.fs.fstat, 'function', 'vendor.fs.fstat')
- assert.equal(typeof vendor.fs.fstatSync, 'function', 'vendor.fs.fstatSync')
- assert.equal(typeof vendor.fs.fsync, 'function', 'vendor.fs.fsync')
- assert.equal(typeof vendor.fs.fsyncSync, 'function', 'vendor.fs.fsyncSync')
- assert.equal(typeof vendor.fs.ftruncate, 'function', 'vendor.fs.ftruncate')
- assert.equal(typeof vendor.fs.ftruncateSync, 'function', 'vendor.fs.ftruncateSync')
- assert.equal(typeof vendor.fs.futimes, 'function', 'vendor.fs.futimes')
- assert.equal(typeof vendor.fs.futimesSync, 'function', 'vendor.fs.futimesSync')
- assert.equal(typeof vendor.fs.glob, 'function', 'vendor.fs.glob')
- assert.equal(typeof vendor.fs.globSync, 'function', 'vendor.fs.globSync')
- assert.equal(typeof vendor.fs.gracefulify, 'function', 'vendor.fs.gracefulify')
- assert.equal(typeof vendor.fs.lchmod, 'function', 'vendor.fs.lchmod')
- assert.equal(typeof vendor.fs.lchmodSync, 'function', 'vendor.fs.lchmodSync')
- assert.equal(typeof vendor.fs.lchown, 'function', 'vendor.fs.lchown')
- assert.equal(typeof vendor.fs.lchownSync, 'function', 'vendor.fs.lchownSync')
- assert.equal(typeof vendor.fs.link, 'function', 'vendor.fs.link')
- assert.equal(typeof vendor.fs.linkSync, 'function', 'vendor.fs.linkSync')
- assert.equal(typeof vendor.fs.lstat, 'function', 'vendor.fs.lstat')
- assert.equal(typeof vendor.fs.lstatSync, 'function', 'vendor.fs.lstatSync')
- assert.equal(typeof vendor.fs.lutimes, 'function', 'vendor.fs.lutimes')
- assert.equal(typeof vendor.fs.lutimesSync, 'function', 'vendor.fs.lutimesSync')
- assert.equal(typeof vendor.fs.mkdir, 'function', 'vendor.fs.mkdir')
- assert.equal(typeof vendor.fs.mkdirSync, 'function', 'vendor.fs.mkdirSync')
- assert.equal(typeof vendor.fs.mkdirp, 'function', 'vendor.fs.mkdirp')
- assert.equal(typeof vendor.fs.mkdirpSync, 'function', 'vendor.fs.mkdirpSync')
- assert.equal(typeof vendor.fs.mkdirs, 'function', 'vendor.fs.mkdirs')
- assert.equal(typeof vendor.fs.mkdirsSync, 'function', 'vendor.fs.mkdirsSync')
- assert.equal(typeof vendor.fs.mkdtemp, 'function', 'vendor.fs.mkdtemp')
- assert.equal(typeof vendor.fs.mkdtempSync, 'function', 'vendor.fs.mkdtempSync')
- assert.equal(typeof vendor.fs.move, 'function', 'vendor.fs.move')
- assert.equal(typeof vendor.fs.moveSync, 'function', 'vendor.fs.moveSync')
- assert.equal(typeof vendor.fs.open, 'function', 'vendor.fs.open')
- assert.equal(typeof vendor.fs.openAsBlob, 'function', 'vendor.fs.openAsBlob')
- assert.equal(typeof vendor.fs.openSync, 'function', 'vendor.fs.openSync')
- assert.equal(typeof vendor.fs.opendir, 'function', 'vendor.fs.opendir')
- assert.equal(typeof vendor.fs.opendirSync, 'function', 'vendor.fs.opendirSync')
- assert.equal(typeof vendor.fs.outputFile, 'function', 'vendor.fs.outputFile')
- assert.equal(typeof vendor.fs.outputFileSync, 'function', 'vendor.fs.outputFileSync')
- assert.equal(typeof vendor.fs.outputJSON, 'function', 'vendor.fs.outputJSON')
- assert.equal(typeof vendor.fs.outputJSONSync, 'function', 'vendor.fs.outputJSONSync')
- assert.equal(typeof vendor.fs.outputJson, 'function', 'vendor.fs.outputJson')
- assert.equal(typeof vendor.fs.outputJsonSync, 'function', 'vendor.fs.outputJsonSync')
- assert.equal(typeof vendor.fs.pathExists, 'function', 'vendor.fs.pathExists')
- assert.equal(typeof vendor.fs.pathExistsSync, 'function', 'vendor.fs.pathExistsSync')
- assert.equal(typeof vendor.fs.promises, 'object', 'vendor.fs.promises')
- assert.equal(typeof vendor.fs.read, 'function', 'vendor.fs.read')
- assert.equal(typeof vendor.fs.readFile, 'function', 'vendor.fs.readFile')
- assert.equal(typeof vendor.fs.readFileSync, 'function', 'vendor.fs.readFileSync')
- assert.equal(typeof vendor.fs.readJSON, 'function', 'vendor.fs.readJSON')
- assert.equal(typeof vendor.fs.readJSONSync, 'function', 'vendor.fs.readJSONSync')
- assert.equal(typeof vendor.fs.readJson, 'function', 'vendor.fs.readJson')
- assert.equal(typeof vendor.fs.readJsonSync, 'function', 'vendor.fs.readJsonSync')
- assert.equal(typeof vendor.fs.readSync, 'function', 'vendor.fs.readSync')
- assert.equal(typeof vendor.fs.readdir, 'function', 'vendor.fs.readdir')
- assert.equal(typeof vendor.fs.readdirSync, 'function', 'vendor.fs.readdirSync')
- assert.equal(typeof vendor.fs.readlink, 'function', 'vendor.fs.readlink')
- assert.equal(typeof vendor.fs.readlinkSync, 'function', 'vendor.fs.readlinkSync')
- assert.equal(typeof vendor.fs.readv, 'function', 'vendor.fs.readv')
- assert.equal(typeof vendor.fs.readvSync, 'function', 'vendor.fs.readvSync')
- assert.equal(typeof vendor.fs.realpath, 'function', 'vendor.fs.realpath')
- assert.equal(typeof vendor.fs.realpathSync, 'function', 'vendor.fs.realpathSync')
- assert.equal(typeof vendor.fs.remove, 'function', 'vendor.fs.remove')
- assert.equal(typeof vendor.fs.removeSync, 'function', 'vendor.fs.removeSync')
- assert.equal(typeof vendor.fs.rename, 'function', 'vendor.fs.rename')
- assert.equal(typeof vendor.fs.renameSync, 'function', 'vendor.fs.renameSync')
- assert.equal(typeof vendor.fs.rm, 'function', 'vendor.fs.rm')
- assert.equal(typeof vendor.fs.rmSync, 'function', 'vendor.fs.rmSync')
- assert.equal(typeof vendor.fs.rmdir, 'function', 'vendor.fs.rmdir')
- assert.equal(typeof vendor.fs.rmdirSync, 'function', 'vendor.fs.rmdirSync')
- assert.equal(typeof vendor.fs.stat, 'function', 'vendor.fs.stat')
- assert.equal(typeof vendor.fs.statSync, 'function', 'vendor.fs.statSync')
- assert.equal(typeof vendor.fs.statfs, 'function', 'vendor.fs.statfs')
- assert.equal(typeof vendor.fs.statfsSync, 'function', 'vendor.fs.statfsSync')
- assert.equal(typeof vendor.fs.symlink, 'function', 'vendor.fs.symlink')
- assert.equal(typeof vendor.fs.symlinkSync, 'function', 'vendor.fs.symlinkSync')
- assert.equal(typeof vendor.fs.truncate, 'function', 'vendor.fs.truncate')
- assert.equal(typeof vendor.fs.truncateSync, 'function', 'vendor.fs.truncateSync')
- assert.equal(typeof vendor.fs.unlink, 'function', 'vendor.fs.unlink')
- assert.equal(typeof vendor.fs.unlinkSync, 'function', 'vendor.fs.unlinkSync')
- assert.equal(typeof vendor.fs.unwatchFile, 'function', 'vendor.fs.unwatchFile')
- assert.equal(typeof vendor.fs.utimes, 'function', 'vendor.fs.utimes')
- assert.equal(typeof vendor.fs.utimesSync, 'function', 'vendor.fs.utimesSync')
- assert.equal(typeof vendor.fs.watch, 'function', 'vendor.fs.watch')
- assert.equal(typeof vendor.fs.watchFile, 'function', 'vendor.fs.watchFile')
- assert.equal(typeof vendor.fs.write, 'function', 'vendor.fs.write')
- assert.equal(typeof vendor.fs.writeFile, 'function', 'vendor.fs.writeFile')
- assert.equal(typeof vendor.fs.writeFileSync, 'function', 'vendor.fs.writeFileSync')
- assert.equal(typeof vendor.fs.writeJSON, 'function', 'vendor.fs.writeJSON')
- assert.equal(typeof vendor.fs.writeJSONSync, 'function', 'vendor.fs.writeJSONSync')
- assert.equal(typeof vendor.fs.writeJson, 'function', 'vendor.fs.writeJson')
- assert.equal(typeof vendor.fs.writeJsonSync, 'function', 'vendor.fs.writeJsonSync')
- assert.equal(typeof vendor.fs.writeSync, 'function', 'vendor.fs.writeSync')
- assert.equal(typeof vendor.fs.writev, 'function', 'vendor.fs.writev')
- assert.equal(typeof vendor.fs.writevSync, 'function', 'vendor.fs.writevSync')
- assert.equal(typeof vendor.glob, 'function', 'vendor.glob')
- assert.equal(typeof vendor.glob.convertPathToPattern, 'function', 'vendor.glob.convertPathToPattern')
- assert.equal(typeof vendor.glob.generateGlobTasks, 'function', 'vendor.glob.generateGlobTasks')
- assert.equal(typeof vendor.glob.generateGlobTasksSync, 'function', 'vendor.glob.generateGlobTasksSync')
- assert.equal(typeof vendor.glob.globby, 'function', 'vendor.glob.globby')
- assert.equal(typeof vendor.glob.globbyStream, 'function', 'vendor.glob.globbyStream')
- assert.equal(typeof vendor.glob.globbySync, 'function', 'vendor.glob.globbySync')
- assert.equal(typeof vendor.glob.isDynamicPattern, 'function', 'vendor.glob.isDynamicPattern')
- assert.equal(typeof vendor.glob.isGitIgnored, 'function', 'vendor.glob.isGitIgnored')
- assert.equal(typeof vendor.glob.isGitIgnoredSync, 'function', 'vendor.glob.isGitIgnoredSync')
- assert.equal(typeof vendor.glob.sync, 'function', 'vendor.glob.sync')
- assert.equal(typeof vendor.minimist, 'function', 'vendor.minimist')
- assert.equal(typeof vendor.ps, 'object', 'vendor.ps')
- assert.equal(typeof vendor.ps.kill, 'function', 'vendor.ps.kill')
- assert.equal(typeof vendor.ps.lookup, 'function', 'vendor.ps.lookup')
- assert.equal(typeof vendor.ps.lookupSync, 'function', 'vendor.ps.lookupSync')
- assert.equal(typeof vendor.ps.tree, 'function', 'vendor.ps.tree')
- assert.equal(typeof vendor.ps.treeSync, 'function', 'vendor.ps.treeSync')
- assert.equal(typeof vendor.which, 'function', 'vendor.which')
- assert.equal(typeof vendor.which.sync, 'function', 'vendor.which.sync')
- assert.equal(typeof vendor.YAML, 'object', 'vendor.YAML')
- assert.equal(typeof vendor.YAML.Alias, 'function', 'vendor.YAML.Alias')
- assert.equal(typeof vendor.YAML.CST, 'object', 'vendor.YAML.CST')
- assert.equal(typeof vendor.YAML.Composer, 'function', 'vendor.YAML.Composer')
- assert.equal(typeof vendor.YAML.Document, 'function', 'vendor.YAML.Document')
- assert.equal(typeof vendor.YAML.Lexer, 'function', 'vendor.YAML.Lexer')
- assert.equal(typeof vendor.YAML.LineCounter, 'function', 'vendor.YAML.LineCounter')
- assert.equal(typeof vendor.YAML.Pair, 'function', 'vendor.YAML.Pair')
- assert.equal(typeof vendor.YAML.Parser, 'function', 'vendor.YAML.Parser')
- assert.equal(typeof vendor.YAML.Scalar, 'function', 'vendor.YAML.Scalar')
- assert.equal(typeof vendor.YAML.Schema, 'function', 'vendor.YAML.Schema')
- assert.equal(typeof vendor.YAML.YAMLError, 'function', 'vendor.YAML.YAMLError')
- assert.equal(typeof vendor.YAML.YAMLMap, 'function', 'vendor.YAML.YAMLMap')
- assert.equal(typeof vendor.YAML.YAMLParseError, 'function', 'vendor.YAML.YAMLParseError')
- assert.equal(typeof vendor.YAML.YAMLSeq, 'function', 'vendor.YAML.YAMLSeq')
- assert.equal(typeof vendor.YAML.YAMLWarning, 'function', 'vendor.YAML.YAMLWarning')
- assert.equal(typeof vendor.YAML.default, 'object', 'vendor.YAML.default')
- assert.equal(typeof vendor.YAML.isAlias, 'function', 'vendor.YAML.isAlias')
- assert.equal(typeof vendor.YAML.isCollection, 'function', 'vendor.YAML.isCollection')
- assert.equal(typeof vendor.YAML.isDocument, 'function', 'vendor.YAML.isDocument')
- assert.equal(typeof vendor.YAML.isMap, 'function', 'vendor.YAML.isMap')
- assert.equal(typeof vendor.YAML.isNode, 'function', 'vendor.YAML.isNode')
- assert.equal(typeof vendor.YAML.isPair, 'function', 'vendor.YAML.isPair')
- assert.equal(typeof vendor.YAML.isScalar, 'function', 'vendor.YAML.isScalar')
- assert.equal(typeof vendor.YAML.isSeq, 'function', 'vendor.YAML.isSeq')
- assert.equal(typeof vendor.YAML.parse, 'function', 'vendor.YAML.parse')
- assert.equal(typeof vendor.YAML.parseAllDocuments, 'function', 'vendor.YAML.parseAllDocuments')
- assert.equal(typeof vendor.YAML.parseDocument, 'function', 'vendor.YAML.parseDocument')
- assert.equal(typeof vendor.YAML.stringify, 'function', 'vendor.YAML.stringify')
- assert.equal(typeof vendor.YAML.visit, 'function', 'vendor.YAML.visit')
- assert.equal(typeof vendor.YAML.visitAsync, 'function', 'vendor.YAML.visitAsync')
- })
-})
test/package.test.js
@@ -13,91 +13,177 @@
// limitations under the License.
import assert from 'node:assert'
-import { test, describe, after, before } from 'node:test'
-import { $, within, path, glob } from '../build/index.js'
+import { test, describe } from 'node:test'
+import { $, within, path, glob, tempdir, fs } from '../build/index.js'
const __dirname = new URL('.', import.meta.url).pathname
const root = path.resolve(__dirname, '..')
describe('package', () => {
- before(async () => {
- const pack = await $`npm pack`
- await $`tar xf ${pack}`
- await $`rm ${pack}`.nothrow()
- })
- after(async () => {
- await $`rm -rf package`
- })
-
- test('content looks fine', async () => {
- const files = await glob('**/*', {
- cwd: path.resolve(root, 'package'),
- absolute: false,
- onlyFiles: true,
+ describe('work mode', () => {
+ test('ts', async () => {
+ const out = await within(async () => {
+ $.cwd = path.resolve(root, 'test/fixtures/ts-project')
+ await $`npm i --no-package-lock`
+ try {
+ await $`npx tsc`
+ } catch (err) {
+ throw new Error(err.stdout)
+ }
+ return $`node build/script.js`
+ })
+ assert.match(out.stderr, /ts-script/)
})
- assert.deepEqual(
- files.sort(),
- [
- 'LICENSE',
- 'README.md',
- 'package.json',
- 'man/zx.1',
- 'build/cli.cjs',
- 'build/cli.d.ts',
- 'build/cli.js',
- 'build/core.cjs',
- 'build/core.d.ts',
- 'build/core.js',
- 'build/deno.js',
- 'build/deps.cjs',
- 'build/deps.d.ts',
- 'build/error.d.ts',
- 'build/esblib.cjs',
- 'build/globals.cjs',
- 'build/globals.d.ts',
- 'build/globals.js',
- 'build/goods.d.ts',
- 'build/index.cjs',
- 'build/index.d.ts',
- 'build/index.js',
- 'build/internals.cjs',
- 'build/internals.d.ts',
- 'build/log.d.ts',
- 'build/md.d.ts',
- 'build/util.cjs',
- 'build/util.d.ts',
- 'build/versions.d.ts',
- 'build/vendor-core.cjs',
- 'build/vendor-core.d.ts',
- 'build/vendor-extra.cjs',
- 'build/vendor-extra.d.ts',
- 'build/vendor.cjs',
- 'build/vendor.d.ts',
- 'build/3rd-party-licenses',
- ].sort()
- )
- })
- test('ts project', async () => {
- const out = await within(async () => {
- $.cwd = path.resolve(__dirname, 'fixtures/ts-project')
- await $`npm i --no-package-lock`
- try {
- await $`npx tsc`
- } catch (err) {
- throw new Error(err.stdout)
- }
- return $`node build/script.js`
+ test('js', async () => {
+ const out = await within(async () => {
+ $.cwd = path.resolve(root, 'test/fixtures/js-project')
+ await $`npm i --no-package-lock`
+ return $`node node_modules/zx/build/cli.js --verbose script.js`
+ })
+ assert.match(out.stderr, /js-script/)
})
- assert.match(out.stderr, /ts-script/)
})
- test('js project with zx', async () => {
- const out = await within(async () => {
- $.cwd = path.resolve(__dirname, 'fixtures/js-project')
- await $`npm i --no-package-lock`
- return $`node node_modules/zx/build/cli.js --verbose script.js`
- })
- assert.match(out.stderr, /js-script/)
+ describe('contents', () => {
+ test('zx full', async () =>
+ within(async () => {
+ const tmp = tempdir()
+ $.cwd = tmp
+ $.quiet = true
+
+ // link
+ await $`ln -s ${path.resolve(root, 'node_modules')} ${path.resolve(tmp, 'node_modules')}`
+ for (const entry of [
+ 'scripts',
+ 'build',
+ 'man',
+ 'package.json',
+ 'README.md',
+ 'LICENSE',
+ ]) {
+ await fs.copy(path.resolve(root, entry), path.join(tmp, entry))
+ }
+
+ // pack / unpack
+ await $`node scripts/prepublish-clean.mjs`
+ const pack = await $`npm pack`
+ await $`tar xf ${pack}`
+ await $`rm ${pack}`.nothrow()
+
+ // run
+ const { stderr } =
+ await $`node -e 'import {$} from "./package/build/core.js"; $.verbose = true; await $\`echo hello\`'`
+ assert.match(stderr, /hello/)
+
+ // contents
+ const files = await glob('**/*', {
+ cwd: path.resolve(tmp, 'package'),
+ absolute: false,
+ onlyFiles: true,
+ })
+ assert.deepEqual(
+ files.sort(),
+ [
+ 'LICENSE',
+ 'README.md',
+ 'package.json',
+ 'man/zx.1',
+ 'build/cli.cjs',
+ 'build/cli.d.ts',
+ 'build/cli.js',
+ 'build/core.cjs',
+ 'build/core.d.ts',
+ 'build/core.js',
+ 'build/deno.js',
+ 'build/deps.cjs',
+ 'build/deps.d.ts',
+ 'build/error.d.ts',
+ 'build/esblib.cjs',
+ 'build/globals.cjs',
+ 'build/globals.d.ts',
+ 'build/globals.js',
+ 'build/goods.d.ts',
+ 'build/index.cjs',
+ 'build/index.d.ts',
+ 'build/index.js',
+ 'build/internals.cjs',
+ 'build/log.d.ts',
+ 'build/md.d.ts',
+ 'build/util.cjs',
+ 'build/util.d.ts',
+ 'build/versions.d.ts',
+ 'build/vendor-core.cjs',
+ 'build/vendor-core.d.ts',
+ 'build/vendor-extra.cjs',
+ 'build/vendor-extra.d.ts',
+ 'build/vendor.cjs',
+ 'build/vendor.d.ts',
+ 'build/3rd-party-licenses',
+ ].sort()
+ )
+ }))
+
+ test('zx@lite', async () =>
+ within(async () => {
+ const tmp = tempdir()
+ $.cwd = tmp
+ $.quiet = true
+
+ // link
+ await $`ln -s ${path.resolve(root, 'node_modules')} ${path.resolve(tmp, 'node_modules')}`
+ for (const entry of [
+ 'build',
+ 'package.json',
+ 'README.md',
+ 'LICENSE',
+ 'scripts',
+ ]) {
+ await fs.copy(path.resolve(root, entry), path.join(tmp, entry))
+ }
+
+ // prepare package.json for lite
+ await $`node scripts/prepublish-lite.mjs`
+ await $`node scripts/prepublish-clean.mjs`
+
+ // pack / unpack
+ const pack = await $`npm pack`
+ await $`tar xf ${pack}`
+ await $`rm ${pack}`.nothrow()
+
+ // run
+ const { stderr } =
+ await $`node -e 'import {$} from "./package/build/core.js"; $.verbose = true; await $\`echo hello\`'`
+ assert.match(stderr, /hello/)
+
+ // contents
+ const files = await glob('**/*', {
+ cwd: path.resolve(tmp, 'package'),
+ absolute: false,
+ onlyFiles: true,
+ })
+ assert.deepEqual(
+ files.sort(),
+ [
+ 'LICENSE',
+ 'README.md',
+ 'build/3rd-party-licenses',
+ 'build/cli.js',
+ 'build/core.cjs',
+ 'build/core.d.ts',
+ 'build/core.js',
+ 'build/deno.js',
+ 'build/error.d.ts',
+ 'build/esblib.cjs',
+ 'build/internals.cjs',
+ 'build/log.d.ts',
+ 'build/util.cjs',
+ 'build/util.d.ts',
+ 'build/vendor-core.cjs',
+ 'build/vendor-core.d.ts',
+ 'package.json',
+ ].sort()
+ )
+ }))
})
})
test/util.test.js
@@ -29,7 +29,7 @@ import {
preferLocalBin,
toCamelCase,
getLast,
-} from '../build/util.js'
+} from '../build/util.cjs'
describe('util', () => {
test('randomId()', () => {
test/vendor.test.js
@@ -20,7 +20,7 @@ import {
which,
glob,
nodeFetch as fetch,
-} from '../build/vendor.js'
+} from '../build/vendor.cjs'
describe('vendor API', () => {
test('YAML.parse', () => {
.gitignore
@@ -9,10 +9,3 @@ temp
test/fixtures/ts-project/build/
jsr.json
.npmrc
-
-build/*.js
-!build/cli.js
-!build/core.js
-!build/index.js
-!build/globals.js
-!build/deno.js
.size-limit.json
@@ -29,21 +29,21 @@
"build/globals.js",
"build/deno.js"
],
- "limit": "814.95 kB",
+ "limit": "814.851 kB",
"brotli": false,
"gzip": false
},
{
"name": "libdefs",
"path": "build/*.d.ts",
- "limit": "40.51 kB",
+ "limit": "40.35 kB",
"brotli": false,
"gzip": false
},
{
"name": "vendor",
"path": "build/vendor-*.{cjs,d.ts}",
- "limit": "766.47 kB",
+ "limit": "766.40 kB",
"brotli": false,
"gzip": false
},
@@ -62,7 +62,7 @@
"README.md",
"LICENSE"
],
- "limit": "872.35 kB",
+ "limit": "872.05 kB",
"brotli": false,
"gzip": false
}
package-lock.json
@@ -25,12 +25,12 @@
"chalk": "5.5.0",
"create-require": "1.1.1",
"cronometro": "5.3.0",
- "depseek": "0.4.1",
+ "depseek": "0.4.3",
"dts-bundle-generator": "9.5.1",
"envapi": "0.2.3",
- "esbuild": "0.25.8",
+ "esbuild": "0.25.9",
"esbuild-node-externals": "1.18.0",
- "esbuild-plugin-entry-chunks": "0.1.15",
+ "esbuild-plugin-entry-chunks": "0.1.17",
"esbuild-plugin-extract-helpers": "0.0.6",
"esbuild-plugin-hybrid-export": "0.3.1",
"esbuild-plugin-resolve": "2.0.0",
@@ -40,7 +40,7 @@
"get-port": "7.1.0",
"globby": "14.1.0",
"jsr": "0.13.5",
- "lefthook": "1.12.2",
+ "lefthook": "1.12.3",
"madge": "8.0.0",
"minimist": "1.2.8",
"node-fetch-native": "1.6.7",
@@ -48,7 +48,7 @@
"size-limit": "11.2.0",
"ts-node": "10.9.2",
"tsd": "0.33.0",
- "tsx": "4.20.3",
+ "tsx": "4.20.4",
"typescript": "5.9.2",
"vitepress": "1.6.4",
"which": "5.0.0",
@@ -821,9 +821,9 @@
}
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz",
- "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz",
+ "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==",
"cpu": [
"ppc64"
],
@@ -838,9 +838,9 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz",
- "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz",
+ "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==",
"cpu": [
"arm"
],
@@ -855,9 +855,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz",
- "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz",
+ "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==",
"cpu": [
"arm64"
],
@@ -872,9 +872,9 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz",
- "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz",
+ "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==",
"cpu": [
"x64"
],
@@ -889,9 +889,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz",
- "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz",
+ "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==",
"cpu": [
"arm64"
],
@@ -906,9 +906,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz",
- "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz",
+ "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==",
"cpu": [
"x64"
],
@@ -923,9 +923,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz",
- "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz",
+ "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==",
"cpu": [
"arm64"
],
@@ -940,9 +940,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz",
- "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz",
+ "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==",
"cpu": [
"x64"
],
@@ -957,9 +957,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz",
- "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz",
+ "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==",
"cpu": [
"arm"
],
@@ -974,9 +974,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz",
- "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz",
+ "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==",
"cpu": [
"arm64"
],
@@ -991,9 +991,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz",
- "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz",
+ "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==",
"cpu": [
"ia32"
],
@@ -1008,9 +1008,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz",
- "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz",
+ "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==",
"cpu": [
"loong64"
],
@@ -1025,9 +1025,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz",
- "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz",
+ "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==",
"cpu": [
"mips64el"
],
@@ -1042,9 +1042,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz",
- "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz",
+ "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==",
"cpu": [
"ppc64"
],
@@ -1059,9 +1059,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz",
- "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz",
+ "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==",
"cpu": [
"riscv64"
],
@@ -1076,9 +1076,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz",
- "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz",
+ "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==",
"cpu": [
"s390x"
],
@@ -1093,9 +1093,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz",
- "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz",
+ "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==",
"cpu": [
"x64"
],
@@ -1110,9 +1110,9 @@
}
},
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz",
- "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz",
+ "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==",
"cpu": [
"arm64"
],
@@ -1127,9 +1127,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz",
- "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz",
+ "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==",
"cpu": [
"x64"
],
@@ -1144,9 +1144,9 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz",
- "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz",
+ "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==",
"cpu": [
"arm64"
],
@@ -1161,9 +1161,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz",
- "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz",
+ "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==",
"cpu": [
"x64"
],
@@ -1178,9 +1178,9 @@
}
},
"node_modules/@esbuild/openharmony-arm64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz",
- "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz",
+ "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==",
"cpu": [
"arm64"
],
@@ -1195,9 +1195,9 @@
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz",
- "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz",
+ "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==",
"cpu": [
"x64"
],
@@ -1212,9 +1212,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz",
- "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz",
+ "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==",
"cpu": [
"arm64"
],
@@ -1229,9 +1229,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz",
- "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz",
+ "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==",
"cpu": [
"ia32"
],
@@ -1246,9 +1246,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz",
- "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz",
+ "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==",
"cpu": [
"x64"
],
@@ -3354,9 +3354,9 @@
}
},
"node_modules/depseek": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/depseek/-/depseek-0.4.1.tgz",
- "integrity": "sha512-YYfPPajzH9s2qnEva411VJzCMWtArBTfluI9USiKQ+T6xBWFh3C7yPxhaa1KVgJa17v9aRKc+LcRhgxS5/9mOA==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/depseek/-/depseek-0.4.3.tgz",
+ "integrity": "sha512-0Ex/Uoz9Y9oipbqvgSc7FoV2q4GTDGORkg8TGgM9Pd3RyvRzrDYScKplWiqHU7WqckbKN5kukqD0opEayu2bXg==",
"dev": true,
"license": "MIT"
},
@@ -3778,9 +3778,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz",
- "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz",
+ "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -3791,32 +3791,32 @@
"node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.8",
- "@esbuild/android-arm": "0.25.8",
- "@esbuild/android-arm64": "0.25.8",
- "@esbuild/android-x64": "0.25.8",
- "@esbuild/darwin-arm64": "0.25.8",
- "@esbuild/darwin-x64": "0.25.8",
- "@esbuild/freebsd-arm64": "0.25.8",
- "@esbuild/freebsd-x64": "0.25.8",
- "@esbuild/linux-arm": "0.25.8",
- "@esbuild/linux-arm64": "0.25.8",
- "@esbuild/linux-ia32": "0.25.8",
- "@esbuild/linux-loong64": "0.25.8",
- "@esbuild/linux-mips64el": "0.25.8",
- "@esbuild/linux-ppc64": "0.25.8",
- "@esbuild/linux-riscv64": "0.25.8",
- "@esbuild/linux-s390x": "0.25.8",
- "@esbuild/linux-x64": "0.25.8",
- "@esbuild/netbsd-arm64": "0.25.8",
- "@esbuild/netbsd-x64": "0.25.8",
- "@esbuild/openbsd-arm64": "0.25.8",
- "@esbuild/openbsd-x64": "0.25.8",
- "@esbuild/openharmony-arm64": "0.25.8",
- "@esbuild/sunos-x64": "0.25.8",
- "@esbuild/win32-arm64": "0.25.8",
- "@esbuild/win32-ia32": "0.25.8",
- "@esbuild/win32-x64": "0.25.8"
+ "@esbuild/aix-ppc64": "0.25.9",
+ "@esbuild/android-arm": "0.25.9",
+ "@esbuild/android-arm64": "0.25.9",
+ "@esbuild/android-x64": "0.25.9",
+ "@esbuild/darwin-arm64": "0.25.9",
+ "@esbuild/darwin-x64": "0.25.9",
+ "@esbuild/freebsd-arm64": "0.25.9",
+ "@esbuild/freebsd-x64": "0.25.9",
+ "@esbuild/linux-arm": "0.25.9",
+ "@esbuild/linux-arm64": "0.25.9",
+ "@esbuild/linux-ia32": "0.25.9",
+ "@esbuild/linux-loong64": "0.25.9",
+ "@esbuild/linux-mips64el": "0.25.9",
+ "@esbuild/linux-ppc64": "0.25.9",
+ "@esbuild/linux-riscv64": "0.25.9",
+ "@esbuild/linux-s390x": "0.25.9",
+ "@esbuild/linux-x64": "0.25.9",
+ "@esbuild/netbsd-arm64": "0.25.9",
+ "@esbuild/netbsd-x64": "0.25.9",
+ "@esbuild/openbsd-arm64": "0.25.9",
+ "@esbuild/openbsd-x64": "0.25.9",
+ "@esbuild/openharmony-arm64": "0.25.9",
+ "@esbuild/sunos-x64": "0.25.9",
+ "@esbuild/win32-arm64": "0.25.9",
+ "@esbuild/win32-ia32": "0.25.9",
+ "@esbuild/win32-x64": "0.25.9"
}
},
"node_modules/esbuild-node-externals": {
@@ -3836,13 +3836,13 @@
}
},
"node_modules/esbuild-plugin-entry-chunks": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/esbuild-plugin-entry-chunks/-/esbuild-plugin-entry-chunks-0.1.15.tgz",
- "integrity": "sha512-ghhbmzYU+yc+8IfSFXu+S1OW1sZUlYkwqhM2rUGpC5Ugw/upNu0J0njx+hSm6xqCowvH5kRyv3ZYe3GMk3ebeQ==",
+ "version": "0.1.17",
+ "resolved": "https://registry.npmjs.org/esbuild-plugin-entry-chunks/-/esbuild-plugin-entry-chunks-0.1.17.tgz",
+ "integrity": "sha512-cJYPptkXdOr/MOx4Op1pAXPS1leSaOEJLDDqrf/Pl/TJEePqMTSwA8BKhhtIsCZ85W8ZcGbmIvIaPII+STY0bg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "depseek": "0.4.1",
+ "depseek": "0.4.3",
"esbuild-plugin-utils": "0.1.0"
},
"peerDependencies": {
@@ -5056,9 +5056,9 @@
}
},
"node_modules/lefthook": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.12.2.tgz",
- "integrity": "sha512-2CeTu5NcmoT9YnqsHTq/TF36MlqlzHzhivGx3DrXHwcff4TdvrkIwUTA56huM3Nlo5ODAF/0hlPzaKLmNHCBnQ==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.12.3.tgz",
+ "integrity": "sha512-huMg+mGp6wHPjkaLdchuOvxVRMzvz6OVdhivatiH2Qn47O5Zm46jwzbVPYIanX6N/8ZTjGLBxv8tZ0KYmKt/Jg==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -5066,22 +5066,22 @@
"lefthook": "bin/index.js"
},
"optionalDependencies": {
- "lefthook-darwin-arm64": "1.12.2",
- "lefthook-darwin-x64": "1.12.2",
- "lefthook-freebsd-arm64": "1.12.2",
- "lefthook-freebsd-x64": "1.12.2",
- "lefthook-linux-arm64": "1.12.2",
- "lefthook-linux-x64": "1.12.2",
- "lefthook-openbsd-arm64": "1.12.2",
- "lefthook-openbsd-x64": "1.12.2",
- "lefthook-windows-arm64": "1.12.2",
- "lefthook-windows-x64": "1.12.2"
+ "lefthook-darwin-arm64": "1.12.3",
+ "lefthook-darwin-x64": "1.12.3",
+ "lefthook-freebsd-arm64": "1.12.3",
+ "lefthook-freebsd-x64": "1.12.3",
+ "lefthook-linux-arm64": "1.12.3",
+ "lefthook-linux-x64": "1.12.3",
+ "lefthook-openbsd-arm64": "1.12.3",
+ "lefthook-openbsd-x64": "1.12.3",
+ "lefthook-windows-arm64": "1.12.3",
+ "lefthook-windows-x64": "1.12.3"
}
},
"node_modules/lefthook-darwin-arm64": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.12.2.tgz",
- "integrity": "sha512-fTxeI9tEskrHjc3QyEO+AG7impBXY2Ed8V5aiRc3fw9POfYtVh9b5jRx90fjk2+ld5hf+Z1DsyyLq/vOHDFskQ==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.12.3.tgz",
+ "integrity": "sha512-j1lwaosWRy3vhz8oQgCS1M6EUFN95aIYeNuqkczsBoAA6BDNAmVP1ctYEIYUK4bYaIgENbqbA9prYMAhyzh6Og==",
"cpu": [
"arm64"
],
@@ -5093,9 +5093,9 @@
]
},
"node_modules/lefthook-darwin-x64": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.12.2.tgz",
- "integrity": "sha512-T1dCDKAAfdHgYZ8qtrS02SJSHoR52RFcrGArFNll9Mu4ZSV19Sp8BO+kTwDUOcLYdcPGNaqOp9PkRBQGZWQC7g==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.12.3.tgz",
+ "integrity": "sha512-x6aWFfLQX4m5zQ4X9zh5+hHOE5XTvNjz2zB9DI+xbIBLs2RRg0xJNT3OfgSrBU1QtEBneJ5dRQP5nl47td9GDQ==",
"cpu": [
"x64"
],
@@ -5107,9 +5107,9 @@
]
},
"node_modules/lefthook-freebsd-arm64": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.12.2.tgz",
- "integrity": "sha512-2n9z7Q4BKeMBoB9cuEdv0UBQH82Z4GgBQpCrfjCtyzpDnYQwrH8Tkrlnlko4qPh9MM6nLLGIYMKsA5nltzo8Cg==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.12.3.tgz",
+ "integrity": "sha512-41OmulLqVZ0EOHmmHouJrpL59SwDD7FLoso4RsQVIBPaf8fHacdLo07Ye28VWQ5XolZQvnWcr1YXKo4JhqQMyw==",
"cpu": [
"arm64"
],
@@ -5121,9 +5121,9 @@
]
},
"node_modules/lefthook-freebsd-x64": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.12.2.tgz",
- "integrity": "sha512-1hNY/irY+/3kjRzKoJYxG+m3BYI8QxopJUK1PQnknGo1Wy5u302SdX+tR7pnpz6JM5chrNw4ozSbKKOvdZ5VEw==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.12.3.tgz",
+ "integrity": "sha512-741/JRCJIS++hgYEH2uefN4FsH872V7gy2zDhcfQofiZnWP7+qhl4Wmwi8IpjIu4X7hLOC4cT18LOVU5L8KV9Q==",
"cpu": [
"x64"
],
@@ -5135,9 +5135,9 @@
]
},
"node_modules/lefthook-linux-arm64": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.12.2.tgz",
- "integrity": "sha512-1W4swYIVRkxq/LFTuuK4oVpd6NtTKY4E3VY2Uq2JDkIOJV46+8qGBF+C/QA9K3O9chLffgN7c+i+NhIuGiZ/Vw==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.12.3.tgz",
+ "integrity": "sha512-BXIy1aDFZmFgmebJliNrEqZfX1lSOD4b/USvANv1UirFrNgTq5SRssd1CKfflT2PwKX6LsJTD4WabLLWZOxp9A==",
"cpu": [
"arm64"
],
@@ -5149,9 +5149,9 @@
]
},
"node_modules/lefthook-linux-x64": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.12.2.tgz",
- "integrity": "sha512-J6VGuMfhq5iCsg1Pv7xULbuXC63gP5LaikT0PhkyBNMi3HQneZFDJ8k/sp0Ue9HkQv6QfWIo3/FgB9gz38MCFw==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.12.3.tgz",
+ "integrity": "sha512-FRdwdj5jsQAP2eVrtkVUqMqYNCbQ2Ix84izy29/BvLlu/hVypAGbDfUkgFnsmAd6ZsCBeYCEtPuqyg3E3SO0Rg==",
"cpu": [
"x64"
],
@@ -5163,9 +5163,9 @@
]
},
"node_modules/lefthook-openbsd-arm64": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.12.2.tgz",
- "integrity": "sha512-wncDRW3ml24DaOyH22KINumjvCohswbQqbxyH2GORRCykSnE859cTjOrRIchTKBIARF7PSeGPUtS7EK0+oDbaw==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.12.3.tgz",
+ "integrity": "sha512-tch5wXY4GOjKAYohH7OFoxNdVHuUSYt2Pulo2VTkMYEG8IrvJnRO5MkvgHtKDHzU5mfABQYv5+ccJykDx5hQWA==",
"cpu": [
"arm64"
],
@@ -5177,9 +5177,9 @@
]
},
"node_modules/lefthook-openbsd-x64": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.12.2.tgz",
- "integrity": "sha512-2jDOkCHNnc/oK/vR62hAf3vZb1EQ6Md2GjIlgZ/V7A3ztOsM8QZ5IxwYN3D1UOIR5ZnwMBy7PtmTJC/HJrig5w==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.12.3.tgz",
+ "integrity": "sha512-IHbHg/rUFXrAN7LnjcQEtutCHBaD49CZge96Hpk0GZ2eEG5GTCNRnUyEf+Kf3+RTqHFgwtADdpeDa/ZaGZTM4g==",
"cpu": [
"x64"
],
@@ -5191,9 +5191,9 @@
]
},
"node_modules/lefthook-windows-arm64": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.12.2.tgz",
- "integrity": "sha512-ZMH/q6UNSidhHEG/1QoqIl1n4yPTBWuVmKx5bONtKHicoz4QCQ+QEiNjKsG5OO4C62nfyHGThmweCzZVUQECJw==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.12.3.tgz",
+ "integrity": "sha512-wghcE5TSpb+mbtemUV6uAo9hEK09kxRzhf2nPdeDX+fw42cL2TGZsbaCnDyzaY144C+L2/wEWrLIHJMnZYkuqA==",
"cpu": [
"arm64"
],
@@ -5205,9 +5205,9 @@
]
},
"node_modules/lefthook-windows-x64": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.12.2.tgz",
- "integrity": "sha512-TqT2jIPcTQ9uwaw+v+DTmvnUHM/p7bbsSrPoPX+fRXSGLzFjyiY+12C9dObSwfCQq6rT70xqQJ9AmftJQsa5/Q==",
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.12.3.tgz",
+ "integrity": "sha512-7Co/L8e2x2hGC1L33jDJ4ZlTkO3PJm25GOGpLfN1kqwhGB/uzMLeTI/PBczjlIN8isUv26ouNd9rVR7Bibrwyg==",
"cpu": [
"x64"
],
@@ -7687,9 +7687,9 @@
}
},
"node_modules/tsx": {
- "version": "4.20.3",
- "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.3.tgz",
- "integrity": "sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==",
+ "version": "4.20.4",
+ "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.4.tgz",
+ "integrity": "sha512-yyxBKfORQ7LuRt/BQKBXrpcq59ZvSW0XxwfjAt3w2/8PmdxaFzijtMhTawprSHhpzeM5BgU2hXHG3lklIERZXg==",
"dev": true,
"license": "MIT",
"dependencies": {
package.json
@@ -53,7 +53,7 @@
},
"man": "./man/zx.1",
"files": [
- "3rd-party-licenses",
+ "build/3rd-party-licenses",
"build/cli.js",
"build/core.js",
"build/deno.js",
@@ -75,9 +75,10 @@
"build:vendor": "node scripts/build-js.mjs --format=cjs --entry=src/vendor-*.ts --bundle=all --external='./internals.ts'",
"build:versions": "node scripts/build-versions.mjs",
"build:tests": "node scripts/build-tests.mjs",
- "build:dts": "tsc --project tsconfig.json && rm build/repl.d.ts build/globals-jsr.d.ts && node scripts/build-dts.mjs",
+ "build:dts": "tsc --project tsconfig.json && node scripts/build-dts.mjs",
"build:dcr": "docker build -f ./dcr/Dockerfile . -t zx",
"build:jsr": "node scripts/build-jsr.mjs",
+ "postbuild": "node scripts/build-clean.mjs",
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
"docs:preview": "vitepress preview docs",
@@ -118,12 +119,12 @@
"chalk": "5.5.0",
"create-require": "1.1.1",
"cronometro": "5.3.0",
- "depseek": "0.4.1",
+ "depseek": "0.4.3",
"dts-bundle-generator": "9.5.1",
"envapi": "0.2.3",
- "esbuild": "0.25.8",
+ "esbuild": "0.25.9",
"esbuild-node-externals": "1.18.0",
- "esbuild-plugin-entry-chunks": "0.1.15",
+ "esbuild-plugin-entry-chunks": "0.1.17",
"esbuild-plugin-extract-helpers": "0.0.6",
"esbuild-plugin-hybrid-export": "0.3.1",
"esbuild-plugin-resolve": "2.0.0",
@@ -133,7 +134,7 @@
"get-port": "7.1.0",
"globby": "14.1.0",
"jsr": "0.13.5",
- "lefthook": "1.12.2",
+ "lefthook": "1.12.3",
"madge": "8.0.0",
"minimist": "1.2.8",
"node-fetch-native": "1.6.7",
@@ -141,7 +142,7 @@
"size-limit": "11.2.0",
"ts-node": "10.9.2",
"tsd": "0.33.0",
- "tsx": "4.20.3",
+ "tsx": "4.20.4",
"typescript": "5.9.2",
"vitepress": "1.6.4",
"which": "5.0.0",