@hakobu/hakobu 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +673 -0
- package/dictionary/angular-bridge.js +3 -0
- package/dictionary/any-promise.js +3 -0
- package/dictionary/async.js +3 -0
- package/dictionary/aws-sdk.js +7 -0
- package/dictionary/babel-core.js +3 -0
- package/dictionary/batch.js +3 -0
- package/dictionary/bcrypt.js +3 -0
- package/dictionary/better-sqlite3.js +3 -0
- package/dictionary/bignum.js +3 -0
- package/dictionary/bindings.js +3 -0
- package/dictionary/blessed.js +8 -0
- package/dictionary/body-parser.js +9 -0
- package/dictionary/browserify.js +7 -0
- package/dictionary/bson.js +3 -0
- package/dictionary/buffermaker.js +7 -0
- package/dictionary/bunyan.js +9 -0
- package/dictionary/busboy.js +7 -0
- package/dictionary/bytes.js +3 -0
- package/dictionary/callsites.js +3 -0
- package/dictionary/chokidar.js +3 -0
- package/dictionary/coffee-script.js +7 -0
- package/dictionary/colors.js +3 -0
- package/dictionary/compression.js +3 -0
- package/dictionary/compressjs.js +7 -0
- package/dictionary/connect-mongo.js +3 -0
- package/dictionary/connect-mongodb.js +3 -0
- package/dictionary/connect-redis.js +3 -0
- package/dictionary/connect.js +10 -0
- package/dictionary/consolidate.js +3 -0
- package/dictionary/cookie-parser.js +3 -0
- package/dictionary/cookie.js +3 -0
- package/dictionary/cors.js +3 -0
- package/dictionary/cron.js +3 -0
- package/dictionary/cross-env.js +11 -0
- package/dictionary/cross-spawn-async.js +3 -0
- package/dictionary/curve25519.js +3 -0
- package/dictionary/data-preflight.js +7 -0
- package/dictionary/debug.js +3 -0
- package/dictionary/denymount.js +3 -0
- package/dictionary/diff.js +3 -0
- package/dictionary/drivelist.js +22 -0
- package/dictionary/ed25519.js +3 -0
- package/dictionary/ejs.js +3 -0
- package/dictionary/elasticsearch.js +3 -0
- package/dictionary/electron.js +17 -0
- package/dictionary/emailjs.js +3 -0
- package/dictionary/engine.io.js +3 -0
- package/dictionary/epoll.js +3 -0
- package/dictionary/errorhandler.js +7 -0
- package/dictionary/errors.js +7 -0
- package/dictionary/eslint.js +7 -0
- package/dictionary/etcher-image-write.js +3 -0
- package/dictionary/exceljs.js +21 -0
- package/dictionary/exiftool.exe.js +13 -0
- package/dictionary/exiftool.pl.js +13 -0
- package/dictionary/express-load.js +12 -0
- package/dictionary/express-session.js +3 -0
- package/dictionary/express.js +14 -0
- package/dictionary/extender.js +11 -0
- package/dictionary/extsprintf.js +3 -0
- package/dictionary/faye-websocket.js +3 -0
- package/dictionary/feathers.js +3 -0
- package/dictionary/findup-sync.js +3 -0
- package/dictionary/floordate.js +3 -0
- package/dictionary/fmt.js +3 -0
- package/dictionary/formidable.js +3 -0
- package/dictionary/fs-extra.js +3 -0
- package/dictionary/fsevents.js +3 -0
- package/dictionary/geoip-lite.js +7 -0
- package/dictionary/github.js +7 -0
- package/dictionary/gm.js +3 -0
- package/dictionary/google-closure-compiler-java.js +13 -0
- package/dictionary/google-closure-compiler.js +13 -0
- package/dictionary/googleapis.js +7 -0
- package/dictionary/got.js +3 -0
- package/dictionary/graceful-fs.js +19 -0
- package/dictionary/grpc.js +11 -0
- package/dictionary/gulp.js +3 -0
- package/dictionary/hap-nodejs.js +3 -0
- package/dictionary/heapdump.js +3 -0
- package/dictionary/hoek.js +3 -0
- package/dictionary/homebridge.js +3 -0
- package/dictionary/http-proxy.js +3 -0
- package/dictionary/http-server.js +3 -0
- package/dictionary/image-size.js +3 -0
- package/dictionary/indexof.js +3 -0
- package/dictionary/inquirer.js +3 -0
- package/dictionary/j.js +16 -0
- package/dictionary/jade.js +3 -0
- package/dictionary/jsdom.js +3 -0
- package/dictionary/json-stringify-date.js +3 -0
- package/dictionary/json-stringify-safe.js +3 -0
- package/dictionary/jsonwebtoken.js +3 -0
- package/dictionary/kerberos.js +3 -0
- package/dictionary/knex.js +7 -0
- package/dictionary/later.js +7 -0
- package/dictionary/level.js +3 -0
- package/dictionary/leveldown.js +10 -0
- package/dictionary/levelup.js +3 -0
- package/dictionary/liftoff.js +12 -0
- package/dictionary/lodash.js +3 -0
- package/dictionary/log4js.js +7 -0
- package/dictionary/logform.js +7 -0
- package/dictionary/machinepack-urls.js +7 -0
- package/dictionary/markdown.js +3 -0
- package/dictionary/mdns.js +6 -0
- package/dictionary/method-override.js +3 -0
- package/dictionary/microjob.js +16 -0
- package/dictionary/mime-types.js +3 -0
- package/dictionary/mime.js +3 -0
- package/dictionary/minimatch.js +3 -0
- package/dictionary/minstache.js +3 -0
- package/dictionary/module-deps.js +3 -0
- package/dictionary/moment-timezone.js +3 -0
- package/dictionary/moment.js +7 -0
- package/dictionary/mongodb-core.js +22 -0
- package/dictionary/mongodb.js +7 -0
- package/dictionary/mongoose.js +7 -0
- package/dictionary/mongoskin.js +7 -0
- package/dictionary/ms.js +3 -0
- package/dictionary/msgpack.js +3 -0
- package/dictionary/multer.js +3 -0
- package/dictionary/muri.js +3 -0
- package/dictionary/native-or-bluebird.js +3 -0
- package/dictionary/natives.js +3 -0
- package/dictionary/nconf.js +7 -0
- package/dictionary/nedb.js +3 -0
- package/dictionary/negotiator.js +7 -0
- package/dictionary/newrelic.js +3 -0
- package/dictionary/nib.js +3 -0
- package/dictionary/nightmare.js +18 -0
- package/dictionary/node-forge.js +7 -0
- package/dictionary/node-libcurl.js +3 -0
- package/dictionary/node-notifier.js +30 -0
- package/dictionary/node-pre-gyp.js +7 -0
- package/dictionary/node-redis-pubsub.js +3 -0
- package/dictionary/node-sass.js +3 -0
- package/dictionary/node-uuid.js +3 -0
- package/dictionary/node-xlsx.js +3 -0
- package/dictionary/node-zookeeper-client.js +7 -0
- package/dictionary/nodegit.js +7 -0
- package/dictionary/nodemailer-sendmail-transport.js +3 -0
- package/dictionary/nodemailer.js +3 -0
- package/dictionary/npm-registry-client.js +7 -0
- package/dictionary/npm.js +7 -0
- package/dictionary/nssocket.js +3 -0
- package/dictionary/oauth2orize.js +7 -0
- package/dictionary/octobat.js +3 -0
- package/dictionary/open.js +13 -0
- package/dictionary/opn.js +4 -0
- package/dictionary/optimist.js +3 -0
- package/dictionary/passport-local.js +3 -0
- package/dictionary/passport.js +3 -0
- package/dictionary/pg-cursor.js +3 -0
- package/dictionary/pg-query-stream.js +3 -0
- package/dictionary/pg-types.js +7 -0
- package/dictionary/pg.js +7 -0
- package/dictionary/pg.js.js +7 -0
- package/dictionary/pgpass.js +7 -0
- package/dictionary/phantom.js +19 -0
- package/dictionary/phantomjs-prebuilt.js +16 -0
- package/dictionary/pkginfo.js +3 -0
- package/dictionary/pm2.js +7 -0
- package/dictionary/pmx.js +3 -0
- package/dictionary/pouchdb.js +3 -0
- package/dictionary/primus-emitter.js +3 -0
- package/dictionary/primus-spark-latency.js +3 -0
- package/dictionary/primus.js +3 -0
- package/dictionary/publicsuffixlist.js +15 -0
- package/dictionary/pug.js +3 -0
- package/dictionary/punt.js +3 -0
- package/dictionary/puppeteer.js +13 -0
- package/dictionary/pwd.js +3 -0
- package/dictionary/q.js +3 -0
- package/dictionary/raven.js +3 -0
- package/dictionary/rc.js +12 -0
- package/dictionary/readable-stream.js +3 -0
- package/dictionary/rechoir.js +3 -0
- package/dictionary/redis-parser.js +3 -0
- package/dictionary/redis.js +3 -0
- package/dictionary/regression.js +3 -0
- package/dictionary/reload.js +7 -0
- package/dictionary/request.js +3 -0
- package/dictionary/require-uncached.js +3 -0
- package/dictionary/require_optional.js +3 -0
- package/dictionary/s3.js +3 -0
- package/dictionary/safe_datejs.js +3 -0
- package/dictionary/sails.js +33 -0
- package/dictionary/sax.js +3 -0
- package/dictionary/scrypt.js +3 -0
- package/dictionary/semver.js +3 -0
- package/dictionary/sequelize.js +7 -0
- package/dictionary/serialport.js +3 -0
- package/dictionary/sha3.js +3 -0
- package/dictionary/sharp.js +11 -0
- package/dictionary/shelljs.js +7 -0
- package/dictionary/sinon.js +3 -0
- package/dictionary/socket.io-client.js +13 -0
- package/dictionary/socket.io.js +12 -0
- package/dictionary/sqip.js +7 -0
- package/dictionary/sqlite3.js +7 -0
- package/dictionary/steam-crypto.js +7 -0
- package/dictionary/steam-resources.js +19 -0
- package/dictionary/steam.js +3 -0
- package/dictionary/stripe-webhook-middleware.js +3 -0
- package/dictionary/stripe.js +3 -0
- package/dictionary/strong-globalize.js +3 -0
- package/dictionary/stylus.js +14 -0
- package/dictionary/supervisor.js +3 -0
- package/dictionary/svgo.js +8 -0
- package/dictionary/tabtab.js +3 -0
- package/dictionary/tesseract.js.js +7 -0
- package/dictionary/thread-stream.js +7 -0
- package/dictionary/throng.js +3 -0
- package/dictionary/time.js +3 -0
- package/dictionary/tinify.js +7 -0
- package/dictionary/tiny-worker.js +7 -0
- package/dictionary/tmp.js +3 -0
- package/dictionary/transformers.js +3 -0
- package/dictionary/uglify-js.js +9 -0
- package/dictionary/umd.js +19 -0
- package/dictionary/underscore.js +3 -0
- package/dictionary/union.js +3 -0
- package/dictionary/update-notifier.js +3 -0
- package/dictionary/usage.js +7 -0
- package/dictionary/v8flags.js +13 -0
- package/dictionary/verror.js +3 -0
- package/dictionary/voc.js +3 -0
- package/dictionary/webdriverio.js +7 -0
- package/dictionary/winston-uber.js +7 -0
- package/dictionary/winston.js +7 -0
- package/dictionary/ws.js +3 -0
- package/dictionary/xlsx.js +16 -0
- package/dictionary/xml2js.js +3 -0
- package/dictionary/yargs.js +3 -0
- package/dictionary/zeromq.js +13 -0
- package/lib-es5/addon-extract.js +164 -0
- package/lib-es5/analyzer.js +687 -0
- package/lib-es5/app-bundle.js +133 -0
- package/lib-es5/appdir.js +265 -0
- package/lib-es5/bin.js +304 -0
- package/lib-es5/bootstrap.js +179 -0
- package/lib-es5/bundler.js +496 -0
- package/lib-es5/chmod.js +15 -0
- package/lib-es5/colors.js +12 -0
- package/lib-es5/commands.js +376 -0
- package/lib-es5/common.js +328 -0
- package/lib-es5/compress_type.js +10 -0
- package/lib-es5/config.js +291 -0
- package/lib-es5/detector.js +421 -0
- package/lib-es5/esm-hooks.js +366 -0
- package/lib-es5/esm-resolver.js +292 -0
- package/lib-es5/esm-transformer.js +378 -0
- package/lib-es5/exports-resolver.js +184 -0
- package/lib-es5/external-artifacts.js +170 -0
- package/lib-es5/fabricator.js +137 -0
- package/lib-es5/follow.js +190 -0
- package/lib-es5/help.js +52 -0
- package/lib-es5/index.d.ts +2 -0
- package/lib-es5/index.js +552 -0
- package/lib-es5/log.js +7 -0
- package/lib-es5/mach-o.js +262 -0
- package/lib-es5/manifest.js +21 -0
- package/lib-es5/options.js +19 -0
- package/lib-es5/packager.js +1036 -0
- package/lib-es5/packer.js +137 -0
- package/lib-es5/pe-metadata.js +130 -0
- package/lib-es5/producer.js +378 -0
- package/lib-es5/refiner.js +87 -0
- package/lib-es5/resolver.js +142 -0
- package/lib-es5/runtime-diagnostics.js +172 -0
- package/lib-es5/sea.js +307 -0
- package/lib-es5/snapshot-fs-patch.js +396 -0
- package/lib-es5/snapshot-fs.js +255 -0
- package/lib-es5/snapshot-index.js +135 -0
- package/lib-es5/snapshot-path.js +168 -0
- package/lib-es5/types.js +9 -0
- package/lib-es5/walker.js +1019 -0
- package/lib-es5/windows-sign.js +139 -0
- package/package.json +99 -0
- package/prelude/bootstrap.js +2263 -0
- package/prelude/diagnostic.js +147 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Windows Authenticode Signing
|
|
4
|
+
*
|
|
5
|
+
* Signs Windows PE executables (.exe) using Authenticode via signtool.exe
|
|
6
|
+
* (Windows SDK) or osslsigncode (cross-platform, for signing from
|
|
7
|
+
* macOS/Linux CI).
|
|
8
|
+
*
|
|
9
|
+
* Signing is opt-in: when no certificate is configured, Hakobu produces
|
|
10
|
+
* unsigned executables (which is the normal case for local development).
|
|
11
|
+
*
|
|
12
|
+
* Environment variables:
|
|
13
|
+
* HAKOBU_WIN_CERT - Path to .pfx/.p12 certificate file
|
|
14
|
+
* HAKOBU_WIN_CERT_PASSWORD - Certificate password
|
|
15
|
+
* HAKOBU_WIN_TIMESTAMP_URL - Timestamp server URL (default: http://timestamp.digicert.com)
|
|
16
|
+
*
|
|
17
|
+
* See docs/windows-signing.md for full setup instructions.
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.signWindowsExecutable = exports.hasWindowsSigningCredentials = void 0;
|
|
21
|
+
const child_process_1 = require("child_process");
|
|
22
|
+
const log_1 = require("./log");
|
|
23
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
24
|
+
// Configuration
|
|
25
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
26
|
+
const DEFAULT_TIMESTAMP_URL = 'http://timestamp.digicert.com';
|
|
27
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
28
|
+
// Signing
|
|
29
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
30
|
+
/**
|
|
31
|
+
* Check whether Windows signing credentials are configured.
|
|
32
|
+
* Returns true if a certificate path is available (via option or env var).
|
|
33
|
+
*/
|
|
34
|
+
function hasWindowsSigningCredentials(certPath) {
|
|
35
|
+
return !!(certPath || process.env.HAKOBU_WIN_CERT);
|
|
36
|
+
}
|
|
37
|
+
exports.hasWindowsSigningCredentials = hasWindowsSigningCredentials;
|
|
38
|
+
/**
|
|
39
|
+
* Sign a Windows PE executable with Authenticode.
|
|
40
|
+
*
|
|
41
|
+
* Tries signtool.exe first (available on Windows with Windows SDK),
|
|
42
|
+
* then falls back to osslsigncode (available cross-platform via
|
|
43
|
+
* brew/apt/choco).
|
|
44
|
+
*
|
|
45
|
+
* @throws If signing credentials are missing or both tools fail.
|
|
46
|
+
*/
|
|
47
|
+
function signWindowsExecutable(opts) {
|
|
48
|
+
const certPath = opts.certPath || process.env.HAKOBU_WIN_CERT;
|
|
49
|
+
const certPassword = opts.certPassword || process.env.HAKOBU_WIN_CERT_PASSWORD;
|
|
50
|
+
const timestampUrl = opts.timestampUrl || process.env.HAKOBU_WIN_TIMESTAMP_URL || DEFAULT_TIMESTAMP_URL;
|
|
51
|
+
if (!certPath) {
|
|
52
|
+
throw new Error('Cannot sign Windows executable: no certificate configured.\n' +
|
|
53
|
+
'Set HAKOBU_WIN_CERT to the path of your .pfx/.p12 file.\n' +
|
|
54
|
+
'See docs/windows-signing.md for setup instructions.');
|
|
55
|
+
}
|
|
56
|
+
// Try signtool.exe (Windows SDK)
|
|
57
|
+
if (trySigntool(opts.executable, certPath, certPassword, timestampUrl)) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Fall back to osslsigncode (cross-platform)
|
|
61
|
+
if (tryOsslsigncode(opts.executable, certPath, certPassword, timestampUrl)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
throw new Error('Authenticode signing failed: neither signtool.exe nor osslsigncode found.\n' +
|
|
65
|
+
'On Windows: install Windows SDK (provides signtool.exe).\n' +
|
|
66
|
+
'On macOS/Linux: install osslsigncode (brew install osslsigncode / apt install osslsigncode).\n' +
|
|
67
|
+
'See docs/windows-signing.md for details.');
|
|
68
|
+
}
|
|
69
|
+
exports.signWindowsExecutable = signWindowsExecutable;
|
|
70
|
+
/**
|
|
71
|
+
* Try signing with signtool.exe (Windows SDK).
|
|
72
|
+
* Returns true on success, false if signtool is not available.
|
|
73
|
+
*/
|
|
74
|
+
function trySigntool(executable, certPath, certPassword, timestampUrl) {
|
|
75
|
+
const args = [
|
|
76
|
+
'sign',
|
|
77
|
+
'/f', certPath,
|
|
78
|
+
'/fd', 'SHA256',
|
|
79
|
+
'/tr', timestampUrl,
|
|
80
|
+
'/td', 'SHA256',
|
|
81
|
+
];
|
|
82
|
+
if (certPassword) {
|
|
83
|
+
args.push('/p', certPassword);
|
|
84
|
+
}
|
|
85
|
+
args.push(executable);
|
|
86
|
+
try {
|
|
87
|
+
(0, child_process_1.execFileSync)('signtool', args, { stdio: 'pipe' });
|
|
88
|
+
log_1.log.info(`Signed ${executable} with signtool (Authenticode SHA-256)`);
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
// ENOENT means signtool not found — fall through to osslsigncode
|
|
93
|
+
if (err.code === 'ENOENT')
|
|
94
|
+
return false;
|
|
95
|
+
// signtool found but signing failed — throw
|
|
96
|
+
throw new Error(`signtool signing failed: ${err.message}\n` +
|
|
97
|
+
'Check that your certificate is valid and the password is correct.');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Try signing with osslsigncode (cross-platform Authenticode signing).
|
|
102
|
+
* Returns true on success, false if osslsigncode is not available.
|
|
103
|
+
*/
|
|
104
|
+
function tryOsslsigncode(executable, certPath, certPassword, timestampUrl) {
|
|
105
|
+
// osslsigncode signs in-place by writing to a temp file and replacing.
|
|
106
|
+
// Use -in and -out with the same file via a temp intermediate.
|
|
107
|
+
const tmpOut = executable + '.signed';
|
|
108
|
+
const args = [
|
|
109
|
+
'sign',
|
|
110
|
+
'-pkcs12', certPath,
|
|
111
|
+
'-h', 'sha256',
|
|
112
|
+
'-ts', timestampUrl,
|
|
113
|
+
'-in', executable,
|
|
114
|
+
'-out', tmpOut,
|
|
115
|
+
];
|
|
116
|
+
if (certPassword) {
|
|
117
|
+
args.push('-pass', certPassword);
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
(0, child_process_1.execFileSync)('osslsigncode', args, { stdio: 'pipe' });
|
|
121
|
+
// Replace original with signed version
|
|
122
|
+
const fs = require('fs');
|
|
123
|
+
fs.renameSync(tmpOut, executable);
|
|
124
|
+
log_1.log.info(`Signed ${executable} with osslsigncode (Authenticode SHA-256)`);
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
// Clean up temp file on failure
|
|
129
|
+
try {
|
|
130
|
+
require('fs').unlinkSync(tmpOut);
|
|
131
|
+
}
|
|
132
|
+
catch { }
|
|
133
|
+
if (err.code === 'ENOENT')
|
|
134
|
+
return false;
|
|
135
|
+
throw new Error(`osslsigncode signing failed: ${err.message}\n` +
|
|
136
|
+
'Check that your certificate is valid and the password is correct.');
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=windows-sign.js.map
|
package/package.json
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hakobu/hakobu",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Package your Node.js project into an executable",
|
|
5
|
+
"main": "lib-es5/index.js",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git@github.com:hakobujs/hakobu.git",
|
|
10
|
+
"directory": "packages/hakobu"
|
|
11
|
+
},
|
|
12
|
+
"types": "lib-es5/index.d.ts",
|
|
13
|
+
"bin": {
|
|
14
|
+
"hakobu": "lib-es5/bin.js"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"lib-es5/*.js",
|
|
18
|
+
"lib-es5/index.d.ts",
|
|
19
|
+
"dictionary/*.js",
|
|
20
|
+
"prelude/*.js"
|
|
21
|
+
],
|
|
22
|
+
"prettier": {
|
|
23
|
+
"singleQuote": true
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@babel/generator": "^7.23.0",
|
|
27
|
+
"@babel/parser": "^7.23.0",
|
|
28
|
+
"@babel/traverse": "^7.23.0",
|
|
29
|
+
"@babel/types": "^7.23.0",
|
|
30
|
+
"esbuild": "^0.27.3",
|
|
31
|
+
"into-stream": "^9.1.0",
|
|
32
|
+
"minimist": "^1.2.6",
|
|
33
|
+
"multistream": "^4.1.0",
|
|
34
|
+
"picocolors": "^1.1.0",
|
|
35
|
+
"picomatch": "^4.0.2",
|
|
36
|
+
"prebuild-install": "^7.1.1",
|
|
37
|
+
"resedit": "^3.0.2",
|
|
38
|
+
"resolve": "^1.22.10",
|
|
39
|
+
"resolve.exports": "^2.0.3",
|
|
40
|
+
"stream-meter": "^1.0.4",
|
|
41
|
+
"tar": "^7.5.7",
|
|
42
|
+
"tinyglobby": "^0.2.11",
|
|
43
|
+
"unzipper": "^0.12.3",
|
|
44
|
+
"@hakobu/hakobu-fetch": "1.0.0"
|
|
45
|
+
},
|
|
46
|
+
"optionalDependencies": {
|
|
47
|
+
"rolldown": "^1.0.0-rc.1"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@release-it/conventional-changelog": "^10.0.5",
|
|
51
|
+
"@types/babel__generator": "^7.6.5",
|
|
52
|
+
"@types/babel__traverse": "^7.20.3",
|
|
53
|
+
"@types/minimist": "^1.2.2",
|
|
54
|
+
"@types/multistream": "^4.1.0",
|
|
55
|
+
"@types/node": "^20.0.0",
|
|
56
|
+
"@types/picomatch": "^3.0.1",
|
|
57
|
+
"@types/resolve": "^1.20.2",
|
|
58
|
+
"@types/stream-meter": "^0.0.22",
|
|
59
|
+
"@types/tar": "^6.1.13",
|
|
60
|
+
"@types/unzipper": "^0.10.10",
|
|
61
|
+
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
62
|
+
"@typescript-eslint/parser": "^8.0.0",
|
|
63
|
+
"esbuild-register": "^3.6.0",
|
|
64
|
+
"eslint": "^9.0.0",
|
|
65
|
+
"eslint-config-airbnb-base": "^15.0.0",
|
|
66
|
+
"eslint-config-airbnb-typescript": "^18.0.0",
|
|
67
|
+
"eslint-config-prettier": "^10.0.0",
|
|
68
|
+
"eslint-plugin-import": "^2.31.0",
|
|
69
|
+
"globals": "^17.3.0",
|
|
70
|
+
"json-stable-stringify": "^1.0.1",
|
|
71
|
+
"lint-staged": "^15.0.0",
|
|
72
|
+
"prettier": "^3.0.3",
|
|
73
|
+
"release-it": "^19.2.4",
|
|
74
|
+
"rimraf": "^6.1.2",
|
|
75
|
+
"simple-git-hooks": "^2.11.1",
|
|
76
|
+
"typescript": "^4.7.2"
|
|
77
|
+
},
|
|
78
|
+
"lint-staged": {
|
|
79
|
+
"*.{js,css,md,json}": "prettier --write"
|
|
80
|
+
},
|
|
81
|
+
"publishConfig": {
|
|
82
|
+
"access": "public"
|
|
83
|
+
},
|
|
84
|
+
"engines": {
|
|
85
|
+
"node": ">=24.0.0"
|
|
86
|
+
},
|
|
87
|
+
"scripts": {
|
|
88
|
+
"clean": "rimraf lib-es5",
|
|
89
|
+
"build": "npm run clean && tsc",
|
|
90
|
+
"start": "tsc --watch",
|
|
91
|
+
"lint": "npm run lint:style && npm run lint:code",
|
|
92
|
+
"lint:style": "prettier -c \"{lib,prelude,test}/**/*.{ts,js}\"",
|
|
93
|
+
"lint:code": "eslint lib prelude test",
|
|
94
|
+
"fix": "npm run lint:style -- -w && npm run lint:code -- --fix",
|
|
95
|
+
"test": "npm run build && npm run test:host && npm run test:24",
|
|
96
|
+
"test:24": "node test/test.js node24 no-npm",
|
|
97
|
+
"test:host": "node test/test.js host only-npm"
|
|
98
|
+
}
|
|
99
|
+
}
|