@node-minify/cli 8.0.6 → 9.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 +1 -1
- package/dist/{cli.d.ts → cli.d.mts} +0 -0
- package/dist/cli.mjs +47 -23
- package/dist/cli.mjs.map +1 -1
- package/dist/index.d.mts +11 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +16 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +24 -20
package/LICENSE
CHANGED
|
File without changes
|
package/dist/cli.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
// src/bin/cli.ts
|
|
4
|
-
import updateNotifier from "update-notifier";
|
|
5
4
|
import { Command } from "commander";
|
|
5
|
+
import updateNotifier from "update-notifier";
|
|
6
6
|
|
|
7
7
|
// src/index.ts
|
|
8
8
|
import chalk2 from "chalk";
|
|
@@ -46,15 +46,23 @@ import chalk from "chalk";
|
|
|
46
46
|
import ora from "ora";
|
|
47
47
|
var spinner = ora();
|
|
48
48
|
var start = (options2) => {
|
|
49
|
-
spinner.text =
|
|
49
|
+
spinner.text = `Compressing file(s) with ${chalk.green(
|
|
50
|
+
options2.compressorLabel
|
|
51
|
+
)}...`;
|
|
50
52
|
spinner.start();
|
|
51
53
|
};
|
|
52
54
|
var stop = (result) => {
|
|
53
|
-
spinner.text =
|
|
55
|
+
spinner.text = `File(s) compressed successfully with ${chalk.green(
|
|
56
|
+
result.compressorLabel
|
|
57
|
+
)} (${chalk.green(result.size)} minified, ${chalk.green(
|
|
58
|
+
result.sizeGzip
|
|
59
|
+
)} gzipped)`;
|
|
54
60
|
spinner.succeed();
|
|
55
61
|
};
|
|
56
62
|
var error = (options2) => {
|
|
57
|
-
spinner.text =
|
|
63
|
+
spinner.text = `Error - file(s) not compressed with ${chalk.red(
|
|
64
|
+
options2.compressorLabel
|
|
65
|
+
)}`;
|
|
58
66
|
spinner.fail();
|
|
59
67
|
};
|
|
60
68
|
|
|
@@ -98,7 +106,10 @@ var run = (cli) => {
|
|
|
98
106
|
runOne(cli).then(() => {
|
|
99
107
|
if (!silence) {
|
|
100
108
|
console.log("");
|
|
101
|
-
console.log(
|
|
109
|
+
console.log(
|
|
110
|
+
chalk2.bgGreen.black(" DONE "),
|
|
111
|
+
chalk2.green("Done!")
|
|
112
|
+
);
|
|
102
113
|
console.log("");
|
|
103
114
|
}
|
|
104
115
|
}).then(resolve).catch(reject);
|
|
@@ -108,7 +119,7 @@ var run = (cli) => {
|
|
|
108
119
|
// package.json
|
|
109
120
|
var package_default = {
|
|
110
121
|
name: "@node-minify/cli",
|
|
111
|
-
version: "
|
|
122
|
+
version: "9.0.0",
|
|
112
123
|
description: "CLI - command line interface for @node-minify",
|
|
113
124
|
keywords: [
|
|
114
125
|
"compressor",
|
|
@@ -122,7 +133,7 @@ var package_default = {
|
|
|
122
133
|
"node-minify": "dist/cli.mjs"
|
|
123
134
|
},
|
|
124
135
|
engines: {
|
|
125
|
-
node: ">=
|
|
136
|
+
node: ">=18.0.0"
|
|
126
137
|
},
|
|
127
138
|
directories: {
|
|
128
139
|
lib: "dist",
|
|
@@ -132,9 +143,11 @@ var package_default = {
|
|
|
132
143
|
module: "./dist/index.mjs",
|
|
133
144
|
types: "./dist/index.d.ts",
|
|
134
145
|
exports: {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
146
|
+
".": {
|
|
147
|
+
types: "./dist/index.d.ts",
|
|
148
|
+
import: "./dist/index.mjs",
|
|
149
|
+
require: "./dist/index.cjs"
|
|
150
|
+
}
|
|
138
151
|
},
|
|
139
152
|
files: [
|
|
140
153
|
"bin",
|
|
@@ -153,29 +166,40 @@ var package_default = {
|
|
|
153
166
|
scripts: {
|
|
154
167
|
clean: "pnpm dlx rimraf dist",
|
|
155
168
|
build: "pnpm clean && tsup src/index.ts --format cjs,esm --dts --sourcemap && tsup src/bin/cli.ts --format esm --dts --sourcemap",
|
|
156
|
-
|
|
169
|
+
lint: "biome lint .",
|
|
170
|
+
prepublishOnly: "pnpm build",
|
|
171
|
+
test: "vitest run",
|
|
172
|
+
"test:ci": "vitest run --coverage",
|
|
173
|
+
"test:watch": "vitest"
|
|
157
174
|
},
|
|
158
175
|
dependencies: {
|
|
159
|
-
"@node-minify/core": "
|
|
160
|
-
"@node-minify/utils": "
|
|
161
|
-
chalk: "5.
|
|
162
|
-
commander: "
|
|
163
|
-
ora: "
|
|
164
|
-
"update-notifier": "
|
|
176
|
+
"@node-minify/core": "workspace:*",
|
|
177
|
+
"@node-minify/utils": "workspace:*",
|
|
178
|
+
chalk: "5.3.0",
|
|
179
|
+
commander: "12.1.0",
|
|
180
|
+
ora: "8.1.1",
|
|
181
|
+
"update-notifier": "7.3.1"
|
|
165
182
|
},
|
|
166
183
|
devDependencies: {
|
|
167
|
-
"@node-minify/types": "
|
|
184
|
+
"@node-minify/types": "workspace:*",
|
|
168
185
|
"@types/chalk": "^2.2.0",
|
|
169
186
|
"@types/ora": "^3.2.0"
|
|
170
|
-
}
|
|
171
|
-
gitHead: "9fb532af458cb6416ecfb7abfb9cc0a3b9cb42e1"
|
|
187
|
+
}
|
|
172
188
|
};
|
|
173
189
|
|
|
174
190
|
// src/bin/cli.ts
|
|
175
191
|
var program = new Command();
|
|
176
192
|
updateNotifier({ pkg: package_default }).notify();
|
|
177
|
-
program.storeOptionsAsProperties().version(package_default.version, "-v, --version").option(
|
|
178
|
-
|
|
193
|
+
program.storeOptionsAsProperties().version(package_default.version, "-v, --version").option(
|
|
194
|
+
"-c, --compressor [compressor]",
|
|
195
|
+
"use the specified compressor [uglify-js]",
|
|
196
|
+
"uglify-js"
|
|
197
|
+
).option("-i, --input [file]", "input file path").option("-o, --output [file]", "output file path").option("-s, --silence", "no output will be printed").option(
|
|
198
|
+
"-O, --option [option]",
|
|
199
|
+
"option for the compressor as JSON object",
|
|
200
|
+
""
|
|
201
|
+
);
|
|
202
|
+
program.on("--help", () => {
|
|
179
203
|
console.log(" List of compressors:");
|
|
180
204
|
console.log("");
|
|
181
205
|
console.log(" - babel-minify");
|
|
@@ -198,7 +222,7 @@ run(options).then(() => process.exit()).catch((err) => {
|
|
|
198
222
|
});
|
|
199
223
|
/*!
|
|
200
224
|
* node-minify
|
|
201
|
-
* Copyright(c) 2011-
|
|
225
|
+
* Copyright(c) 2011-2024 Rodolphe Stoclin
|
|
202
226
|
* MIT Licensed
|
|
203
227
|
*/
|
|
204
228
|
//# sourceMappingURL=cli.mjs.map
|
package/dist/cli.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/bin/cli.ts","../src/index.ts","../src/compress.ts","../src/spinner.ts","../package.json"],"sourcesContent":["#!/usr/bin/env node\n\n/*!\n * node-minify\n * Copyright(c) 2011-2023 Rodolphe Stoclin\n * MIT Licensed\n */\n\nimport updateNotifier from 'update-notifier';\nimport { Command } from 'commander';\nconst program = new Command();\nimport { run } from '../';\nimport packageJson from '../../package.json';\nimport { Settings } from '@node-minify/types';\n\nupdateNotifier({ pkg: packageJson }).notify();\n\nprogram\n .storeOptionsAsProperties()\n .version(packageJson.version, '-v, --version')\n .option('-c, --compressor [compressor]', 'use the specified compressor [uglify-js]', 'uglify-js')\n .option('-i, --input [file]', 'input file path')\n .option('-o, --output [file]', 'output file path')\n .option('-s, --silence', 'no output will be printed')\n .option('-O, --option [option]', 'option for the compressor as JSON object', '');\n\nprogram.on('--help', function () {\n console.log(' List of compressors:');\n console.log('');\n console.log(' - babel-minify');\n console.log(' - gcc');\n console.log(' - html-minifier');\n console.log(' - terser');\n console.log(' - uglify-js');\n console.log(' - uglify-es');\n console.log(' - yui');\n console.log('');\n});\n\nprogram.parse(process.argv);\n\nconst options: Settings = program.opts();\n\n/**\n * Show help if missing mandatory.\n */\nif (!options.compressor || !options.input || !options.output) {\n program.help();\n}\n\nrun(options)\n .then(() => process.exit())\n .catch(err => {\n console.error(err);\n process.exit(1);\n });\n","/*!\n * node-minify\n * Copyright(c) 2011-2023 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport chalk from 'chalk';\nimport { compress } from './compress';\nimport { spinnerStart, spinnerStop, spinnerError } from './spinner';\nimport { Settings, Result } from '@node-minify/types';\n\n/**\n * Module variables.\n */\nlet silence = false;\n\n/**\n * Run one compressor.\n */\nconst runOne = async (cli: Settings) => {\n /* eslint-disable @typescript-eslint/no-var-requires */\n const compressor =\n typeof cli.compressor === 'string' ? await import(`@node-minify/${cli.compressor}`) : cli.compressor;\n /* eslint-enable @typescript-eslint/no-var-requires */\n\n const compressorName =\n typeof cli.compressor === 'string' ? cli.compressor : cli.compressor ? cli.compressor.name : 'unknownCompressor';\n\n const options: Settings = {\n compressorLabel: compressorName,\n compressor: compressor.default,\n input: typeof cli.input === 'string' ? cli.input.split(',') : '',\n output: cli.output\n };\n\n if (cli.option) {\n options.options = JSON.parse(cli.option);\n }\n\n if (!silence) {\n spinnerStart(options);\n }\n\n return compress(options)\n .then((result: Result) => {\n if (!silence) {\n spinnerStop(result);\n }\n return result;\n })\n .catch((err: Error) => {\n if (!silence) {\n spinnerError(options);\n }\n throw err;\n });\n};\n\n/**\n * Run cli.\n */\nconst run = (cli: Settings) => {\n silence = !!cli.silence;\n\n if (!silence) {\n console.log('');\n console.log(chalk.bgBlue.black(' INFO '), 'Starting compression...');\n console.log('');\n }\n\n return new Promise((resolve, reject) => {\n runOne(cli)\n .then(() => {\n if (!silence) {\n console.log('');\n console.log(chalk.bgGreen.black(' DONE '), chalk.green('Done!'));\n console.log('');\n }\n })\n .then(resolve)\n .catch(reject);\n });\n};\n\n/**\n * Expose `run()`.\n */\nexport { run };\n","/*!\n * node-minify\n * Copyright(c) 2011-2023 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport minify from '@node-minify/core';\nimport { utils } from '@node-minify/utils';\nimport { Settings, Result } from '@node-minify/types';\n\n/**\n * Run compression.\n *\n * @param {Object} options\n */\nconst compress = (options: Settings): Promise<Result> => {\n return new Promise<Result>((resolve, reject) => {\n minify(options)\n .then(() => {\n if (options?.output?.includes('$1')) {\n // npx node-minify --compressor uglify-js --input 'source/**/*.js' --output 'source/$1.min.js' --option '{\"warnings\": true, \"mangle\": false}'\n return resolve({\n compressorLabel: options.compressorLabel ?? '',\n compressor: options.compressor,\n size: '0',\n sizeGzip: '0'\n });\n }\n if (!options.output) {\n return resolve({\n compressorLabel: options.compressorLabel ?? '',\n compressor: options.compressor,\n size: '0',\n sizeGzip: '0'\n });\n }\n utils\n .getFilesizeGzippedInBytes(options.output)\n .then((sizeGzip: string) => {\n resolve({\n compressorLabel: options.compressorLabel ?? '',\n compressor: options.compressor,\n size: options.output ? utils.getFilesizeInBytes(options.output) : '0',\n sizeGzip: sizeGzip\n });\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\n/**\n * Expose `compress()`.\n */\nexport { compress };\n","/*!\n * node-minify\n * Copyright(c) 2011-2023 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { Settings, Result } from '@node-minify/types';\n\nconst spinner = ora();\n\n/**\n * Start spinner.\n *\n * @param {Object} options\n */\nconst start = (options: Settings) => {\n spinner.text = 'Compressing file(s) with ' + chalk.green(options.compressorLabel) + '...';\n spinner.start();\n};\n\n/**\n * Stop spinner.\n *\n * @param result {Object}\n */\nconst stop = (result: Result) => {\n spinner.text =\n 'File(s) compressed successfully with ' +\n chalk.green(result.compressorLabel) +\n ' (' +\n chalk.green(result.size) +\n ' minified, ' +\n chalk.green(result.sizeGzip) +\n ' gzipped)';\n spinner.succeed();\n};\n\n/**\n * Mark spinner as failed.\n *\n * @param options {Object}\n */\nconst error = (options: Settings) => {\n spinner.text = 'Error - file(s) not compressed with ' + chalk.red(options.compressorLabel);\n spinner.fail();\n};\n\n/**\n * Expose `start(), stop() and error()`.\n */\nexport { start as spinnerStart, stop as spinnerStop, error as spinnerError };\n","{\n \"name\": \"@node-minify/cli\",\n \"version\": \"8.0.6\",\n \"description\": \"CLI - command line interface for @node-minify\",\n \"keywords\": [\n \"compressor\",\n \"minify\",\n \"minifier\"\n ],\n \"author\": \"Rodolphe Stoclin <srodolphe@gmail.com>\",\n \"homepage\": \"https://github.com/srod/node-minify/tree/master/packages/cli#readme\",\n \"license\": \"MIT\",\n \"bin\": {\n \"node-minify\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=16.0.0\"\n },\n \"directories\": {\n \"lib\": \"dist\",\n \"test\": \"__tests__\"\n },\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \"require\": \"./dist/index.js\",\n \"import\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\"\n },\n \"files\": [\n \"bin\",\n \"dist/**/*\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/srod/node-minify.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/srod/node-minify/issues\"\n },\n \"scripts\": {\n \"clean\": \"pnpm dlx rimraf dist\",\n \"build\": \"pnpm clean && tsup src/index.ts --format cjs,esm --dts --sourcemap && tsup src/bin/cli.ts --format esm --dts --sourcemap\",\n \"prepublishOnly\": \"pnpm build\"\n },\n \"dependencies\": {\n \"@node-minify/core\": \"8.0.6\",\n \"@node-minify/utils\": \"8.0.6\",\n \"chalk\": \"5.2.0\",\n \"commander\": \"9.5.0\",\n \"ora\": \"6.3.0\",\n \"update-notifier\": \"6.0.2\"\n },\n \"devDependencies\": {\n \"@node-minify/types\": \"8.0.6\",\n \"@types/chalk\": \"^2.2.0\",\n \"@types/ora\": \"^3.2.0\"\n },\n \"gitHead\": \"9fb532af458cb6416ecfb7abfb9cc0a3b9cb42e1\"\n}\n"],"mappings":";;;AAQA,OAAO,oBAAoB;AAC3B,SAAS,eAAe;;;ACAxB,OAAOA,YAAW;;;ACAlB,OAAO,YAAY;AACnB,SAAS,aAAa;AAQtB,IAAM,WAAW,CAACC,aAAuC;AACvD,SAAO,IAAI,QAAgB,CAAC,SAAS,WAAW;AAC9C,WAAOA,QAAO,EACX,KAAK,MAAM;AACV,UAAIA,UAAS,QAAQ,SAAS,IAAI,GAAG;AAEnC,eAAO,QAAQ;AAAA,UACb,iBAAiBA,SAAQ,mBAAmB;AAAA,UAC5C,YAAYA,SAAQ;AAAA,UACpB,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AACA,UAAI,CAACA,SAAQ,QAAQ;AACnB,eAAO,QAAQ;AAAA,UACb,iBAAiBA,SAAQ,mBAAmB;AAAA,UAC5C,YAAYA,SAAQ;AAAA,UACpB,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AACA,YACG,0BAA0BA,SAAQ,MAAM,EACxC,KAAK,CAAC,aAAqB;AAC1B,gBAAQ;AAAA,UACN,iBAAiBA,SAAQ,mBAAmB;AAAA,UAC5C,YAAYA,SAAQ;AAAA,UACpB,MAAMA,SAAQ,SAAS,MAAM,mBAAmBA,SAAQ,MAAM,IAAI;AAAA,UAClE;AAAA,QACF,CAAC;AAAA,MACH,CAAC,EACA,MAAM,MAAM;AAAA,IACjB,CAAC,EACA,MAAM,MAAM;AAAA,EACjB,CAAC;AACH;;;AC5CA,OAAO,WAAW;AAClB,OAAO,SAAS;AAGhB,IAAM,UAAU,IAAI;AAOpB,IAAM,QAAQ,CAACC,aAAsB;AACnC,UAAQ,OAAO,8BAA8B,MAAM,MAAMA,SAAQ,eAAe,IAAI;AACpF,UAAQ,MAAM;AAChB;AAOA,IAAM,OAAO,CAAC,WAAmB;AAC/B,UAAQ,OACN,0CACA,MAAM,MAAM,OAAO,eAAe,IAClC,OACA,MAAM,MAAM,OAAO,IAAI,IACvB,gBACA,MAAM,MAAM,OAAO,QAAQ,IAC3B;AACF,UAAQ,QAAQ;AAClB;AAOA,IAAM,QAAQ,CAACA,aAAsB;AACnC,UAAQ,OAAO,yCAAyC,MAAM,IAAIA,SAAQ,eAAe;AACzF,UAAQ,KAAK;AACf;;;AFjCA,IAAI,UAAU;AAKd,IAAM,SAAS,OAAO,QAAkB;AAEtC,QAAM,aACJ,OAAO,IAAI,eAAe,WAAW,MAAM,OAAO,gBAAgB,IAAI,gBAAgB,IAAI;AAG5F,QAAM,iBACJ,OAAO,IAAI,eAAe,WAAW,IAAI,aAAa,IAAI,aAAa,IAAI,WAAW,OAAO;AAE/F,QAAMC,WAAoB;AAAA,IACxB,iBAAiB;AAAA,IACjB,YAAY,WAAW;AAAA,IACvB,OAAO,OAAO,IAAI,UAAU,WAAW,IAAI,MAAM,MAAM,GAAG,IAAI;AAAA,IAC9D,QAAQ,IAAI;AAAA,EACd;AAEA,MAAI,IAAI,QAAQ;AACd,IAAAA,SAAQ,UAAU,KAAK,MAAM,IAAI,MAAM;AAAA,EACzC;AAEA,MAAI,CAAC,SAAS;AACZ,UAAaA,QAAO;AAAA,EACtB;AAEA,SAAO,SAASA,QAAO,EACpB,KAAK,CAAC,WAAmB;AACxB,QAAI,CAAC,SAAS;AACZ,WAAY,MAAM;AAAA,IACpB;AACA,WAAO;AAAA,EACT,CAAC,EACA,MAAM,CAAC,QAAe;AACrB,QAAI,CAAC,SAAS;AACZ,YAAaA,QAAO;AAAA,IACtB;AACA,UAAM;AAAA,EACR,CAAC;AACL;AAKA,IAAM,MAAM,CAAC,QAAkB;AAC7B,YAAU,CAAC,CAAC,IAAI;AAEhB,MAAI,CAAC,SAAS;AACZ,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAIC,OAAM,OAAO,MAAM,QAAQ,GAAG,yBAAyB;AACnE,YAAQ,IAAI,EAAE;AAAA,EAChB;AAEA,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,WAAO,GAAG,EACP,KAAK,MAAM;AACV,UAAI,CAAC,SAAS;AACZ,gBAAQ,IAAI,EAAE;AACd,gBAAQ,IAAIA,OAAM,QAAQ,MAAM,QAAQ,GAAGA,OAAM,MAAM,OAAO,CAAC;AAC/D,gBAAQ,IAAI,EAAE;AAAA,MAChB;AAAA,IACF,CAAC,EACA,KAAK,OAAO,EACZ,MAAM,MAAM;AAAA,EACjB,CAAC;AACH;;;AGrFA;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,UAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,QAAU;AAAA,EACV,UAAY;AAAA,EACZ,SAAW;AAAA,EACX,KAAO;AAAA,IACL,eAAe;AAAA,EACjB;AAAA,EACA,SAAW;AAAA,IACT,MAAQ;AAAA,EACV;AAAA,EACA,aAAe;AAAA,IACb,KAAO;AAAA,IACP,MAAQ;AAAA,EACV;AAAA,EACA,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,OAAS;AAAA,EACT,SAAW;AAAA,IACT,SAAW;AAAA,IACX,QAAU;AAAA,IACV,OAAS;AAAA,EACX;AAAA,EACA,OAAS;AAAA,IACP;AAAA,IACA;AAAA,EACF;AAAA,EACA,eAAiB;AAAA,IACf,QAAU;AAAA,EACZ;AAAA,EACA,YAAc;AAAA,IACZ,MAAQ;AAAA,IACR,KAAO;AAAA,EACT;AAAA,EACA,MAAQ;AAAA,IACN,KAAO;AAAA,EACT;AAAA,EACA,SAAW;AAAA,IACT,OAAS;AAAA,IACT,OAAS;AAAA,IACT,gBAAkB;AAAA,EACpB;AAAA,EACA,cAAgB;AAAA,IACd,qBAAqB;AAAA,IACrB,sBAAsB;AAAA,IACtB,OAAS;AAAA,IACT,WAAa;AAAA,IACb,KAAO;AAAA,IACP,mBAAmB;AAAA,EACrB;AAAA,EACA,iBAAmB;AAAA,IACjB,sBAAsB;AAAA,IACtB,gBAAgB;AAAA,IAChB,cAAc;AAAA,EAChB;AAAA,EACA,SAAW;AACb;;;AJrDA,IAAM,UAAU,IAAI,QAAQ;AAK5B,eAAe,EAAE,KAAK,gBAAY,CAAC,EAAE,OAAO;AAE5C,QACG,yBAAyB,EACzB,QAAQ,gBAAY,SAAS,eAAe,EAC5C,OAAO,iCAAiC,4CAA4C,WAAW,EAC/F,OAAO,sBAAsB,iBAAiB,EAC9C,OAAO,uBAAuB,kBAAkB,EAChD,OAAO,iBAAiB,2BAA2B,EACnD,OAAO,yBAAyB,4CAA4C,EAAE;AAEjF,QAAQ,GAAG,UAAU,WAAY;AAC/B,UAAQ,IAAI,wBAAwB;AACpC,UAAQ,IAAI,EAAE;AACd,UAAQ,IAAI,oBAAoB;AAChC,UAAQ,IAAI,WAAW;AACvB,UAAQ,IAAI,qBAAqB;AACjC,UAAQ,IAAI,cAAc;AAC1B,UAAQ,IAAI,iBAAiB;AAC7B,UAAQ,IAAI,iBAAiB;AAC7B,UAAQ,IAAI,WAAW;AACvB,UAAQ,IAAI,EAAE;AAChB,CAAC;AAED,QAAQ,MAAM,QAAQ,IAAI;AAE1B,IAAM,UAAoB,QAAQ,KAAK;AAKvC,IAAI,CAAC,QAAQ,cAAc,CAAC,QAAQ,SAAS,CAAC,QAAQ,QAAQ;AAC5D,UAAQ,KAAK;AACf;AAEA,IAAI,OAAO,EACR,KAAK,MAAM,QAAQ,KAAK,CAAC,EACzB,MAAM,SAAO;AACZ,UAAQ,MAAM,GAAG;AACjB,UAAQ,KAAK,CAAC;AAChB,CAAC;","names":["chalk","options","options","options","chalk"]}
|
|
1
|
+
{"version":3,"sources":["../src/bin/cli.ts","../src/index.ts","../src/compress.ts","../src/spinner.ts","../package.json"],"sourcesContent":["#!/usr/bin/env node\n\n/*!\n * node-minify\n * Copyright(c) 2011-2024 Rodolphe Stoclin\n * MIT Licensed\n */\n\nimport { Command } from \"commander\";\nimport updateNotifier from \"update-notifier\";\nconst program = new Command();\nimport type { Settings } from \"@node-minify/types\";\nimport { run } from \"../\";\nimport packageJson from \"../../package.json\";\n\nupdateNotifier({ pkg: packageJson }).notify();\n\nprogram\n .storeOptionsAsProperties()\n .version(packageJson.version, \"-v, --version\")\n .option(\n \"-c, --compressor [compressor]\",\n \"use the specified compressor [uglify-js]\",\n \"uglify-js\"\n )\n .option(\"-i, --input [file]\", \"input file path\")\n .option(\"-o, --output [file]\", \"output file path\")\n .option(\"-s, --silence\", \"no output will be printed\")\n .option(\n \"-O, --option [option]\",\n \"option for the compressor as JSON object\",\n \"\"\n );\n\nprogram.on(\"--help\", () => {\n console.log(\" List of compressors:\");\n console.log(\"\");\n console.log(\" - babel-minify\");\n console.log(\" - gcc\");\n console.log(\" - html-minifier\");\n console.log(\" - terser\");\n console.log(\" - uglify-js\");\n console.log(\" - uglify-es\");\n console.log(\" - yui\");\n console.log(\"\");\n});\n\nprogram.parse(process.argv);\n\nconst options: Settings = program.opts();\n\n/**\n * Show help if missing mandatory.\n */\nif (!options.compressor || !options.input || !options.output) {\n program.help();\n}\n\nrun(options)\n .then(() => process.exit())\n .catch((err) => {\n console.error(err);\n process.exit(1);\n });\n","/*!\n * node-minify\n * Copyright(c) 2011-2024 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport type { Result, Settings } from \"@node-minify/types\";\n// @ts-expect-error moduleResolution:nodenext issue 54523\nimport chalk from \"chalk\";\nimport { compress } from \"./compress\";\nimport { spinnerError, spinnerStart, spinnerStop } from \"./spinner\";\n\n/**\n * Module variables.\n */\nlet silence = false;\n\n/**\n * Run one compressor.\n * @param cli Settings\n */\nconst runOne = async (cli: Settings) => {\n const compressor =\n typeof cli.compressor === \"string\"\n ? await import(`@node-minify/${cli.compressor}`)\n : cli.compressor;\n\n const compressorName =\n typeof cli.compressor === \"string\"\n ? cli.compressor\n : cli.compressor\n ? cli.compressor.name\n : \"unknownCompressor\";\n\n const options: Settings = {\n compressorLabel: compressorName,\n compressor: compressor.default,\n input: typeof cli.input === \"string\" ? cli.input.split(\",\") : \"\",\n output: cli.output,\n };\n\n if (cli.option) {\n options.options = JSON.parse(cli.option);\n }\n\n if (!silence) {\n spinnerStart(options);\n }\n\n return compress(options)\n .then((result: Result) => {\n if (!silence) {\n spinnerStop(result);\n }\n return result;\n })\n .catch((err: Error) => {\n if (!silence) {\n spinnerError(options);\n }\n throw err;\n });\n};\n\n/**\n * Run cli.\n * @param cli Settings\n */\nconst run = (cli: Settings) => {\n silence = !!cli.silence;\n\n if (!silence) {\n console.log(\"\");\n console.log(chalk.bgBlue.black(\" INFO \"), \"Starting compression...\");\n console.log(\"\");\n }\n\n return new Promise((resolve, reject) => {\n runOne(cli)\n .then(() => {\n if (!silence) {\n console.log(\"\");\n console.log(\n chalk.bgGreen.black(\" DONE \"),\n chalk.green(\"Done!\")\n );\n console.log(\"\");\n }\n })\n .then(resolve)\n .catch(reject);\n });\n};\n\n/**\n * Expose `run()`.\n */\nexport { run };\n","/*!\n * node-minify\n * Copyright(c) 2011-2024 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport minify from \"@node-minify/core\";\nimport type { Result, Settings } from \"@node-minify/types\";\nimport { utils } from \"@node-minify/utils\";\n\n/**\n * Run compression.\n * @param options Settings\n */\nconst compress = (options: Settings): Promise<Result> => {\n return new Promise<Result>((resolve, reject) => {\n minify(options)\n .then(() => {\n if (options?.output?.includes(\"$1\")) {\n // npx node-minify --compressor uglify-js --input 'source/**/*.js' --output 'source/$1.min.js' --option '{\"warnings\": true, \"mangle\": false}'\n return resolve({\n compressorLabel: options.compressorLabel ?? \"\",\n compressor: options.compressor,\n size: \"0\",\n sizeGzip: \"0\",\n });\n }\n if (!options.output) {\n return resolve({\n compressorLabel: options.compressorLabel ?? \"\",\n compressor: options.compressor,\n size: \"0\",\n sizeGzip: \"0\",\n });\n }\n utils\n .getFilesizeGzippedInBytes(options.output)\n .then((sizeGzip: string) => {\n resolve({\n compressorLabel: options.compressorLabel ?? \"\",\n compressor: options.compressor,\n size: options.output\n ? utils.getFilesizeInBytes(options.output)\n : \"0\",\n sizeGzip: sizeGzip,\n });\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\n/**\n * Expose `compress()`.\n */\nexport { compress };\n","/*!\n * node-minify\n * Copyright(c) 2011-2024 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport type { Result, Settings } from \"@node-minify/types\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\n\nconst spinner = ora();\n\n/**\n * Start spinner.\n * @param options Settings\n */\nconst start = (options: Settings) => {\n spinner.text = `Compressing file(s) with ${chalk.green(\n options.compressorLabel\n )}...`;\n spinner.start();\n};\n\n/**\n * Stop spinner.\n * @param result\n */\nconst stop = (result: Result) => {\n spinner.text = `File(s) compressed successfully with ${chalk.green(\n result.compressorLabel\n )} (${chalk.green(result.size)} minified, ${chalk.green(\n result.sizeGzip\n )} gzipped)`;\n spinner.succeed();\n};\n\n/**\n * Mark spinner as failed.\n * @param options Settings\n */\nconst error = (options: Settings) => {\n spinner.text = `Error - file(s) not compressed with ${chalk.red(\n options.compressorLabel\n )}`;\n spinner.fail();\n};\n\n/**\n * Expose `start(), stop() and error()`.\n */\nexport { start as spinnerStart, stop as spinnerStop, error as spinnerError };\n","{\n \"name\": \"@node-minify/cli\",\n \"version\": \"9.0.0\",\n \"description\": \"CLI - command line interface for @node-minify\",\n \"keywords\": [\n \"compressor\",\n \"minify\",\n \"minifier\"\n ],\n \"author\": \"Rodolphe Stoclin <srodolphe@gmail.com>\",\n \"homepage\": \"https://github.com/srod/node-minify/tree/master/packages/cli#readme\",\n \"license\": \"MIT\",\n \"bin\": {\n \"node-minify\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"directories\": {\n \"lib\": \"dist\",\n \"test\": \"__tests__\"\n },\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"require\": \"./dist/index.cjs\"\n }\n },\n \"files\": [\n \"bin\",\n \"dist/**/*\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/srod/node-minify.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/srod/node-minify/issues\"\n },\n \"scripts\": {\n \"clean\": \"pnpm dlx rimraf dist\",\n \"build\": \"pnpm clean && tsup src/index.ts --format cjs,esm --dts --sourcemap && tsup src/bin/cli.ts --format esm --dts --sourcemap\",\n \"lint\": \"biome lint .\",\n \"prepublishOnly\": \"pnpm build\",\n \"test\": \"vitest run\",\n \"test:ci\": \"vitest run --coverage\",\n \"test:watch\": \"vitest\"\n },\n \"dependencies\": {\n \"@node-minify/core\": \"workspace:*\",\n \"@node-minify/utils\": \"workspace:*\",\n \"chalk\": \"5.3.0\",\n \"commander\": \"12.1.0\",\n \"ora\": \"8.1.1\",\n \"update-notifier\": \"7.3.1\"\n },\n \"devDependencies\": {\n \"@node-minify/types\": \"workspace:*\",\n \"@types/chalk\": \"^2.2.0\",\n \"@types/ora\": \"^3.2.0\"\n }\n}\n"],"mappings":"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","names":["chalk","options","options","options","chalk"]}
|
package/dist/index.d.mts
ADDED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -74,15 +74,23 @@ var import_chalk = __toESM(require("chalk"));
|
|
|
74
74
|
var import_ora = __toESM(require("ora"));
|
|
75
75
|
var spinner = (0, import_ora.default)();
|
|
76
76
|
var start = (options) => {
|
|
77
|
-
spinner.text =
|
|
77
|
+
spinner.text = `Compressing file(s) with ${import_chalk.default.green(
|
|
78
|
+
options.compressorLabel
|
|
79
|
+
)}...`;
|
|
78
80
|
spinner.start();
|
|
79
81
|
};
|
|
80
82
|
var stop = (result) => {
|
|
81
|
-
spinner.text =
|
|
83
|
+
spinner.text = `File(s) compressed successfully with ${import_chalk.default.green(
|
|
84
|
+
result.compressorLabel
|
|
85
|
+
)} (${import_chalk.default.green(result.size)} minified, ${import_chalk.default.green(
|
|
86
|
+
result.sizeGzip
|
|
87
|
+
)} gzipped)`;
|
|
82
88
|
spinner.succeed();
|
|
83
89
|
};
|
|
84
90
|
var error = (options) => {
|
|
85
|
-
spinner.text =
|
|
91
|
+
spinner.text = `Error - file(s) not compressed with ${import_chalk.default.red(
|
|
92
|
+
options.compressorLabel
|
|
93
|
+
)}`;
|
|
86
94
|
spinner.fail();
|
|
87
95
|
};
|
|
88
96
|
|
|
@@ -126,7 +134,10 @@ var run = (cli) => {
|
|
|
126
134
|
runOne(cli).then(() => {
|
|
127
135
|
if (!silence) {
|
|
128
136
|
console.log("");
|
|
129
|
-
console.log(
|
|
137
|
+
console.log(
|
|
138
|
+
import_chalk2.default.bgGreen.black(" DONE "),
|
|
139
|
+
import_chalk2.default.green("Done!")
|
|
140
|
+
);
|
|
130
141
|
console.log("");
|
|
131
142
|
}
|
|
132
143
|
}).then(resolve).catch(reject);
|
|
@@ -138,7 +149,7 @@ var run = (cli) => {
|
|
|
138
149
|
});
|
|
139
150
|
/*!
|
|
140
151
|
* node-minify
|
|
141
|
-
* Copyright(c) 2011-
|
|
152
|
+
* Copyright(c) 2011-2024 Rodolphe Stoclin
|
|
142
153
|
* MIT Licensed
|
|
143
154
|
*/
|
|
144
155
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/compress.ts","../src/spinner.ts"],"sourcesContent":["/*!\n * node-minify\n * Copyright(c) 2011-
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/compress.ts","../src/spinner.ts"],"sourcesContent":["/*!\n * node-minify\n * Copyright(c) 2011-2024 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport type { Result, Settings } from \"@node-minify/types\";\n// @ts-expect-error moduleResolution:nodenext issue 54523\nimport chalk from \"chalk\";\nimport { compress } from \"./compress\";\nimport { spinnerError, spinnerStart, spinnerStop } from \"./spinner\";\n\n/**\n * Module variables.\n */\nlet silence = false;\n\n/**\n * Run one compressor.\n * @param cli Settings\n */\nconst runOne = async (cli: Settings) => {\n const compressor =\n typeof cli.compressor === \"string\"\n ? await import(`@node-minify/${cli.compressor}`)\n : cli.compressor;\n\n const compressorName =\n typeof cli.compressor === \"string\"\n ? cli.compressor\n : cli.compressor\n ? cli.compressor.name\n : \"unknownCompressor\";\n\n const options: Settings = {\n compressorLabel: compressorName,\n compressor: compressor.default,\n input: typeof cli.input === \"string\" ? cli.input.split(\",\") : \"\",\n output: cli.output,\n };\n\n if (cli.option) {\n options.options = JSON.parse(cli.option);\n }\n\n if (!silence) {\n spinnerStart(options);\n }\n\n return compress(options)\n .then((result: Result) => {\n if (!silence) {\n spinnerStop(result);\n }\n return result;\n })\n .catch((err: Error) => {\n if (!silence) {\n spinnerError(options);\n }\n throw err;\n });\n};\n\n/**\n * Run cli.\n * @param cli Settings\n */\nconst run = (cli: Settings) => {\n silence = !!cli.silence;\n\n if (!silence) {\n console.log(\"\");\n console.log(chalk.bgBlue.black(\" INFO \"), \"Starting compression...\");\n console.log(\"\");\n }\n\n return new Promise((resolve, reject) => {\n runOne(cli)\n .then(() => {\n if (!silence) {\n console.log(\"\");\n console.log(\n chalk.bgGreen.black(\" DONE \"),\n chalk.green(\"Done!\")\n );\n console.log(\"\");\n }\n })\n .then(resolve)\n .catch(reject);\n });\n};\n\n/**\n * Expose `run()`.\n */\nexport { run };\n","/*!\n * node-minify\n * Copyright(c) 2011-2024 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport minify from \"@node-minify/core\";\nimport type { Result, Settings } from \"@node-minify/types\";\nimport { utils } from \"@node-minify/utils\";\n\n/**\n * Run compression.\n * @param options Settings\n */\nconst compress = (options: Settings): Promise<Result> => {\n return new Promise<Result>((resolve, reject) => {\n minify(options)\n .then(() => {\n if (options?.output?.includes(\"$1\")) {\n // npx node-minify --compressor uglify-js --input 'source/**/*.js' --output 'source/$1.min.js' --option '{\"warnings\": true, \"mangle\": false}'\n return resolve({\n compressorLabel: options.compressorLabel ?? \"\",\n compressor: options.compressor,\n size: \"0\",\n sizeGzip: \"0\",\n });\n }\n if (!options.output) {\n return resolve({\n compressorLabel: options.compressorLabel ?? \"\",\n compressor: options.compressor,\n size: \"0\",\n sizeGzip: \"0\",\n });\n }\n utils\n .getFilesizeGzippedInBytes(options.output)\n .then((sizeGzip: string) => {\n resolve({\n compressorLabel: options.compressorLabel ?? \"\",\n compressor: options.compressor,\n size: options.output\n ? utils.getFilesizeInBytes(options.output)\n : \"0\",\n sizeGzip: sizeGzip,\n });\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\n/**\n * Expose `compress()`.\n */\nexport { compress };\n","/*!\n * node-minify\n * Copyright(c) 2011-2024 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport type { Result, Settings } from \"@node-minify/types\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\n\nconst spinner = ora();\n\n/**\n * Start spinner.\n * @param options Settings\n */\nconst start = (options: Settings) => {\n spinner.text = `Compressing file(s) with ${chalk.green(\n options.compressorLabel\n )}...`;\n spinner.start();\n};\n\n/**\n * Stop spinner.\n * @param result\n */\nconst stop = (result: Result) => {\n spinner.text = `File(s) compressed successfully with ${chalk.green(\n result.compressorLabel\n )} (${chalk.green(result.size)} minified, ${chalk.green(\n result.sizeGzip\n )} gzipped)`;\n spinner.succeed();\n};\n\n/**\n * Mark spinner as failed.\n * @param options Settings\n */\nconst error = (options: Settings) => {\n spinner.text = `Error - file(s) not compressed with ${chalk.red(\n options.compressorLabel\n )}`;\n spinner.fail();\n};\n\n/**\n * Expose `start(), stop() and error()`.\n */\nexport { start as spinnerStart, stop as spinnerStop, error as spinnerError };\n"],"mappings":"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","names":["import_chalk","minify","ora","chalk","chalk"]}
|
package/dist/index.mjs
CHANGED
|
@@ -40,15 +40,23 @@ import chalk from "chalk";
|
|
|
40
40
|
import ora from "ora";
|
|
41
41
|
var spinner = ora();
|
|
42
42
|
var start = (options) => {
|
|
43
|
-
spinner.text =
|
|
43
|
+
spinner.text = `Compressing file(s) with ${chalk.green(
|
|
44
|
+
options.compressorLabel
|
|
45
|
+
)}...`;
|
|
44
46
|
spinner.start();
|
|
45
47
|
};
|
|
46
48
|
var stop = (result) => {
|
|
47
|
-
spinner.text =
|
|
49
|
+
spinner.text = `File(s) compressed successfully with ${chalk.green(
|
|
50
|
+
result.compressorLabel
|
|
51
|
+
)} (${chalk.green(result.size)} minified, ${chalk.green(
|
|
52
|
+
result.sizeGzip
|
|
53
|
+
)} gzipped)`;
|
|
48
54
|
spinner.succeed();
|
|
49
55
|
};
|
|
50
56
|
var error = (options) => {
|
|
51
|
-
spinner.text =
|
|
57
|
+
spinner.text = `Error - file(s) not compressed with ${chalk.red(
|
|
58
|
+
options.compressorLabel
|
|
59
|
+
)}`;
|
|
52
60
|
spinner.fail();
|
|
53
61
|
};
|
|
54
62
|
|
|
@@ -92,7 +100,10 @@ var run = (cli) => {
|
|
|
92
100
|
runOne(cli).then(() => {
|
|
93
101
|
if (!silence) {
|
|
94
102
|
console.log("");
|
|
95
|
-
console.log(
|
|
103
|
+
console.log(
|
|
104
|
+
chalk2.bgGreen.black(" DONE "),
|
|
105
|
+
chalk2.green("Done!")
|
|
106
|
+
);
|
|
96
107
|
console.log("");
|
|
97
108
|
}
|
|
98
109
|
}).then(resolve).catch(reject);
|
|
@@ -103,7 +114,7 @@ export {
|
|
|
103
114
|
};
|
|
104
115
|
/*!
|
|
105
116
|
* node-minify
|
|
106
|
-
* Copyright(c) 2011-
|
|
117
|
+
* Copyright(c) 2011-2024 Rodolphe Stoclin
|
|
107
118
|
* MIT Licensed
|
|
108
119
|
*/
|
|
109
120
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/compress.ts","../src/spinner.ts"],"sourcesContent":["/*!\n * node-minify\n * Copyright(c) 2011-
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/compress.ts","../src/spinner.ts"],"sourcesContent":["/*!\n * node-minify\n * Copyright(c) 2011-2024 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport type { Result, Settings } from \"@node-minify/types\";\n// @ts-expect-error moduleResolution:nodenext issue 54523\nimport chalk from \"chalk\";\nimport { compress } from \"./compress\";\nimport { spinnerError, spinnerStart, spinnerStop } from \"./spinner\";\n\n/**\n * Module variables.\n */\nlet silence = false;\n\n/**\n * Run one compressor.\n * @param cli Settings\n */\nconst runOne = async (cli: Settings) => {\n const compressor =\n typeof cli.compressor === \"string\"\n ? await import(`@node-minify/${cli.compressor}`)\n : cli.compressor;\n\n const compressorName =\n typeof cli.compressor === \"string\"\n ? cli.compressor\n : cli.compressor\n ? cli.compressor.name\n : \"unknownCompressor\";\n\n const options: Settings = {\n compressorLabel: compressorName,\n compressor: compressor.default,\n input: typeof cli.input === \"string\" ? cli.input.split(\",\") : \"\",\n output: cli.output,\n };\n\n if (cli.option) {\n options.options = JSON.parse(cli.option);\n }\n\n if (!silence) {\n spinnerStart(options);\n }\n\n return compress(options)\n .then((result: Result) => {\n if (!silence) {\n spinnerStop(result);\n }\n return result;\n })\n .catch((err: Error) => {\n if (!silence) {\n spinnerError(options);\n }\n throw err;\n });\n};\n\n/**\n * Run cli.\n * @param cli Settings\n */\nconst run = (cli: Settings) => {\n silence = !!cli.silence;\n\n if (!silence) {\n console.log(\"\");\n console.log(chalk.bgBlue.black(\" INFO \"), \"Starting compression...\");\n console.log(\"\");\n }\n\n return new Promise((resolve, reject) => {\n runOne(cli)\n .then(() => {\n if (!silence) {\n console.log(\"\");\n console.log(\n chalk.bgGreen.black(\" DONE \"),\n chalk.green(\"Done!\")\n );\n console.log(\"\");\n }\n })\n .then(resolve)\n .catch(reject);\n });\n};\n\n/**\n * Expose `run()`.\n */\nexport { run };\n","/*!\n * node-minify\n * Copyright(c) 2011-2024 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport minify from \"@node-minify/core\";\nimport type { Result, Settings } from \"@node-minify/types\";\nimport { utils } from \"@node-minify/utils\";\n\n/**\n * Run compression.\n * @param options Settings\n */\nconst compress = (options: Settings): Promise<Result> => {\n return new Promise<Result>((resolve, reject) => {\n minify(options)\n .then(() => {\n if (options?.output?.includes(\"$1\")) {\n // npx node-minify --compressor uglify-js --input 'source/**/*.js' --output 'source/$1.min.js' --option '{\"warnings\": true, \"mangle\": false}'\n return resolve({\n compressorLabel: options.compressorLabel ?? \"\",\n compressor: options.compressor,\n size: \"0\",\n sizeGzip: \"0\",\n });\n }\n if (!options.output) {\n return resolve({\n compressorLabel: options.compressorLabel ?? \"\",\n compressor: options.compressor,\n size: \"0\",\n sizeGzip: \"0\",\n });\n }\n utils\n .getFilesizeGzippedInBytes(options.output)\n .then((sizeGzip: string) => {\n resolve({\n compressorLabel: options.compressorLabel ?? \"\",\n compressor: options.compressor,\n size: options.output\n ? utils.getFilesizeInBytes(options.output)\n : \"0\",\n sizeGzip: sizeGzip,\n });\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\n/**\n * Expose `compress()`.\n */\nexport { compress };\n","/*!\n * node-minify\n * Copyright(c) 2011-2024 Rodolphe Stoclin\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\nimport type { Result, Settings } from \"@node-minify/types\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\n\nconst spinner = ora();\n\n/**\n * Start spinner.\n * @param options Settings\n */\nconst start = (options: Settings) => {\n spinner.text = `Compressing file(s) with ${chalk.green(\n options.compressorLabel\n )}...`;\n spinner.start();\n};\n\n/**\n * Stop spinner.\n * @param result\n */\nconst stop = (result: Result) => {\n spinner.text = `File(s) compressed successfully with ${chalk.green(\n result.compressorLabel\n )} (${chalk.green(result.size)} minified, ${chalk.green(\n result.sizeGzip\n )} gzipped)`;\n spinner.succeed();\n};\n\n/**\n * Mark spinner as failed.\n * @param options Settings\n */\nconst error = (options: Settings) => {\n spinner.text = `Error - file(s) not compressed with ${chalk.red(\n options.compressorLabel\n )}`;\n spinner.fail();\n};\n\n/**\n * Expose `start(), stop() and error()`.\n */\nexport { start as spinnerStart, stop as spinnerStop, error as spinnerError };\n"],"mappings":"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","names":["chalk","chalk"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@node-minify/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"description": "CLI - command line interface for @node-minify",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"compressor",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"node-minify": "dist/cli.mjs"
|
|
15
15
|
},
|
|
16
16
|
"engines": {
|
|
17
|
-
"node": ">=
|
|
17
|
+
"node": ">=18.0.0"
|
|
18
18
|
},
|
|
19
19
|
"directories": {
|
|
20
20
|
"lib": "dist",
|
|
@@ -24,9 +24,11 @@
|
|
|
24
24
|
"module": "./dist/index.mjs",
|
|
25
25
|
"types": "./dist/index.d.ts",
|
|
26
26
|
"exports": {
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
".": {
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"import": "./dist/index.mjs",
|
|
30
|
+
"require": "./dist/index.cjs"
|
|
31
|
+
}
|
|
30
32
|
},
|
|
31
33
|
"files": [
|
|
32
34
|
"bin",
|
|
@@ -42,23 +44,25 @@
|
|
|
42
44
|
"bugs": {
|
|
43
45
|
"url": "https://github.com/srod/node-minify/issues"
|
|
44
46
|
},
|
|
45
|
-
"scripts": {
|
|
46
|
-
"clean": "pnpm dlx rimraf dist",
|
|
47
|
-
"build": "pnpm clean && tsup src/index.ts --format cjs,esm --dts --sourcemap && tsup src/bin/cli.ts --format esm --dts --sourcemap",
|
|
48
|
-
"prepublishOnly": "pnpm build"
|
|
49
|
-
},
|
|
50
47
|
"dependencies": {
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
48
|
+
"chalk": "5.3.0",
|
|
49
|
+
"commander": "12.1.0",
|
|
50
|
+
"ora": "8.1.1",
|
|
51
|
+
"update-notifier": "7.3.1",
|
|
52
|
+
"@node-minify/core": "9.0.0",
|
|
53
|
+
"@node-minify/utils": "9.0.0"
|
|
57
54
|
},
|
|
58
55
|
"devDependencies": {
|
|
59
|
-
"@node-minify/types": "8.0.6",
|
|
60
56
|
"@types/chalk": "^2.2.0",
|
|
61
|
-
"@types/ora": "^3.2.0"
|
|
57
|
+
"@types/ora": "^3.2.0",
|
|
58
|
+
"@node-minify/types": "9.0.0"
|
|
62
59
|
},
|
|
63
|
-
"
|
|
64
|
-
|
|
60
|
+
"scripts": {
|
|
61
|
+
"clean": "pnpm dlx rimraf dist",
|
|
62
|
+
"build": "pnpm clean && tsup src/index.ts --format cjs,esm --dts --sourcemap && tsup src/bin/cli.ts --format esm --dts --sourcemap",
|
|
63
|
+
"lint": "biome lint .",
|
|
64
|
+
"test": "vitest run",
|
|
65
|
+
"test:ci": "vitest run --coverage",
|
|
66
|
+
"test:watch": "vitest"
|
|
67
|
+
}
|
|
68
|
+
}
|