nuxt-build-optimisations
Advanced tools
Comparing version
@@ -1910,3 +1910,3 @@ 'use strict'; | ||
const webpack = ({config, env}) => { | ||
const webpackOptimiser = ({config, env}) => { | ||
if (!config.resolve || !config.output || !config.optimization) { | ||
@@ -1927,3 +1927,3 @@ return; | ||
const babel = ({nuxtOptions}) => { | ||
const babelOptimiser = ({nuxtOptions}) => { | ||
nuxtOptions.build.babel.presets = ({isServer}, [, options]) => { | ||
@@ -1936,3 +1936,3 @@ if (!isServer) { | ||
const images = ({config, env}) => { | ||
const imageOptimiser = ({config, env}) => { | ||
if (!config.module || !env.isDev) { | ||
@@ -2136,3 +2136,3 @@ return; | ||
const nuxt = ({options, nuxtOptions, env}) => { | ||
const nuxtOptimiser = ({options, nuxtOptions, env}) => { | ||
if (options.profile !== "safe") { | ||
@@ -2162,3 +2162,3 @@ nuxtOptions.build.cache = true; | ||
const esbuild = ({options, nuxtOptions, config, env}) => { | ||
const esbuildOptimiser = ({options, nuxtOptions, config, env}) => { | ||
if (!config.module || !config.plugins) { | ||
@@ -2168,2 +2168,3 @@ return; | ||
if (env.isDev) { | ||
let cacheLoader = []; | ||
config.module.rules.forEach((rule, ruleKey) => { | ||
@@ -2173,25 +2174,37 @@ if (!rule.use || !rule.test) { | ||
} | ||
cacheLoader = config.module.rules[ruleKey].use.filter((use) => { | ||
return use.loader.includes("cache-loader"); | ||
}); | ||
if (rule.test.toString() === "/\\.m?jsx?$/i") { | ||
config.module.rules[ruleKey].use = [{ | ||
loader: "esbuild-loader", | ||
options: { | ||
target: "es2015" | ||
config.module.rules[ruleKey].use = [ | ||
...cacheLoader, | ||
{ | ||
loader: "esbuild-loader", | ||
options: { | ||
target: "es2015" | ||
} | ||
} | ||
}]; | ||
]; | ||
} else if (rule.test.toString() === "/\\.ts$/i") { | ||
config.module.rules[ruleKey].use = [{ | ||
loader: "esbuild-loader", | ||
options: { | ||
loader: "ts", | ||
target: "es2015" | ||
config.module.rules[ruleKey].use = [ | ||
...cacheLoader, | ||
{ | ||
loader: "esbuild-loader", | ||
options: { | ||
loader: "ts", | ||
target: "es2015" | ||
} | ||
} | ||
}]; | ||
]; | ||
} else if (rule.test.toString() === "/\\.tsx$/i") { | ||
config.module.rules[ruleKey].use = [{ | ||
loader: "esbuild-loader", | ||
options: { | ||
loader: "ts", | ||
target: "es2015" | ||
config.module.rules[ruleKey].use = [ | ||
...cacheLoader, | ||
{ | ||
loader: "esbuild-loader", | ||
options: { | ||
loader: "ts", | ||
target: "es2015" | ||
} | ||
} | ||
}]; | ||
]; | ||
} | ||
@@ -2211,11 +2224,2 @@ }); | ||
const optimisations = /*#__PURE__*/Object.freeze({ | ||
__proto__: null, | ||
webpackOptimiser: webpack, | ||
babelOptimiser: babel, | ||
imageOptimiser: images, | ||
nuxtOptimiser: nuxt, | ||
esbuildOptimiser: esbuild | ||
}); | ||
const buildOptimisationsModule = function() { | ||
@@ -2235,2 +2239,3 @@ var _a; | ||
maybeEnableSpeedMeasurePlugin(buildOptimisations, nuxt); | ||
nuxtOptimiser({options: buildOptimisations, nuxtOptions: nuxt.options, env: {isDev: nuxt.dev}}); | ||
this.extendBuild((config, env) => { | ||
@@ -2243,4 +2248,10 @@ const args = { | ||
}; | ||
for (const k in optimisations) { | ||
optimisations[k](args); | ||
const extendOptimisers = [ | ||
webpackOptimiser, | ||
babelOptimiser, | ||
imageOptimiser, | ||
esbuildOptimiser | ||
]; | ||
for (const k in extendOptimisers) { | ||
extendOptimisers[k](args); | ||
} | ||
@@ -2247,0 +2258,0 @@ }); |
{ | ||
"name": "nuxt-build-optimisations", | ||
"version": "1.0.0-6", | ||
"version": "1.0.0-7", | ||
"description": "Automatic optimisations for Nuxt build time.", | ||
@@ -5,0 +5,0 @@ "repository": "loonpwn/nuxt-build-optimisations", |
63073
0.68%1929
0.63%