summaryrefslogtreecommitdiff
path: root/node_modules/terser-webpack-plugin/dist/minify.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2024-08-30 17:21:18 +0800
committerlittleblack111 <littleblack11111@gmail.com>2024-08-30 17:21:18 +0800
commitefbc2ffe6a1ee5ec38a4396305561d6515d0943e (patch)
tree2b4c94f18f2c792dfda813050755d5c0273fae22 /node_modules/terser-webpack-plugin/dist/minify.js
parent43acceb75957c880a5ba5a31aae221394a36d5f6 (diff)
node fixes, updates
Diffstat (limited to 'node_modules/terser-webpack-plugin/dist/minify.js')
-rw-r--r--node_modules/terser-webpack-plugin/dist/minify.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/node_modules/terser-webpack-plugin/dist/minify.js b/node_modules/terser-webpack-plugin/dist/minify.js
new file mode 100644
index 00000000..69c56f46
--- /dev/null
+++ b/node_modules/terser-webpack-plugin/dist/minify.js
@@ -0,0 +1,48 @@
+"use strict";
+
+/** @typedef {import("./index.js").MinimizedResult} MinimizedResult */
+/** @typedef {import("./index.js").CustomOptions} CustomOptions */
+
+/**
+ * @template T
+ * @param {import("./index.js").InternalOptions<T>} options
+ * @returns {Promise<MinimizedResult>}
+ */
+async function minify(options) {
+ const {
+ name,
+ input,
+ inputSourceMap,
+ extractComments
+ } = options;
+ const {
+ implementation,
+ options: minimizerOptions
+ } = options.minimizer;
+ return implementation({
+ [name]: input
+ }, inputSourceMap, minimizerOptions, extractComments);
+}
+
+/**
+ * @param {string} options
+ * @returns {Promise<MinimizedResult>}
+ */
+async function transform(options) {
+ // 'use strict' => this === undefined (Clean Scope)
+ // Safer for possible security issues, albeit not critical at all here
+ // eslint-disable-next-line no-param-reassign
+ const evaluatedOptions =
+ /**
+ * @template T
+ * @type {import("./index.js").InternalOptions<T>}
+ * */
+
+ // eslint-disable-next-line no-new-func
+ new Function("exports", "require", "module", "__filename", "__dirname", `'use strict'\nreturn ${options}`)(exports, require, module, __filename, __dirname);
+ return minify(evaluatedOptions);
+}
+module.exports = {
+ minify,
+ transform
+}; \ No newline at end of file