Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
bin
 
 
 
 
 
 
hot
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Universal Development Kit

Webpack extension which improves universal application development.

NPM Version NPM Dependencies Build Status Coverage Status License: MIT

Features

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:

  1. update client.js to check that server compiler will be invalidate when client compiler done ;
  2. update server.js to check that sever compiler will be the only one compiler invalided ;
  3. update shared.js to check that server compiler will wait client compiler done before compile too ;
  4. update shared.js with a syntax error to check that server won't compile because client compiler has error ;
  5. 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:

Node.js API

See docs/api.md.

FAQ

See docs/faq.md.

DevContainer

See docs/dev-container.md.

Implementation

See docs/implementation.md.

License

MIT

About

Universal Development Kit: Webpack extension which improves universal application development.

Topics

Resources

License

Packages

No packages published