63 lines
1.4 KiB
JavaScript
Vendored
63 lines
1.4 KiB
JavaScript
Vendored
const path = require("path");
|
|
const mix = require("laravel-mix");
|
|
const { unlinkSync } = require("fs");
|
|
|
|
require("laravel-mix-polyfill");
|
|
require("laravel-mix-clean");
|
|
require("laravel-mix-eslint");
|
|
require("laravel-mix-stylelint");
|
|
|
|
const polyfill = {
|
|
enabled: true,
|
|
bugfixes: true,
|
|
useBuiltIns: "usage",
|
|
targets: "last 3 version, not dead, >0.3%",
|
|
};
|
|
|
|
mix.setPublicPath(path.normalize("dist"));
|
|
mix.setResourceRoot(path.normalize("src"));
|
|
|
|
mix.webpackConfig({
|
|
resolve: {
|
|
extensions: ["*", ".js", ".ts"],
|
|
alias: {
|
|
"@": path.resolve("resources/assets"),
|
|
},
|
|
},
|
|
// Pour debug compilation errors
|
|
// stats: {
|
|
// children: true,
|
|
// warningsFilter: [/\-\-underline\-color/],
|
|
// },
|
|
});
|
|
|
|
mix.options({
|
|
postCss: [
|
|
require("postcss-discard-comments")({
|
|
removeAll: true,
|
|
}),
|
|
],
|
|
});
|
|
|
|
mix.clean({
|
|
cleanOnceBeforeBuildPatterns: ["dist/*"],
|
|
});
|
|
|
|
// * COMMON
|
|
mix.eslint({
|
|
fix: true,
|
|
extensions: ["js", "ts"],
|
|
})
|
|
.stylelint({
|
|
configFile: ".stylelintrc.json",
|
|
files: ["**/*.scss"],
|
|
})
|
|
.polyfill(polyfill)
|
|
.version()
|
|
.sourceMaps(false, "inline-source-map")
|
|
|
|
.ts("src/ts/ldcweb-cookies.ts", "js/cookie-notice.js")
|
|
.sass("src/scss/themes/standard.scss", "css/cookie-notice-standard.css")
|
|
.then(() => {
|
|
unlinkSync(path.resolve("dist/mix-manifest.json"));
|
|
});
|