mirror of
https://github.com/encounter/yarn.git
synced 2026-03-30 11:43:44 -07:00
83 lines
1.7 KiB
JavaScript
Executable File
83 lines
1.7 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
/* eslint-disable */
|
|
|
|
const webpack = require('webpack');
|
|
const path = require('path');
|
|
const util = require('util');
|
|
const fs = require('fs');
|
|
|
|
const version = require('../package.json').version;
|
|
const basedir = path.join(__dirname, '../');
|
|
const babelRc = JSON.parse(fs.readFileSync(path.join(basedir, '.babelrc'), 'utf8'));
|
|
|
|
//
|
|
// Modern build
|
|
//
|
|
|
|
const compiler = webpack({
|
|
// devtool: 'inline-source-map',
|
|
entry: [path.join(basedir, 'src/cli/index.js')],
|
|
module: {
|
|
loaders: [{
|
|
test: /\.js$/,
|
|
exclude: /node_modules/,
|
|
loader: 'babel',
|
|
}, {
|
|
test: /\.json$/,
|
|
loader: 'json',
|
|
}],
|
|
},
|
|
plugins: [
|
|
new webpack.BannerPlugin({
|
|
banner: "#!/usr/bin/env node",
|
|
raw: true
|
|
})
|
|
],
|
|
output: {
|
|
filename: `yarn-${version}.js`,
|
|
path: path.join(basedir, 'dist'),
|
|
},
|
|
target: 'node',
|
|
});
|
|
|
|
compiler.run((err, stats) => {
|
|
const {fileDependencies} = stats.compilation;
|
|
const filenames = fileDependencies.map(x => x.replace(basedir, ''));
|
|
console.log(util.inspect(filenames, {maxArrayLength: null}));
|
|
});
|
|
|
|
//
|
|
// Legacy build
|
|
//
|
|
|
|
const compilerLegacy = webpack({
|
|
// devtool: 'inline-source-map',
|
|
entry: [path.join(basedir, 'src/cli/index.js')],
|
|
module: {
|
|
loaders: [{
|
|
test: /\.js$/,
|
|
exclude: /node_modules/,
|
|
loader: 'babel',
|
|
query: babelRc.env['pre-node5'],
|
|
}, {
|
|
test: /\.json$/,
|
|
loader: 'json',
|
|
}],
|
|
},
|
|
plugins: [
|
|
new webpack.BannerPlugin({
|
|
banner: "#!/usr/bin/env node",
|
|
raw: true
|
|
})
|
|
],
|
|
output: {
|
|
filename: `yarn-legacy-${version}.js`,
|
|
path: path.join(basedir, 'dist'),
|
|
},
|
|
target: 'node',
|
|
});
|
|
|
|
compilerLegacy.run((err, stats) => {
|
|
// do nothing, but keep here for debugging...
|
|
});
|