markdownlint/demo/webpack.config.js

68 lines
1.6 KiB
JavaScript
Raw Normal View History

// @ts-check
"use strict";
const webpack = require("webpack");
function config(options) {
const { entry, filename, mode, packageJson } = options;
const { name, version, homepage, license } = packageJson;
return {
"devtool": false,
"entry": entry,
"externals": {
"markdown-it": "markdownit"
},
"mode": mode,
"name": name,
"output": {
"filename": filename,
"library": name.replace(/(-\w)/g, (m) => m.slice(1).toUpperCase()),
"path": __dirname
},
"plugins": [
new webpack.BannerPlugin({
"banner": `${name} ${version} ${homepage} @license ${license}`
}),
new webpack.DefinePlugin({
"process.env.NODE_DEBUG": false
})
],
"resolve": {
"fallback": {
"fs": false,
"os": false,
"path": false,
"util": false
}
}
};
}
module.exports = [
config({
"entry": "../lib-es3/lib/markdownlint.js",
"filename": "markdownlint-browser.js",
"mode": "development",
"packageJson": require("../package.json")
}),
config({
"entry": "../lib-es3/lib/markdownlint.js",
"filename": "markdownlint-browser.min.js",
"mode": "production",
"packageJson": require("../package.json")
}),
config({
"entry": "../lib-es3/helpers/helpers.js",
"filename": "markdownlint-rule-helpers-browser.js",
"mode": "development",
"packageJson": require("../helpers/package.json")
}),
config({
"entry": "../lib-es3/helpers/helpers.js",
"filename": "markdownlint-rule-helpers-browser.min.js",
"mode": "production",
"packageJson": require("../helpers/package.json")
})
];