All checks were successful
Lint / pre-commit Linting (push) Successful in 22s
61 lines
1.3 KiB
JavaScript
61 lines
1.3 KiB
JavaScript
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';
|
|
|
|
const lib = require("./package.json");
|
|
const outputFileName = 'axios';
|
|
const name = "axios";
|
|
const input = './lib/axios.js';
|
|
|
|
const buildConfig = (config) => {
|
|
|
|
const build = ({minified}) => ({
|
|
input,
|
|
...config,
|
|
output: {
|
|
...config.output,
|
|
file: `${config.output.file}.${minified ? "min.js" : "js"}`
|
|
},
|
|
plugins: [
|
|
json(),
|
|
resolve({browser: true}),
|
|
commonjs(),
|
|
minified && terser(),
|
|
...(config.plugins || []),
|
|
]
|
|
});
|
|
|
|
return [
|
|
build({minified: false}),
|
|
build({minified: true}),
|
|
];
|
|
};
|
|
|
|
export default async () => {
|
|
const year = new Date().getFullYear();
|
|
const banner = `// ${lib.name} v${lib.version} Copyright (c) ${year} ${lib.author}`;
|
|
|
|
return [
|
|
...buildConfig({
|
|
output: {
|
|
file: `dist/${outputFileName}`,
|
|
name,
|
|
format: "umd",
|
|
exports: "default",
|
|
banner
|
|
}
|
|
}),
|
|
|
|
...buildConfig({
|
|
output: {
|
|
file: `dist/esm/${outputFileName}`,
|
|
format: "esm",
|
|
preferConst: true,
|
|
exports: "named",
|
|
banner
|
|
}
|
|
})
|
|
]
|
|
};
|