@goodboydigital/fido-build
TypeScript icon, indicating that this package has built-in type declarations

14.2.2 • Public • Published

Fido Build

Goodboys build tool. Webpack and Bulldog combo.

Provides Three core functions

  • Code compilation
  • Asset compilation
  • Serve functions

Install

npm i @goodboydigital/fido-build -D

Docs

Docs can be found here

Usage

In order to run fido-build you will need to create a simple build script to call the complier. This is typically placed in the tools 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.

Build Script

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();

NPM Scripts

"script": {
    "start": "node ./tools/build.js",
    "prod": "node ./tools/build.js production",
    "start:clean": "npm run start -- clean",
    "prod:clean": "npm run prod -- clean"
}

Configuration

If you wish to configure certain aspects you can create a fido.config.js in your projects and pass this into the FidoCompiler instead.

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;

Links

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

[
    {
        "location": "../odie/lib",
        "target": "./node_modules/@goodboydigital/odie/lib"
    }
]

Readme

Keywords

Package Sidebar

Install

npm i @goodboydigital/fido-build

Weekly Downloads

107

Version

14.2.2

License

ISC

Unpacked Size

118 kB

Total Files

78

Last publish

Collaborators

  • doormat23
  • gbd
  • bbc-childrens-apps
  • jjarrell50