From d1bbff8c317e2ff64274d6f11949a95daf9af519 Mon Sep 17 00:00:00 2001 From: Jamie Wong Date: Thu, 7 Dec 2017 23:17:14 -0800 Subject: [PATCH] Shuffle build stuff around to make GitHub releasing easy --- .gitignore | 2 +- dev.html | 58 ++++++++++++++++++++++++++++++++++++++++ package.json | 9 +++---- rollup.config.common.js | 42 +++++++++++++++++++++++++++++ rollup.config.dev.js | 2 ++ rollup.config.js | 37 ------------------------- rollup.config.release.js | 2 ++ 7 files changed, 109 insertions(+), 43 deletions(-) create mode 100644 dev.html create mode 100644 rollup.config.common.js create mode 100644 rollup.config.dev.js delete mode 100644 rollup.config.js create mode 100644 rollup.config.release.js diff --git a/.gitignore b/.gitignore index f06235c..6ad08ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ node_modules -dist +dist/speedscope-dev.js diff --git a/dev.html b/dev.html new file mode 100644 index 0000000..6fa64f3 --- /dev/null +++ b/dev.html @@ -0,0 +1,58 @@ + + + + + + + SpeedScope + + + +
+ + + diff --git a/package.json b/package.json index d8e6d1e..592f614 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "description": "", "main": "index.js", "scripts": { - "watch": "rollup -c --watch", - "build": "rollup -c" + "serve": "./serveit -i node_modules 'node_modules/.bin/rollup -c rollup.config.dev.js'", + "release": "rollup -c rollup.config.release.js" }, "author": "", "license": "MIT", @@ -16,15 +16,14 @@ "preact": "^8.2.6", "react": "^16.1.1", "react-dom": "^16.1.1", + "regl": "^1.3.0", "rollup": "^0.51.5", "rollup-plugin-commonjs": "^8.2.6", "rollup-plugin-node-globals": "^1.1.0", "rollup-plugin-node-resolve": "^3.0.0", "rollup-plugin-replace": "^2.0.0", "rollup-plugin-typescript": "^0.8.1", + "rollup-plugin-uglify-es": "0.0.1", "typescript": "^2.6.1" - }, - "dependencies": { - "regl": "^1.3.0" } } diff --git a/rollup.config.common.js b/rollup.config.common.js new file mode 100644 index 0000000..3565c37 --- /dev/null +++ b/rollup.config.common.js @@ -0,0 +1,42 @@ +import commonjs from 'rollup-plugin-commonjs'; +import nodeResolve from 'rollup-plugin-node-resolve'; +import typescript from 'rollup-plugin-typescript'; +import replace from 'rollup-plugin-replace'; +import nodeGlobals from 'rollup-plugin-node-globals'; +import uglify from 'rollup-plugin-uglify-es'; + +export function config(isRelease) { + const plugins = [ + typescript({ + typescript: require('typescript') + }), + nodeResolve({ + jsnext: true, + main: true + }), + commonjs({ + include: 'node_modules/**', + namedExports: { + 'aphrodite': ['StyleSheet', 'css'], + 'react-dom': ['render'], + 'react': ['Component', 'createElement'] + }, + ignore: [ 'domain' ] + }), + replace({ + 'process.env.NODE_ENV': JSON.stringify(isRelease ? 'prod' : 'development') + }), + nodeGlobals() + ] + + if (isRelease) plugins.push(uglify()) + + return [{ + input: 'index.tsx', + output: { + file: isRelease ? 'dist/speedscope.js' : 'dist/speedscope-dev.js', + format: 'iife' + }, + plugins: plugins + }] +} diff --git a/rollup.config.dev.js b/rollup.config.dev.js new file mode 100644 index 0000000..bef9f4d --- /dev/null +++ b/rollup.config.dev.js @@ -0,0 +1,2 @@ +import {config} from './rollup.config.common.js' +export default config(false) diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index b39af76..0000000 --- a/rollup.config.js +++ /dev/null @@ -1,37 +0,0 @@ -import commonjs from 'rollup-plugin-commonjs'; -import nodeResolve from 'rollup-plugin-node-resolve'; -import typescript from 'rollup-plugin-typescript'; -import replace from 'rollup-plugin-replace'; -import nodeGlobals from 'rollup-plugin-node-globals'; - -const plugins = [ - typescript({ - typescript: require('typescript') - }), - nodeResolve({ - jsnext: true, - main: true - }), - commonjs({ - include: 'node_modules/**', - namedExports: { - 'aphrodite': ['StyleSheet', 'css'], - 'react-dom': ['render'], - 'react': ['Component', 'createElement'] - }, - ignore: [ 'domain' ] - }), - replace({ - 'process.env.NODE_ENV': JSON.stringify('development') - }), - nodeGlobals() -] - -export default [{ - input: 'index.tsx', - output: { - file: 'dist/speedscope.js', - format: 'iife' - }, - plugins: plugins -}] diff --git a/rollup.config.release.js b/rollup.config.release.js new file mode 100644 index 0000000..26053fb --- /dev/null +++ b/rollup.config.release.js @@ -0,0 +1,2 @@ +import {config} from './rollup.config.common.js' +export default config(true)