mermaidAPI should target node

This commit is contained in:
Tyler Long 2017-04-16 21:38:48 +08:00
parent 8536c975bf
commit e16e501b93
10 changed files with 63 additions and 72 deletions

3
dist/demo/index.js vendored
View File

@ -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

View File

@ -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"
}
}

View File

@ -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

31
webpack.config.base.js Normal file
View File

@ -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'
}
}
}

View File

@ -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]

13
webpack.config.prod.js Normal file
View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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"