udk
v1.1.11-rc.4
Published
Universal Development Kit
Downloads
403
Readme
Universal Development Kit
Webpack extension which improves universal application development.
Features
- Starts universal application development fastly (from scratch/without boilerplate)
- Designed on webpack's standard API v3 and v4
- Enhances compilers dependencies: sequential compilation according to dependency graph
- Support webpack-cli and webpack-commandnew
- Dev container to increase developer productivity: don't write specific code for development purposes anymore
- Compatible with Typescript and Universal Angular Applicationnew
Install
npm install --save-dev udk webpack
The Gist
// webpack.config.js
const mode = process.env.NODE_ENV === 'production' ? 'production' : 'development';
const client = {
name: 'client',
entry: './src/client.js',
output: {
path: __dirname + '/dist',
filename: 'client.js'
}
};
const server = {
name: 'server',
dependencies: [ client.name ], // server depends on client
entry: './src/server.js',
output: {
path: __dirname + '/dist',
filename: 'server.js'
}
};
module.exports = [ client, server ]; // webpack multi config
// src/client.js
import './shared';
console.log('Hello, client');
// src/server.js
import './shared';
console.log('Hello, server');
// src/shared.js
console.log('Hello, shared');
DEBUG=udk:* npx udk --config webpack.config.js --watch
Now, try to update each file and check the output:
- update
client.js
to check that server compiler will be invalidate when client compiler done ; - update
server.js
to check that sever compiler will be the only one compiler invalided ; - update
shared.js
to check that server compiler will wait client compiler done before compile too ; - update
shared.js
with a syntax error to check that server won't compile because client compiler has error ; - update
shared.js
to fix syntax error and check client and server compilers will run in serie.
Run webpack --config webpack.config.js --watch
and try the same updates to check the difference between webpack and udk multi compiler behavior.
Under the hood, udk extends MultiCompiler only to ensure some behaviors:
- Invalidate compiler dependants when a compiler done ;
- Interupt compilation if a compiler dependency has stats errors ;
- Wait compiler dependency done when a shared file are updated.
Command Line Interface
udk.js
Same as webpack CLI.
Usage with config file
udk [--config webpack.config.js]
Usage without config file
udk <entry> [<entry>] <output>
All webpack CLIs are supported:
- webpack-cli (v4) ;
- webpack-command (v4) ;
- webpack/cli (v3).
Node.js API
See docs/api.md.
FAQ
See docs/faq.md.