Depend on script dependencies for downstream webpack
Downstream webpack will need any dependencies src/ depends on so it can successfully build. Also if multiple packages being built into a larger script share a common dependency version range, they can share the dependency instead of duplicating it. This will save built file size, execution time, and memory.
This commit is contained in:
parent
d7e39a35d7
commit
9b869e0da7
24
package.json
24
package.json
@ -10,7 +10,7 @@
|
|||||||
"url": "git+ssh://git@github.com/LLK/scratch-render.git"
|
"url": "git+ssh://git@github.com/LLK/scratch-render.git"
|
||||||
},
|
},
|
||||||
"main": "./dist/node/scratch-render.js",
|
"main": "./dist/node/scratch-render.js",
|
||||||
"browser": "./dist/web/scratch-render.js",
|
"browser": "./src/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "webpack --progress --colors",
|
"build": "webpack --progress --colors",
|
||||||
"docs": "jsdoc -c .jsdoc.json",
|
"docs": "jsdoc -c .jsdoc.json",
|
||||||
@ -35,23 +35,25 @@
|
|||||||
"eslint": "^4.6.1",
|
"eslint": "^4.6.1",
|
||||||
"eslint-config-scratch": "^5.0.0",
|
"eslint-config-scratch": "^5.0.0",
|
||||||
"gh-pages": "^1.0.0",
|
"gh-pages": "^1.0.0",
|
||||||
|
"jsdoc": "^3.5.5",
|
||||||
|
"json": "^9.0.4",
|
||||||
|
"scratch-vm": "0.1.0-prerelease.1527254075",
|
||||||
|
"tap": "^11.0.0",
|
||||||
|
"travis-after-all": "^1.4.4",
|
||||||
|
"uglifyjs-webpack-plugin": "^1.2.5",
|
||||||
|
"webpack": "^4.8.0",
|
||||||
|
"webpack-cli": "^2.0.15",
|
||||||
|
"webpack-dev-server": "^3.1.4"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
"grapheme-breaker": "0.3.2",
|
"grapheme-breaker": "0.3.2",
|
||||||
"hull.js": "0.2.10",
|
"hull.js": "0.2.10",
|
||||||
"ify-loader": "1.0.4",
|
"ify-loader": "1.0.4",
|
||||||
"jsdoc": "^3.5.5",
|
|
||||||
"json": "^9.0.4",
|
|
||||||
"linebreak": "0.3.0",
|
"linebreak": "0.3.0",
|
||||||
"minilog": "3.1.0",
|
"minilog": "3.1.0",
|
||||||
"raw-loader": "^0.5.1",
|
"raw-loader": "^0.5.1",
|
||||||
"scratch-storage": "^0.4.0",
|
"scratch-storage": "^0.4.0",
|
||||||
"scratch-svg-renderer": "0.1.0-prerelease.20180524210316",
|
"scratch-svg-renderer": "0.1.0-prerelease.20180524210316",
|
||||||
"scratch-vm": "0.1.0-prerelease.1527254075",
|
"twgl.js": "4.4.0"
|
||||||
"tap": "^11.0.0",
|
|
||||||
"travis-after-all": "^1.4.4",
|
|
||||||
"twgl.js": "4.4.0",
|
|
||||||
"uglifyjs-webpack-plugin": "^1.2.5",
|
|
||||||
"webpack": "^4.8.0",
|
|
||||||
"webpack-cli": "^2.0.15",
|
|
||||||
"webpack-dev-server": "^3.1.4"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
const LineBreaker = require('linebreak');
|
const LineBreaker = require('!ify-loader!linebreak');
|
||||||
const GraphemeBreaker = require('grapheme-breaker');
|
const GraphemeBreaker = require('!ify-loader!grapheme-breaker');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tell this text wrapper to use a specific measurement provider.
|
* Tell this text wrapper to use a specific measurement provider.
|
||||||
|
@ -21,10 +21,6 @@ const base = {
|
|||||||
options: {
|
options: {
|
||||||
presets: [['env', {targets: {browsers: ['last 3 versions', 'Safari >= 8', 'iOS >= 8']}}]]
|
presets: [['env', {targets: {browsers: ['last 3 versions', 'Safari >= 8', 'iOS >= 8']}}]]
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
test: /node_modules[\\/](linebreak|grapheme-breaker)[\\/].*\.js$/,
|
|
||||||
loader: 'ify-loader'
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -84,6 +80,14 @@ module.exports = [
|
|||||||
libraryTarget: 'commonjs2',
|
libraryTarget: 'commonjs2',
|
||||||
path: path.resolve('dist', 'node'),
|
path: path.resolve('dist', 'node'),
|
||||||
filename: '[name].js'
|
filename: '[name].js'
|
||||||
|
},
|
||||||
|
externals: {
|
||||||
|
'!ify-loader!grapheme-breaker': 'grapheme-breaker',
|
||||||
|
'!ify-loader!linebreak': 'linebreak',
|
||||||
|
'hull.js': true,
|
||||||
|
'scratch-svg-renderer': true,
|
||||||
|
'twgl.js': true,
|
||||||
|
'xml-escape': true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user