From e16e501b93302d7690c2c95e74097d27309738f2 Mon Sep 17 00:00:00 2001 From: Tyler Long Date: Sun, 16 Apr 2017 21:38:48 +0800 Subject: [PATCH] mermaidAPI should target node --- dist/demo/index.js | 3 +-- package.json | 11 ++++------- scripts/watch.sh | 2 +- webpack.config.base.js | 31 +++++++++++++++++++++++++++++++ webpack.config.js | 23 +++++++++-------------- webpack.config.prod.js | 13 +++++++++++++ webpack.config.slim.js | 16 ---------------- webpack.prod.config.js | 16 ---------------- webpack.prod.config.slim.js | 16 ---------------- yarn.lock | 4 ++++ 10 files changed, 63 insertions(+), 72 deletions(-) create mode 100644 webpack.config.base.js create mode 100644 webpack.config.prod.js delete mode 100644 webpack.config.slim.js delete mode 100644 webpack.prod.config.js delete mode 100644 webpack.prod.config.slim.js diff --git a/dist/demo/index.js b/dist/demo/index.js index 142e998a1..6d578fe90 100644 --- a/dist/demo/index.js +++ b/dist/demo/index.js @@ -1,5 +1,4 @@ -const api = require('../../src/mermaidAPI.js') -console.log(api) +const api = require('../mermaidAPI.js') const r = api.parse(`sequenceDiagram loop every day diff --git a/package.json b/package.json index 2a538bf63..17160aaa8 100644 --- a/package.json +++ b/package.json @@ -31,12 +31,8 @@ } }, "scripts": { - "build": "yarn build-mermaid && yarn build-mermaid-slim", - "build-mermaid": "node -r babel-register ./node_modules/.bin/webpack --progress --colors", - "build-mermaid-slim": "node -r babel-register ./node_modules/.bin/webpack --progress --colors --config webpack.config.slim.js", - "dist": "yarn dist-mermaid && yarn dist-mermaid-slim", - "dist-mermaid": "node -r babel-register ./node_modules/.bin/webpack --progress --colors -p --config webpack.prod.config.js", - "dist-mermaid-slim": "node -r babel-register ./node_modules/.bin/webpack --progress --colors -p --config webpack.prod.config.slim.js", + "build": "node -r babel-register ./node_modules/.bin/webpack --progress --colors", + "dist": "node -r babel-register ./node_modules/.bin/webpack --progress --colors -p --config webpack.config.prod.js", "upgrade": "rm -rf node_modules && rm yarn.lock && yarn install && ncu -ua && yarn upgrade && yarn remove d3 && yarn add d3@3.5.17", "live": "live-server ./test/examples", "lint": "node_modules/.bin/standard", @@ -151,6 +147,7 @@ "uglifyjs": "^2.4.10", "vinyl-source-stream": "^1.1.0", "watchify": "^3.9.0", - "webpack": "^2.4.1" + "webpack": "^2.4.1", + "webpack-node-externals": "^1.5.4" } } diff --git a/scripts/watch.sh b/scripts/watch.sh index bd2ceb151..445dfe6b9 100644 --- a/scripts/watch.sh +++ b/scripts/watch.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -watchify src/mermaid.js -s mermaid -o dist/mermaid.js & gulp live-server +yarn build-mermaid -- --watch & gulp live-server diff --git a/webpack.config.base.js b/webpack.config.base.js new file mode 100644 index 000000000..6fbf6ea28 --- /dev/null +++ b/webpack.config.base.js @@ -0,0 +1,31 @@ +import path from 'path' +import nodeExternals from 'webpack-node-externals' + +export const webConfig = () => { + return { + target: 'web', + entry: { + mermaid: './src/mermaid.js' + }, + externals: 'fs', + output: { + path: path.join(__dirname, './dist/'), + filename: '[name].js' + } + } +} + +export const nodeConfig = () => { + return { + target: 'node', + entry: { + mermaidAPI: './src/mermaidAPI.js' + }, + externals: [nodeExternals()], + output: { + path: path.join(__dirname, './dist/'), + filename: '[name].js', + libraryTarget: 'commonjs2' + } + } +} diff --git a/webpack.config.js b/webpack.config.js index f5f594282..722e978d8 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,16 +1,11 @@ -import path from 'path' +import { webConfig, nodeConfig } from './webpack.config.base.js' -const config = { - target: 'web', - entry: { - mermaid: './src/mermaid.js', - mermaidAPI: './src/mermaidAPI.js' - }, - externals: 'fs', - output: { - path: path.join(__dirname, './dist/'), - filename: '[name].js' - } -} +const config1 = webConfig() -export default [config] +const config2 = webConfig() +config2.externals = ['fs', 'd3'] +config2.output.filename = '[name].slim.js' + +const config3 = nodeConfig() + +export default [config1, config2, config3] diff --git a/webpack.config.prod.js b/webpack.config.prod.js new file mode 100644 index 000000000..769751e69 --- /dev/null +++ b/webpack.config.prod.js @@ -0,0 +1,13 @@ +import { webConfig, nodeConfig } from './webpack.config.base.js' + +const config1 = webConfig() +config1.output.filename = '[name].min.js' + +const config2 = webConfig() +config2.externals = ['fs', 'd3'] +config2.output.filename = '[name].slim.min.js' + +const config3 = nodeConfig() +config3.output.filename = '[name].min.js' + +export default [config1, config2, config3] diff --git a/webpack.config.slim.js b/webpack.config.slim.js deleted file mode 100644 index b9d3726b1..000000000 --- a/webpack.config.slim.js +++ /dev/null @@ -1,16 +0,0 @@ -import path from 'path' - -const config = { - target: 'web', - entry: { - mermaid: './src/mermaid.js', - mermaidAPI: './src/mermaidAPI.js' - }, - externals: ['fs', 'd3'], - output: { - path: path.join(__dirname, './dist/'), - filename: '[name].slim.js' - } -} - -export default [config] diff --git a/webpack.prod.config.js b/webpack.prod.config.js deleted file mode 100644 index f204339a4..000000000 --- a/webpack.prod.config.js +++ /dev/null @@ -1,16 +0,0 @@ -import path from 'path' - -const config = { - target: 'web', - entry: { - mermaid: './src/mermaid.js', - mermaidAPI: './src/mermaidAPI.js' - }, - externals: 'fs', - output: { - path: path.join(__dirname, './dist/'), - filename: '[name].min.js' - } -} - -export default [config] diff --git a/webpack.prod.config.slim.js b/webpack.prod.config.slim.js deleted file mode 100644 index 6093a7d58..000000000 --- a/webpack.prod.config.slim.js +++ /dev/null @@ -1,16 +0,0 @@ -import path from 'path' - -const config = { - target: 'web', - entry: { - mermaid: './src/mermaid.js', - mermaidAPI: './src/mermaidAPI.js' - }, - externals: ['fs', 'd3'], - output: { - path: path.join(__dirname, './dist/'), - filename: '[name].slim.min.js' - } -} - -export default [config] diff --git a/yarn.lock b/yarn.lock index 91500a686..46289bdc3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8892,6 +8892,10 @@ webidl-conversions@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" +webpack-node-externals@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.5.4.tgz#ea05ba17108a23e776c35c42e7bb0e86c225be00" + webpack-sources@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"