aza-dev-utils
v1.0.1
Published
Dev Utils for AZA
Downloads
66
Readme
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 consolelogger.done(text: string): void
: Log the end of task to consolelogger.info(text: string, data: object): void
: Log information and data to consolelogger.debug(text: string, data: object): void
: Log debug message and data to consolelogger.warn(text: string, data: object): void
: Log a warning with message and data to consolelogger.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;
}
}