summaryrefslogtreecommitdiff
path: root/school/node_modules/axios/rollup.config.js
diff options
context:
space:
mode:
Diffstat (limited to 'school/node_modules/axios/rollup.config.js')
-rw-r--r--school/node_modules/axios/rollup.config.js90
1 files changed, 90 insertions, 0 deletions
diff --git a/school/node_modules/axios/rollup.config.js b/school/node_modules/axios/rollup.config.js
new file mode 100644
index 0000000..9fd12d1
--- /dev/null
+++ b/school/node_modules/axios/rollup.config.js
@@ -0,0 +1,90 @@
+import resolve from '@rollup/plugin-node-resolve';
+import commonjs from '@rollup/plugin-commonjs';
+import {terser} from "rollup-plugin-terser";
+import json from '@rollup/plugin-json';
+import { babel } from '@rollup/plugin-babel';
+import autoExternal from 'rollup-plugin-auto-external';
+import bundleSize from 'rollup-plugin-bundle-size'
+
+const lib = require("./package.json");
+const outputFileName = 'axios';
+const name = "axios";
+const input = './lib/axios.js';
+
+const buildConfig = ({es5, browser = true, minifiedVersion = true, ...config}) => {
+
+ const build = ({minified}) => ({
+ input,
+ ...config,
+ output: {
+ ...config.output,
+ file: `${config.output.file}.${minified ? "min.js" : "js"}`
+ },
+ plugins: [
+ json(),
+ resolve({browser}),
+ commonjs(),
+ minified && terser(),
+ minified && bundleSize(),
+ ...(es5 ? [babel({
+ babelHelpers: 'bundled',
+ presets: ['@babel/preset-env']
+ })] : []),
+ ...(config.plugins || []),
+ ]
+ });
+
+ const configs = [
+ build({minified: false}),
+ ];
+
+ if (minifiedVersion) {
+ configs.push(build({minified: true}))
+ }
+
+ return configs;
+};
+
+export default async () => {
+ const year = new Date().getFullYear();
+ const banner = `// Axios v${lib.version} Copyright (c) ${year} ${lib.author} and contributors`;
+
+ return [
+ ...buildConfig({
+ es5: true,
+ output: {
+ file: `dist/${outputFileName}`,
+ name,
+ format: "umd",
+ exports: "default",
+ banner
+ }
+ }),
+
+ ...buildConfig({
+ output: {
+ file: `dist/esm/${outputFileName}`,
+ format: "esm",
+ preferConst: true,
+ exports: "named",
+ banner
+ }
+ }),
+ // Node.js commonjs build
+ {
+ input,
+ output: {
+ file: `dist/node/${name}.cjs`,
+ format: "cjs",
+ preferConst: true,
+ exports: "default",
+ banner
+ },
+ plugins: [
+ autoExternal(),
+ resolve(),
+ commonjs()
+ ]
+ }
+ ]
+};