Skip to content

Commit

Permalink
build: build minified version
Browse files Browse the repository at this point in the history
Also improve build process while we're here.
  • Loading branch information
johnwalley committed May 5, 2020
1 parent 777edf5 commit 42aae3c
Show file tree
Hide file tree
Showing 8 changed files with 144 additions and 26 deletions.
11 changes: 0 additions & 11 deletions .eslintrc

This file was deleted.

12 changes: 12 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"extends": "plugin:prettier/recommended",
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2018
},
"env": {
"es6": true,
"node": true,
"browser": true
}
}
1 change: 0 additions & 1 deletion index.js

This file was deleted.

88 changes: 88 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 12 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "d3-tube-map",
"version": "1.2.1",
"version": "1.2.2",
"description": "Draw tube maps in the style of the London Underground",
"keywords": [
"d3",
Expand All @@ -9,30 +9,34 @@
"map",
"visualization"
],
"homepage": "http://www.pubmap.co.uk/",
"homepage": "https://github.com/johnwalley/d3-tube-map/",
"license": "BSD-3-Clause",
"author": {
"name": "John Walley",
"url": "http://www.walley.org.uk/"
},
"main": "dist/d3-tube-map.js",
"module": "index.js",
"unpkg": "dist/d3-tube.min.js",
"jsdelivr": "dist/d3-tube.min.js",
"module": "src/index.js",
"files": [
"dist/*.js"
"dist/**/*.js",
"src/**/*.js"
],
"repository": {
"type": "git",
"url": "https://github.com/johnwalley/d3-tube-map.git"
},
"scripts": {
"pretest": "rm -rf dist && mkdir dist && rollup -c --banner \"$(preamble)\"",
"test": "tape 'test/**/*-test.js' && eslint index.js src",
"prepublishOnly": "npm run test && uglifyjs -b beautify=false,preamble=\"'$(preamble)'\" dist/d3-tube-map.js -c -m -o dist/d3-tube-map.min.js",
"pretest": "rm -rf dist && mkdir dist && rollup -c",
"test": "tape 'test/**/*-test.js' && eslint src",
"prepublishOnly": "npm run test",
"postpublish": "zip -j dist/d3-tube-map.zip -- LICENSE README.md dist/d3-tube-map.js dist/d3-tube-map.min.js"
},
"dependencies": {
"d3": "5"
},
"sideEffects": false,
"devDependencies": {
"eslint": "6.8.0",
"eslint-config-prettier": "6.10.0",
Expand All @@ -41,6 +45,7 @@
"package-preamble": "0.1.0",
"prettier": "1.19.1",
"rollup": "2.7.6",
"rollup-plugin-terser": "5",
"tape": "5.0.0",
"uglify-js": "3.8.0"
}
Expand Down
35 changes: 30 additions & 5 deletions rollup.config.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,39 @@
const definition = require('./package.json');
const dependencies = Object.keys(definition.dependencies);
import { terser } from 'rollup-plugin-terser';
import * as meta from './package.json';

export default {
input: 'index',
const dependencies = Object.keys(meta.dependencies);

const config = {
input: 'src/index.js',
external: dependencies,
output: {
extend: true,
file: `dist/${definition.name}.js`,
file: `dist/${meta.name}.js`,
format: 'umd',
globals: dependencies.reduce((p, v) => ((p[v] = 'd3'), p), {}),
name: 'd3',
banner: `// ${meta.homepage} v${
meta.version
} Copyright ${new Date().getFullYear()} ${meta.author.name}`,
},
plugins: [],
};

export default [
config,
{
...config,
output: {
...config.output,
file: `dist/${meta.name}.min.js`,
},
plugins: [
...config.plugins,
terser({
output: {
preamble: config.output.banner,
},
}),
],
},
];
1 change: 1 addition & 0 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default as tubeMap } from './map';
3 changes: 1 addition & 2 deletions test/map-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ tape('map(selection) produces the expected result', function(test) {
fs.readFileSync(path.join(__dirname, 'map.json'), 'utf8')
);

d3
.select(bodyActual)
d3.select(bodyActual)
.select('div')
.datum(data)
.call(d3.tubeMap());
Expand Down

0 comments on commit 42aae3c

Please sign in to comment.