From 71b17da77c473be6fe4e75db5f95006e2517a163 Mon Sep 17 00:00:00 2001 From: Jonathan Apodaca Date: Tue, 2 Jan 2018 11:10:12 -0700 Subject: [PATCH 1/2] Publish as UMD bundle --- .gitignore | 2 ++ package.json | 13 ++++++++----- readme.markdown | 17 +++++++++++++++++ webpack.config.js | 19 +++++++++++++++++++ 4 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 webpack.config.js diff --git a/.gitignore b/.gitignore index 3435329..c9d597f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ +dist node_modules example/*/bundle.js +*.tgz diff --git a/package.json b/package.json index 7e68d85..ca8b975 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "hyperx", "version": "2.3.2", "description": "tagged template string virtual dom builder", - "main": "index.js", + "main": "dist/hyperx.js", "scripts": { "test": "tape test/*.js", "coverage": "covert test/*.js" @@ -22,12 +22,15 @@ "devDependencies": { "covert": "^1.1.0", "hyperscript": "^1.4.7", + "hyperscript-attribute-to-property": "^1.0.0", "tape": "^4.4.0", - "virtual-dom": "^2.1.1" - }, - "dependencies": { - "hyperscript-attribute-to-property": "^1.0.0" + "uglifyjs-webpack-plugin": "^1.1.5", + "virtual-dom": "^2.1.1", + "webpack": "^3.10.0" }, + "files": [ + "dist" + ], "directories": { "example": "example", "test": "test" diff --git a/readme.markdown b/readme.markdown index e5863af..855c295 100644 --- a/readme.markdown +++ b/readme.markdown @@ -146,6 +146,23 @@ var App = React.createClass({ render(React.createElement(App), document.querySelector('#content')) ``` +## UMD example (via Hyperapp) + +```html + + + +``` + ## console.log example ``` js diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..c4cefff --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,19 @@ +const path = require('path') + +const UglifyJsPlugin = require('uglifyjs-webpack-plugin') + +const cfg = minify => ({ + entry: './index.js', + devtool: 'source-map', + output: { + filename: `hyperx${minify ? '.min' : ''}.js`, + library: 'hyperx', + libraryTarget: 'umd', + path: path.join(__dirname, 'dist'), + }, + plugins: minify ? [new UglifyJsPlugin({ + sourceMap: true, + })] : [], +}) + +module.exports = [cfg(false), cfg(true)] From 79c937c7c3f7bc7a45de6808068ae3283e869668 Mon Sep 17 00:00:00 2001 From: Jonathan Apodaca Date: Tue, 2 Jan 2018 11:22:28 -0700 Subject: [PATCH 2/2] Add prepack hook to NPM so that `npm publish` runs build before publish --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index ca8b975..5c2c08e 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "main": "dist/hyperx.js", "scripts": { "test": "tape test/*.js", - "coverage": "covert test/*.js" + "coverage": "covert test/*.js", + "prepack": "webpack" }, "keywords": [ "jsx",