aza-dev-utils
This package includes some utilties used by [Aza]
logger
-
logger.log(thing: any): void
: Log to console. =console.log
-
logger.start(text: string): void
: Log the start of a task to console -
logger.done(text: string): void
: Log the end of task to console -
logger.info(text: string, data: object): void
: Log information and data to console -
logger.debug(text: string, data: object): void
: Log debug message and data to console -
logger.warn(text: string, data: object): void
: Log a warning with message and data to console -
logger.error(text: string, err: object): void
: Log a message and an error to console
new FriendlyErrorrWebpackPlugin({ verbose: boolean, onSuccessMessage: string, target: 'web' | 'server' })
This will pretty print webpack errors to your console. It is mean to be used with aza's double webpack setup, where you have two webpack instances running in parallel. Otherwise the output looks almost identical to create-react-app's
as it uses the same error formatter under the hood.
const FriendlyErrorsPlugin = require('aza-dev-utils/FriendlyErrorsPlugin');
module.exports = {
// ...
plugins: [
new FriendlyErrorsPlugin({
verbose: false,
target: 'web'
onSuccessMessage: `Your application is running at http://${process.env.HOST}:${process.env.PORT}`,
}),
// ...
],
// ...
}
printErrors(summary: string, errors: Error[])
Pretty print an array of errors with a message. Good for CI's.
const printErrors = require('aza-dev-utils/printErrors');
try {
// do something
} catch (e) {
printErrors('Failed to compile.', [e]);
}
makeLoaderFinder(loaderName: string): (rule: WebPackRule) => boolean;
Helper function to find a loader in the webpack config object. Used for writing Aza Plugins, or aza modify functions.
Example:
// aza.config.js
const loaderFinder = require('aza-dev-utils/makeLoaderFinder');
module.exports = {
modify(config) {
// Makes a finder function, to search for babel-loader
const babelLoaderFinder = makeLoaderFinder('babel-loader');
// Finds the JS rule containing babel-loader using our function
const jsRule = config.module.rules.find(babelLoaderFinder);
// Set cacheDirectory to true in our babel-loader
jsRule.use.find(babelLoaderFinder).options.cacheDirectory = true;
}
}