@node-minify/cli 8.0.3-beta.0 → 8.0.5-beta.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2022 Rodolphe Stoclin
3
+ Copyright (c) 2023 Rodolphe Stoclin
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/dist/cli.mjs CHANGED
@@ -1,11 +1,4 @@
1
1
  #!/usr/bin/env node
2
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
3
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
4
- }) : x)(function(x) {
5
- if (typeof require !== "undefined")
6
- return require.apply(this, arguments);
7
- throw new Error('Dynamic require of "' + x + '" is not supported');
8
- });
9
2
 
10
3
  // src/bin/cli.ts
11
4
  import updateNotifier from "update-notifier";
@@ -59,33 +52,31 @@ var error = (options2) => {
59
52
 
60
53
  // src/index.ts
61
54
  var silence = false;
62
- var runOne = (cli) => {
63
- return new Promise((resolve, reject) => {
64
- const compressor = typeof cli.compressor === "string" ? __require(`@node-minify/${cli.compressor}`).default : cli.compressor;
65
- const compressorName = typeof cli.compressor === "string" ? cli.compressor : cli.compressor ? cli.compressor.name : "unknownCompressor";
66
- const options2 = {
67
- compressorLabel: compressorName,
68
- compressor,
69
- input: typeof cli.input === "string" ? cli.input.split(",") : "",
70
- output: cli.output
71
- };
72
- if (cli.option) {
73
- options2.options = JSON.parse(cli.option);
55
+ var runOne = async (cli) => {
56
+ const compressor = typeof cli.compressor === "string" ? await import(`@node-minify/${cli.compressor}`) : cli.compressor;
57
+ const compressorName = typeof cli.compressor === "string" ? cli.compressor : cli.compressor ? cli.compressor.name : "unknownCompressor";
58
+ const options2 = {
59
+ compressorLabel: compressorName,
60
+ compressor: compressor.default,
61
+ input: typeof cli.input === "string" ? cli.input.split(",") : "",
62
+ output: cli.output
63
+ };
64
+ if (cli.option) {
65
+ options2.options = JSON.parse(cli.option);
66
+ }
67
+ if (!silence) {
68
+ start(options2);
69
+ }
70
+ return compress(options2).then((result) => {
71
+ if (!silence) {
72
+ stop(result);
74
73
  }
74
+ return result;
75
+ }).catch((err) => {
75
76
  if (!silence) {
76
- start(options2);
77
+ error(options2);
77
78
  }
78
- return compress(options2).then((result) => {
79
- if (!silence) {
80
- stop(result);
81
- }
82
- resolve(result);
83
- }).catch((err) => {
84
- if (!silence) {
85
- error(options2);
86
- }
87
- reject(err);
88
- });
79
+ throw err;
89
80
  });
90
81
  };
91
82
  var run = (cli) => {
@@ -109,7 +100,7 @@ var run = (cli) => {
109
100
  // package.json
110
101
  var package_default = {
111
102
  name: "@node-minify/cli",
112
- version: "8.0.3-beta.0",
103
+ version: "8.0.5-beta.0",
113
104
  description: "CLI - command line interface for @node-minify",
114
105
  keywords: [
115
106
  "compressor",
@@ -157,8 +148,8 @@ var package_default = {
157
148
  prepublishOnly: "pnpm build"
158
149
  },
159
150
  dependencies: {
160
- "@node-minify/core": "8.0.3-beta.0",
161
- "@node-minify/utils": "8.0.3-beta.0",
151
+ "@node-minify/core": "8.0.5-beta.0",
152
+ "@node-minify/utils": "8.0.5-beta.0",
162
153
  chalk: "5.2.0",
163
154
  commander: "9.5.0",
164
155
  ora: "6.1.2",
@@ -169,7 +160,7 @@ var package_default = {
169
160
  "@types/chalk": "^2.2.0",
170
161
  "@types/ora": "^3.2.0"
171
162
  },
172
- gitHead: "f79e146eed24ca117756cf029eb5005631f12892"
163
+ gitHead: "22a7b887ea22743702b1dc5a613755ae20838a73"
173
164
  };
174
165
 
175
166
  // src/bin/cli.ts
@@ -199,7 +190,7 @@ run(options).then(() => process.exit()).catch((err) => {
199
190
  });
200
191
  /*!
201
192
  * node-minify
202
- * Copyright(c) 2011-2022 Rodolphe Stoclin
193
+ * Copyright(c) 2011-2023 Rodolphe Stoclin
203
194
  * MIT Licensed
204
195
  */
205
196
  //# 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-2022 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-2022 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 = (cli: Settings): Promise<Result> => {\n return new Promise<Result>((resolve, reject) => {\n /* eslint-disable @typescript-eslint/no-var-requires */\n const compressor =\n typeof cli.compressor === 'string' ? require(`@node-minify/${cli.compressor}`).default : 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,\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 resolve(result);\n })\n .catch((err: Error) => {\n if (!silence) {\n spinnerError(options);\n }\n reject(err);\n });\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-2022 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 // TODO handle $1 output\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 utils\n .getFilesizeGzippedInBytes(options.output)\n .then((sizeGzip: string) => {\n resolve({\n compressorLabel: options.compressorLabel || '',\n compressor: options.compressor,\n size: utils.getFilesizeInBytes(options.output),\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-2022 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 {Object} result\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 {Object} options\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.3-beta.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\": \">=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.3-beta.0\",\n \"@node-minify/utils\": \"8.0.3-beta.0\",\n \"chalk\": \"5.2.0\",\n \"commander\": \"9.5.0\",\n \"ora\": \"6.1.2\",\n \"update-notifier\": \"6.0.2\"\n },\n \"devDependencies\": {\n \"@node-minify/types\": \"8.0.3-beta.0\",\n \"@types/chalk\": \"^2.2.0\",\n \"@types/ora\": \"^3.2.0\"\n },\n \"gitHead\": \"f79e146eed24ca117756cf029eb5005631f12892\"\n}\n"],"mappings":"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","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-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 // TODO handle $1 output\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 utils\n .getFilesizeGzippedInBytes(options.output)\n .then((sizeGzip: string) => {\n resolve({\n compressorLabel: options.compressorLabel || '',\n compressor: options.compressor,\n size: utils.getFilesizeInBytes(options.output),\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 {Object} result\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 {Object} options\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.5-beta.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\": \">=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.5-beta.0\",\n \"@node-minify/utils\": \"8.0.5-beta.0\",\n \"chalk\": \"5.2.0\",\n \"commander\": \"9.5.0\",\n \"ora\": \"6.1.2\",\n \"update-notifier\": \"6.0.2\"\n },\n \"devDependencies\": {\n \"@node-minify/types\": \"8.0.3-beta.0\",\n \"@types/chalk\": \"^2.2.0\",\n \"@types/ora\": \"^3.2.0\"\n },\n \"gitHead\": \"22a7b887ea22743702b1dc5a613755ae20838a73\"\n}\n"],"mappings":"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","names":["chalk","options","options","options","chalk"]}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { Settings } from '@node-minify/types';
2
2
 
3
3
  /*!
4
4
  * node-minify
5
- * Copyright(c) 2011-2022 Rodolphe Stoclin
5
+ * Copyright(c) 2011-2023 Rodolphe Stoclin
6
6
  * MIT Licensed
7
7
  */
8
8
 
package/dist/index.js CHANGED
@@ -80,33 +80,31 @@ var error = (options) => {
80
80
 
81
81
  // src/index.ts
82
82
  var silence = false;
83
- var runOne = (cli) => {
84
- return new Promise((resolve, reject) => {
85
- const compressor = typeof cli.compressor === "string" ? require(`@node-minify/${cli.compressor}`).default : cli.compressor;
86
- const compressorName = typeof cli.compressor === "string" ? cli.compressor : cli.compressor ? cli.compressor.name : "unknownCompressor";
87
- const options = {
88
- compressorLabel: compressorName,
89
- compressor,
90
- input: typeof cli.input === "string" ? cli.input.split(",") : "",
91
- output: cli.output
92
- };
93
- if (cli.option) {
94
- options.options = JSON.parse(cli.option);
83
+ var runOne = async (cli) => {
84
+ const compressor = typeof cli.compressor === "string" ? await import(`@node-minify/${cli.compressor}`) : cli.compressor;
85
+ const compressorName = typeof cli.compressor === "string" ? cli.compressor : cli.compressor ? cli.compressor.name : "unknownCompressor";
86
+ const options = {
87
+ compressorLabel: compressorName,
88
+ compressor: compressor.default,
89
+ input: typeof cli.input === "string" ? cli.input.split(",") : "",
90
+ output: cli.output
91
+ };
92
+ if (cli.option) {
93
+ options.options = JSON.parse(cli.option);
94
+ }
95
+ if (!silence) {
96
+ start(options);
97
+ }
98
+ return compress(options).then((result) => {
99
+ if (!silence) {
100
+ stop(result);
95
101
  }
102
+ return result;
103
+ }).catch((err) => {
96
104
  if (!silence) {
97
- start(options);
105
+ error(options);
98
106
  }
99
- return compress(options).then((result) => {
100
- if (!silence) {
101
- stop(result);
102
- }
103
- resolve(result);
104
- }).catch((err) => {
105
- if (!silence) {
106
- error(options);
107
- }
108
- reject(err);
109
- });
107
+ throw err;
110
108
  });
111
109
  };
112
110
  var run = (cli) => {
@@ -132,7 +130,7 @@ var run = (cli) => {
132
130
  });
133
131
  /*!
134
132
  * node-minify
135
- * Copyright(c) 2011-2022 Rodolphe Stoclin
133
+ * Copyright(c) 2011-2023 Rodolphe Stoclin
136
134
  * MIT Licensed
137
135
  */
138
136
  //# 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-2022 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 = (cli: Settings): Promise<Result> => {\n return new Promise<Result>((resolve, reject) => {\n /* eslint-disable @typescript-eslint/no-var-requires */\n const compressor =\n typeof cli.compressor === 'string' ? require(`@node-minify/${cli.compressor}`).default : 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,\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 resolve(result);\n })\n .catch((err: Error) => {\n if (!silence) {\n spinnerError(options);\n }\n reject(err);\n });\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-2022 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 // TODO handle $1 output\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 utils\n .getFilesizeGzippedInBytes(options.output)\n .then((sizeGzip: string) => {\n resolve({\n compressorLabel: options.compressorLabel || '',\n compressor: options.compressor,\n size: utils.getFilesizeInBytes(options.output),\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-2022 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 {Object} result\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 {Object} options\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"],"mappings":"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","names":["import_chalk","minify","ora","chalk","chalk"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/compress.ts","../src/spinner.ts"],"sourcesContent":["/*!\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 // TODO handle $1 output\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 utils\n .getFilesizeGzippedInBytes(options.output)\n .then((sizeGzip: string) => {\n resolve({\n compressorLabel: options.compressorLabel || '',\n compressor: options.compressor,\n size: utils.getFilesizeInBytes(options.output),\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 {Object} result\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 {Object} options\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"],"mappings":"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","names":["import_chalk","minify","ora","chalk","chalk"]}
package/dist/index.mjs CHANGED
@@ -1,11 +1,3 @@
1
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
- }) : x)(function(x) {
4
- if (typeof require !== "undefined")
5
- return require.apply(this, arguments);
6
- throw new Error('Dynamic require of "' + x + '" is not supported');
7
- });
8
-
9
1
  // src/index.ts
10
2
  import chalk2 from "chalk";
11
3
 
@@ -54,33 +46,31 @@ var error = (options) => {
54
46
 
55
47
  // src/index.ts
56
48
  var silence = false;
57
- var runOne = (cli) => {
58
- return new Promise((resolve, reject) => {
59
- const compressor = typeof cli.compressor === "string" ? __require(`@node-minify/${cli.compressor}`).default : cli.compressor;
60
- const compressorName = typeof cli.compressor === "string" ? cli.compressor : cli.compressor ? cli.compressor.name : "unknownCompressor";
61
- const options = {
62
- compressorLabel: compressorName,
63
- compressor,
64
- input: typeof cli.input === "string" ? cli.input.split(",") : "",
65
- output: cli.output
66
- };
67
- if (cli.option) {
68
- options.options = JSON.parse(cli.option);
49
+ var runOne = async (cli) => {
50
+ const compressor = typeof cli.compressor === "string" ? await import(`@node-minify/${cli.compressor}`) : cli.compressor;
51
+ const compressorName = typeof cli.compressor === "string" ? cli.compressor : cli.compressor ? cli.compressor.name : "unknownCompressor";
52
+ const options = {
53
+ compressorLabel: compressorName,
54
+ compressor: compressor.default,
55
+ input: typeof cli.input === "string" ? cli.input.split(",") : "",
56
+ output: cli.output
57
+ };
58
+ if (cli.option) {
59
+ options.options = JSON.parse(cli.option);
60
+ }
61
+ if (!silence) {
62
+ start(options);
63
+ }
64
+ return compress(options).then((result) => {
65
+ if (!silence) {
66
+ stop(result);
69
67
  }
68
+ return result;
69
+ }).catch((err) => {
70
70
  if (!silence) {
71
- start(options);
71
+ error(options);
72
72
  }
73
- return compress(options).then((result) => {
74
- if (!silence) {
75
- stop(result);
76
- }
77
- resolve(result);
78
- }).catch((err) => {
79
- if (!silence) {
80
- error(options);
81
- }
82
- reject(err);
83
- });
73
+ throw err;
84
74
  });
85
75
  };
86
76
  var run = (cli) => {
@@ -105,7 +95,7 @@ export {
105
95
  };
106
96
  /*!
107
97
  * node-minify
108
- * Copyright(c) 2011-2022 Rodolphe Stoclin
98
+ * Copyright(c) 2011-2023 Rodolphe Stoclin
109
99
  * MIT Licensed
110
100
  */
111
101
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/compress.ts","../src/spinner.ts"],"sourcesContent":["/*!\n * node-minify\n * Copyright(c) 2011-2022 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 = (cli: Settings): Promise<Result> => {\n return new Promise<Result>((resolve, reject) => {\n /* eslint-disable @typescript-eslint/no-var-requires */\n const compressor =\n typeof cli.compressor === 'string' ? require(`@node-minify/${cli.compressor}`).default : 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,\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 resolve(result);\n })\n .catch((err: Error) => {\n if (!silence) {\n spinnerError(options);\n }\n reject(err);\n });\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-2022 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 // TODO handle $1 output\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 utils\n .getFilesizeGzippedInBytes(options.output)\n .then((sizeGzip: string) => {\n resolve({\n compressorLabel: options.compressorLabel || '',\n compressor: options.compressor,\n size: utils.getFilesizeInBytes(options.output),\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-2022 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 {Object} result\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 {Object} options\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"],"mappings":"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","names":["chalk","chalk"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/compress.ts","../src/spinner.ts"],"sourcesContent":["/*!\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 // TODO handle $1 output\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 utils\n .getFilesizeGzippedInBytes(options.output)\n .then((sizeGzip: string) => {\n resolve({\n compressorLabel: options.compressorLabel || '',\n compressor: options.compressor,\n size: utils.getFilesizeInBytes(options.output),\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 {Object} result\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 {Object} options\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"],"mappings":";AASA,OAAOA,YAAW;;;ACAlB,OAAO,YAAY;AACnB,SAAS,aAAa;AAQtB,IAAM,WAAW,CAAC,YAAuC;AACvD,SAAO,IAAI,QAAgB,CAAC,SAAS,WAAW;AAC9C,WAAO,OAAO,EACX,KAAK,MAAM;AACV,UAAI,QAAQ,OAAO,SAAS,IAAI,GAAG;AAGjC,eAAO,QAAQ;AAAA,UACb,iBAAiB,QAAQ,mBAAmB;AAAA,UAC5C,YAAY,QAAQ;AAAA,UACpB,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AACA,YACG,0BAA0B,QAAQ,MAAM,EACxC,KAAK,CAAC,aAAqB;AAC1B,gBAAQ;AAAA,UACN,iBAAiB,QAAQ,mBAAmB;AAAA,UAC5C,YAAY,QAAQ;AAAA,UACpB,MAAM,MAAM,mBAAmB,QAAQ,MAAM;AAAA,UAC7C;AAAA,QACF,CAAC;AAAA,MACH,CAAC,EACA,MAAM,MAAM;AAAA,IACjB,CAAC,EACA,MAAM,MAAM;AAAA,EACjB,CAAC;AACH;;;ACrCA,OAAO,WAAW;AAClB,OAAO,SAAS;AAGhB,IAAM,UAAU,IAAI;AAOpB,IAAM,QAAQ,CAAC,YAAsB;AACnC,UAAQ,OAAO,8BAA8B,MAAM,MAAM,QAAQ,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,CAAC,YAAsB;AACnC,UAAQ,OAAO,yCAAyC,MAAM,IAAI,QAAQ,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,QAAM,UAAoB;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,YAAQ,UAAU,KAAK,MAAM,IAAI,MAAM;AAAA,EACzC;AAEA,MAAI,CAAC,SAAS;AACZ,UAAa,OAAO;AAAA,EACtB;AAEA,SAAO,SAAS,OAAO,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,YAAa,OAAO;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;","names":["chalk","chalk"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-minify/cli",
3
- "version": "8.0.3-beta.0",
3
+ "version": "8.0.5-beta.0",
4
4
  "description": "CLI - command line interface for @node-minify",
5
5
  "keywords": [
6
6
  "compressor",
@@ -48,8 +48,8 @@
48
48
  "prepublishOnly": "pnpm build"
49
49
  },
50
50
  "dependencies": {
51
- "@node-minify/core": "8.0.3-beta.0",
52
- "@node-minify/utils": "8.0.3-beta.0",
51
+ "@node-minify/core": "8.0.5-beta.0",
52
+ "@node-minify/utils": "8.0.5-beta.0",
53
53
  "chalk": "5.2.0",
54
54
  "commander": "9.5.0",
55
55
  "ora": "6.1.2",
@@ -60,5 +60,5 @@
60
60
  "@types/chalk": "^2.2.0",
61
61
  "@types/ora": "^3.2.0"
62
62
  },
63
- "gitHead": "f79e146eed24ca117756cf029eb5005631f12892"
63
+ "gitHead": "22a7b887ea22743702b1dc5a613755ae20838a73"
64
64
  }