Goodboys build tool. Webpack and bulldog combo
npm install @goodboydigital/fido-buildProvides Three core functions
- Code compilation
- Asset compilation
- Serve functions
npm i @goodboydigital/fido-build -Dtools folder in a build.js file.To run the build script you can create some npm scripts in your package.json in order to make the process easier.
js
const { FidoCompiler } = require('@goodboydigital/fido-build');
const args = {};process.argv.forEach((val) =>
{
args[val] = true;
});
const config = {};
config.mode = args.production ? 'production' : 'development';
config.clean = !!args.clean;
const compiler = new FidoCompiler(config);
config.mode === 'development' ? compiler.watch() : compiler.run();
`$3
`json
"script": {
"start": "node ./tools/build.js",
"prod": "node ./tools/build.js production",
"start:clean": "npm run start -- clean",
"prod:clean": "npm run prod -- clean"
}
`$3
If you wish to configure certain aspects you can create a fido.config.js in your projects and pass this into the FidoCompiler instead.`js
const config = {
mode:'development', entry:'./src',
output:'./dist',
codeConfig:{
analyse: false,
modern: true,
},
assetsConfig:{
imageResolutions:{
prefixTemplate: '@%%x',
resolutions: { high: 2, default: 1, low: 0.5 },
fixedResolution: 'default',
maximumTextureSize: 4096,
},
audio:{
mp3:{
bitrate: 96,
channels: 1,
frequency: 48000,
recompress: false,
},
ogg:{
channels: 1,
recompress: false,
}
},
gb:{
dedupe: true,
batch: false,
debug: false,
},
fileNames:false //example of disabling a default plugin
},
serveConfig:{
port:2311,
localhost:false,
useWebpackServer:true,
}
}
module.exports = config;
`$3
Fido-build provides a simpler way to link local projects together instead of using npm link. All you need to do is create a .links in the root of your project.Typically you will not need to commit this file as the paths will be relative to your computer.
#### Example
`json
[
{
"location": "../odie/lib",
"target": "./node_modules/@goodboydigital/odie/lib"
}
]
``