webpack fs: 'empty'

This commit is contained in:
Tyler Long
2017-09-11 23:06:34 +08:00
parent c5a7eeaa0f
commit 75d9e7bc59
11 changed files with 110 additions and 107 deletions

View File

@@ -31,7 +31,7 @@ export default function (config) {
}, },
webpack: { webpack: {
externals: webpackConfig.externals, node: webpackConfig.node,
module: webpackConfig.module module: webpackConfig.module
}, },

View File

@@ -1,6 +1,6 @@
{ {
"name": "mermaid", "name": "mermaid",
"version": "7.0.13", "version": "7.0.14",
"description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.", "description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",
"main": "dist/mermaid.core.js", "main": "dist/mermaid.core.js",
"keywords": [ "keywords": [
@@ -24,7 +24,7 @@
"karma": "node -r babel-register node_modules/.bin/karma start karma.conf.js --single-run", "karma": "node -r babel-register node_modules/.bin/karma start karma.conf.js --single-run",
"jest": "jest --coverage --runInBand", "jest": "jest --coverage --runInBand",
"test": "yarn lint && yarn karma", "test": "yarn lint && yarn karma",
"jison": "gulp jison", "jison": "node -r babel-register node_modules/.bin/gulp jison",
"prepublishOnly": "yarn build && yarn release && yarn test" "prepublishOnly": "yarn build && yarn release && yarn test"
}, },
"repository": { "repository": {

View File

@@ -84,22 +84,22 @@ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* actio
var $0 = $$.length - 1; var $0 = $$.length - 1;
switch (yystate) { switch (yystate) {
case 5: case 5:
this.$=$$[$0-1]+$$[$0]; this.$=$$[$0-1]+$$[$0];
break; break;
case 6: case 6:
this.$=$$[$0]; this.$=$$[$0];
break; break;
case 7: case 7:
yy.addRelation($$[$0]); yy.addRelation($$[$0]);
break; break;
case 8: case 8:
$$[$0-1].title = yy.cleanupLabel($$[$0]); yy.addRelation($$[$0-1]); $$[$0-1].title = yy.cleanupLabel($$[$0]); yy.addRelation($$[$0-1]);
break; break;
case 12: case 12:
/*console.log($$[$0-3],JSON.stringify($$[$0-1]));*/yy.addMembers($$[$0-3],$$[$0-1]); /*console.log($$[$0-3],JSON.stringify($$[$0-1]));*/yy.addMembers($$[$0-3],$$[$0-1]);
break; break;
case 13: case 13:
this.$ = [$$[$0]]; this.$ = [$$[$0]];
break; break;
case 14: case 14:
$$[$0].push($$[$0-1]);this.$=$$[$0]; $$[$0].push($$[$0-1]);this.$=$$[$0];
@@ -117,28 +117,28 @@ case 18:
/*console.log('sep found',$$[$0]);*/ /*console.log('sep found',$$[$0]);*/
break; break;
case 19: case 19:
this.$ = {'id1':$$[$0-2],'id2':$$[$0], relation:$$[$0-1], relationTitle1:'none', relationTitle2:'none'}; this.$ = {'id1':$$[$0-2],'id2':$$[$0], relation:$$[$0-1], relationTitle1:'none', relationTitle2:'none'};
break; break;
case 20: case 20:
this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-1], relationTitle1:$$[$0-2], relationTitle2:'none'} this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-1], relationTitle1:$$[$0-2], relationTitle2:'none'}
break; break;
case 21: case 21:
this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-2], relationTitle1:'none', relationTitle2:$$[$0-1]}; this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-2], relationTitle1:'none', relationTitle2:$$[$0-1]};
break; break;
case 22: case 22:
this.$ = {id1:$$[$0-4], id2:$$[$0], relation:$$[$0-2], relationTitle1:$$[$0-3], relationTitle2:$$[$0-1]} this.$ = {id1:$$[$0-4], id2:$$[$0], relation:$$[$0-2], relationTitle1:$$[$0-3], relationTitle2:$$[$0-1]}
break; break;
case 23: case 23:
this.$={type1:$$[$0-2],type2:$$[$0],lineType:$$[$0-1]}; this.$={type1:$$[$0-2],type2:$$[$0],lineType:$$[$0-1]};
break; break;
case 24: case 24:
this.$={type1:'none',type2:$$[$0],lineType:$$[$0-1]}; this.$={type1:'none',type2:$$[$0],lineType:$$[$0-1]};
break; break;
case 25: case 25:
this.$={type1:$$[$0-1],type2:'none',lineType:$$[$0]}; this.$={type1:$$[$0-1],type2:'none',lineType:$$[$0]};
break; break;
case 26: case 26:
this.$={type1:'none',type2:'none',lineType:$$[$0]}; this.$={type1:'none',type2:'none',lineType:$$[$0]};
break; break;
case 27: case 27:
this.$=yy.relationType.AGGREGATION; this.$=yy.relationType.AGGREGATION;
@@ -731,14 +731,14 @@ exports.parser = parser;
exports.Parser = parser.Parser; exports.Parser = parser.Parser;
exports.parse = function () { return parser.parse.apply(parser, arguments); }; exports.parse = function () { return parser.parse.apply(parser, arguments); };
exports.main = function commonjsMain(args) { exports.main = function commonjsMain(args) {
// if (!args[1]) { if (!args[1]) {
// console.log('Usage: '+args[0]+' FILE'); console.log('Usage: '+args[0]+' FILE');
// process.exit(1); process.exit(1);
// } }
// var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
// return exports.parser.parse(source); return exports.parser.parse(source);
}; };
if (typeof module !== 'undefined' && require.main === module) { if (typeof module !== 'undefined' && require.main === module) {
exports.main(process.argv.slice(1)); exports.main(process.argv.slice(1));
} }
} }

View File

@@ -84,19 +84,19 @@ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* actio
var $0 = $$.length - 1; var $0 = $$.length - 1;
switch (yystate) { switch (yystate) {
case 1: case 1:
return yy; return yy;
break; break;
case 4: case 4:
break; break;
case 6: case 6:
yy.setInfo(true); yy.setInfo(true);
break; break;
case 7: case 7:
yy.setMessage($$[$0]); yy.setMessage($$[$0]);
break; break;
case 8: case 8:
this.$ = $$[$0-1].substring(1).trim().replace(/\\n/gm, "\n"); this.$ = $$[$0-1].substring(1).trim().replace(/\\n/gm, "\n");
break; break;
} }
}, },
@@ -621,14 +621,14 @@ exports.parser = parser;
exports.Parser = parser.Parser; exports.Parser = parser.Parser;
exports.parse = function () { return parser.parse.apply(parser, arguments); }; exports.parse = function () { return parser.parse.apply(parser, arguments); };
exports.main = function commonjsMain(args) { exports.main = function commonjsMain(args) {
// if (!args[1]) { if (!args[1]) {
// console.log('Usage: '+args[0]+' FILE'); console.log('Usage: '+args[0]+' FILE');
// process.exit(1); process.exit(1);
// } }
// var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
// return exports.parser.parse(source); return exports.parser.parse(source);
}; };
if (typeof module !== 'undefined' && require.main === module) { if (typeof module !== 'undefined' && require.main === module) {
exports.main(process.argv.slice(1)); exports.main(process.argv.slice(1));
} }
} }

View File

@@ -119,12 +119,12 @@ case 42:
yy.addLink($$[$0-1],$$[$0].id,$$[$0].op); yy.addLink($$[$0-1],$$[$0].id,$$[$0].op);
this.$={op:$$[$0-2],id:$$[$0-1]}; this.$={op:$$[$0-2],id:$$[$0-1]};
break; break;
case 44: case 44:
this.$={op:$$[$0-1],id:$$[$0]}; this.$={op:$$[$0-1],id:$$[$0]};
break; break;
case 48: case 48:
yy.addVertex($$[$0-1]);this.$=$$[$0-1]; yy.addVertex($$[$0-1]);this.$=$$[$0-1];
@@ -731,14 +731,14 @@ exports.parser = parser;
exports.Parser = parser.Parser; exports.Parser = parser.Parser;
exports.parse = function () { return parser.parse.apply(parser, arguments); }; exports.parse = function () { return parser.parse.apply(parser, arguments); };
exports.main = function commonjsMain(args) { exports.main = function commonjsMain(args) {
// if (!args[1]) { if (!args[1]) {
// console.log('Usage: '+args[0]+' FILE'); console.log('Usage: '+args[0]+' FILE');
// process.exit(1); process.exit(1);
// } }
// var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
// return exports.parser.parse(source); return exports.parser.parse(source);
}; };
if (typeof module !== 'undefined' && require.main === module) { if (typeof module !== 'undefined' && require.main === module) {
exports.main(process.argv.slice(1)); exports.main(process.argv.slice(1));
} }
} }

View File

@@ -952,14 +952,14 @@ exports.parser = parser;
exports.Parser = parser.Parser; exports.Parser = parser.Parser;
exports.parse = function () { return parser.parse.apply(parser, arguments); }; exports.parse = function () { return parser.parse.apply(parser, arguments); };
exports.main = function commonjsMain(args) { exports.main = function commonjsMain(args) {
// if (!args[1]) { if (!args[1]) {
// console.log('Usage: '+args[0]+' FILE'); console.log('Usage: '+args[0]+' FILE');
// process.exit(1); process.exit(1);
// } }
// var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
// return exports.parser.parse(source); return exports.parser.parse(source);
}; };
if (typeof module !== 'undefined' && require.main === module) { if (typeof module !== 'undefined' && require.main === module) {
exports.main(process.argv.slice(1)); exports.main(process.argv.slice(1));
} }
} }

View File

@@ -84,16 +84,16 @@ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* actio
var $0 = $$.length - 1; var $0 = $$.length - 1;
switch (yystate) { switch (yystate) {
case 1: case 1:
return $$[$0-1]; return $$[$0-1];
break; break;
case 2: case 2:
this.$ = [] this.$ = []
break; break;
case 3: case 3:
$$[$0-1].push($$[$0]);this.$ = $$[$0-1] $$[$0-1].push($$[$0]);this.$ = $$[$0-1]
break; break;
case 4: case 5: case 4: case 5:
this.$ = $$[$0] this.$ = $$[$0]
break; break;
case 6: case 7: case 6: case 7:
this.$=[]; this.$=[];
@@ -647,14 +647,14 @@ exports.parser = parser;
exports.Parser = parser.Parser; exports.Parser = parser.Parser;
exports.parse = function () { return parser.parse.apply(parser, arguments); }; exports.parse = function () { return parser.parse.apply(parser, arguments); };
exports.main = function commonjsMain(args) { exports.main = function commonjsMain(args) {
// if (!args[1]) { if (!args[1]) {
// console.log('Usage: '+args[0]+' FILE'); console.log('Usage: '+args[0]+' FILE');
// process.exit(1); process.exit(1);
// } }
// var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
// return exports.parser.parse(source); return exports.parser.parse(source);
}; };
if (typeof module !== 'undefined' && require.main === module) { if (typeof module !== 'undefined' && require.main === module) {
exports.main(process.argv.slice(1)); exports.main(process.argv.slice(1));
} }
} }

View File

@@ -84,7 +84,7 @@ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* actio
var $0 = $$.length - 1; var $0 = $$.length - 1;
switch (yystate) { switch (yystate) {
case 1: case 1:
return $$[$0-1]; return $$[$0-1];
break; break;
case 2: case 2:
yy.setDirection($$[$0-3]); return $$[$0-1]; yy.setDirection($$[$0-3]); return $$[$0-1];
@@ -126,7 +126,7 @@ case 17:
this.$=$$[$0] this.$=$$[$0]
break; break;
case 18: case 18:
this.$ = $$[$0-1]+ ":" + $$[$0] this.$ = $$[$0-1]+ ":" + $$[$0]
break; break;
case 19: case 19:
this.$ = $$[$0-1]+ ":" + yy.count; yy.count = 0 this.$ = $$[$0-1]+ ":" + yy.count; yy.count = 0
@@ -135,7 +135,7 @@ case 20:
yy.count = 0 yy.count = 0
break; break;
case 21: case 21:
yy.count += 1 yy.count += 1
break; break;
} }
}, },
@@ -687,14 +687,14 @@ exports.parser = parser;
exports.Parser = parser.Parser; exports.Parser = parser.Parser;
exports.parse = function () { return parser.parse.apply(parser, arguments); }; exports.parse = function () { return parser.parse.apply(parser, arguments); };
exports.main = function commonjsMain(args) { exports.main = function commonjsMain(args) {
// if (!args[1]) { if (!args[1]) {
// console.log('Usage: '+args[0]+' FILE'); console.log('Usage: '+args[0]+' FILE');
// process.exit(1); process.exit(1);
// } }
// var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
// return exports.parser.parse(source); return exports.parser.parse(source);
}; };
if (typeof module !== 'undefined' && require.main === module) { if (typeof module !== 'undefined' && require.main === module) {
exports.main(process.argv.slice(1)); exports.main(process.argv.slice(1));
} }
} }

View File

@@ -84,16 +84,16 @@ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* actio
var $0 = $$.length - 1; var $0 = $$.length - 1;
switch (yystate) { switch (yystate) {
case 3: case 3:
yy.apply($$[$0]);return $$[$0]; yy.apply($$[$0]);return $$[$0];
break; break;
case 4: case 4:
this.$ = [] this.$ = []
break; break;
case 5: case 5:
$$[$0-1].push($$[$0]);this.$ = $$[$0-1] $$[$0-1].push($$[$0]);this.$ = $$[$0-1]
break; break;
case 6: case 7: case 6: case 7:
this.$ = $$[$0] this.$ = $$[$0]
break; break;
case 8: case 8:
this.$=[]; this.$=[];
@@ -149,7 +149,7 @@ case 19:
this.$=$$[$0-1]; this.$=$$[$0-1];
break; break;
case 21: case 21:
this.$ = $$[$0-3].concat([{type: 'and', parText:$$[$0-1], signalType: yy.LINETYPE.PAR_AND}, $$[$0]]); this.$ = $$[$0-3].concat([{type: 'and', parText:$$[$0-1], signalType: yy.LINETYPE.PAR_AND}, $$[$0]]);
break; break;
case 22: case 22:
@@ -164,16 +164,16 @@ case 23:
this.$ = [$$[$0-1], {type:'addNote', placement:yy.PLACEMENT.OVER, actor:$$[$0-2].slice(0, 2), text:$$[$0]}]; this.$ = [$$[$0-1], {type:'addNote', placement:yy.PLACEMENT.OVER, actor:$$[$0-2].slice(0, 2), text:$$[$0]}];
break; break;
case 26: case 26:
this.$ = [$$[$0-2], $$[$0]]; this.$ = [$$[$0-2], $$[$0]];
break; break;
case 27: case 27:
this.$ = $$[$0]; this.$ = $$[$0];
break; break;
case 28: case 28:
this.$ = yy.PLACEMENT.LEFTOF; this.$ = yy.PLACEMENT.LEFTOF;
break; break;
case 29: case 29:
this.$ = yy.PLACEMENT.RIGHTOF; this.$ = yy.PLACEMENT.RIGHTOF;
break; break;
case 30: case 30:
this.$ = [$$[$0-4],$$[$0-1],{type: 'addMessage', from:$$[$0-4].actor, to:$$[$0-1].actor, signalType:$$[$0-3], msg:$$[$0]}, this.$ = [$$[$0-4],$$[$0-1],{type: 'addMessage', from:$$[$0-4].actor, to:$$[$0-1].actor, signalType:$$[$0-3], msg:$$[$0]},
@@ -192,22 +192,22 @@ case 33:
this.$={type: 'addActor', actor:$$[$0]} this.$={type: 'addActor', actor:$$[$0]}
break; break;
case 34: case 34:
this.$ = yy.LINETYPE.SOLID_OPEN; this.$ = yy.LINETYPE.SOLID_OPEN;
break; break;
case 35: case 35:
this.$ = yy.LINETYPE.DOTTED_OPEN; this.$ = yy.LINETYPE.DOTTED_OPEN;
break; break;
case 36: case 36:
this.$ = yy.LINETYPE.SOLID; this.$ = yy.LINETYPE.SOLID;
break; break;
case 37: case 37:
this.$ = yy.LINETYPE.DOTTED; this.$ = yy.LINETYPE.DOTTED;
break; break;
case 38: case 38:
this.$ = yy.LINETYPE.SOLID_CROSS; this.$ = yy.LINETYPE.SOLID_CROSS;
break; break;
case 39: case 39:
this.$ = yy.LINETYPE.DOTTED_CROSS; this.$ = yy.LINETYPE.DOTTED_CROSS;
break; break;
case 40: case 40:
this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n");
@@ -708,27 +708,27 @@ case 3:/* skip comments */
break; break;
case 4:/* skip comments */ case 4:/* skip comments */
break; break;
case 5: this.begin('ID'); return 10; case 5: this.begin('ID'); return 10;
break; break;
case 6: this.begin('ALIAS'); return 39; case 6: this.begin('ALIAS'); return 39;
break; break;
case 7: this.popState(); this.popState(); this.begin('LINE'); return 12; case 7: this.popState(); this.popState(); this.begin('LINE'); return 12;
break; break;
case 8: this.popState(); this.popState(); return 5; case 8: this.popState(); this.popState(); return 5;
break; break;
case 9: this.begin('LINE'); return 20; case 9: this.begin('LINE'); return 20;
break; break;
case 10: this.begin('LINE'); return 22; case 10: this.begin('LINE'); return 22;
break; break;
case 11: this.begin('LINE'); return 23; case 11: this.begin('LINE'); return 23;
break; break;
case 12: this.begin('LINE'); return 24; case 12: this.begin('LINE'); return 24;
break; break;
case 13: this.begin('LINE'); return 25; case 13: this.begin('LINE'); return 25;
break; break;
case 14: this.begin('LINE'); return 27; case 14: this.begin('LINE'); return 27;
break; break;
case 15: this.popState(); return 13; case 15: this.popState(); return 13;
break; break;
case 16:return 21; case 16:return 21;
break; break;
@@ -740,9 +740,9 @@ case 19:return 30;
break; break;
case 20:return 28; case 20:return 28;
break; break;
case 21: this.begin('ID'); return 15; case 21: this.begin('ID'); return 15;
break; break;
case 22: this.begin('ID'); return 16; case 22: this.begin('ID'); return 16;
break; break;
case 23:return 18; case 23:return 18;
break; break;
@@ -752,7 +752,7 @@ case 25:return 33;
break; break;
case 26:return 5; case 26:return 5;
break; break;
case 27: yy_.yytext = yy_.yytext.trim(); return 39; case 27: yy_.yytext = yy_.yytext.trim(); return 39;
break; break;
case 28:return 42; case 28:return 42;
break; break;
@@ -797,14 +797,14 @@ exports.parser = parser;
exports.Parser = parser.Parser; exports.Parser = parser.Parser;
exports.parse = function () { return parser.parse.apply(parser, arguments); }; exports.parse = function () { return parser.parse.apply(parser, arguments); };
exports.main = function commonjsMain(args) { exports.main = function commonjsMain(args) {
// if (!args[1]) { if (!args[1]) {
// console.log('Usage: '+args[0]+' FILE'); console.log('Usage: '+args[0]+' FILE');
// process.exit(1); process.exit(1);
// } }
// var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
// return exports.parser.parse(source); return exports.parser.parse(source);
}; };
if (typeof module !== 'undefined' && require.main === module) { if (typeof module !== 'undefined' && require.main === module) {
exports.main(process.argv.slice(1)); exports.main(process.argv.slice(1));
} }
} }

View File

@@ -9,6 +9,7 @@
- Get familar with jison - Get familar with jison
- git graph requires a blank line at the end. why? - git graph requires a blank line at the end. why?
- Move cli to mermaid-cli project ? - Move cli to mermaid-cli project ?
- think about it
- Remove 'lodash' as dependency - Remove 'lodash' as dependency
- https://github.com/lodash/babel-plugin-lodash - https://github.com/lodash/babel-plugin-lodash
- https://www.npmjs.com/package/lodash-webpack-plugin - https://www.npmjs.com/package/lodash-webpack-plugin
@@ -22,5 +23,4 @@
- Generate them into system temp folder instead - Generate them into system temp folder instead
- Replace phantomjs with Chrome headless - Replace phantomjs with Chrome headless
- `yarn jest` is disabled - `yarn jest` is disabled
- Don't manually change jison generated files - Travis build failed
- Removed 'fs' dependency from it

View File

@@ -16,6 +16,9 @@ export const jsConfig = () => {
entry: { entry: {
mermaid: './src/mermaid.js' mermaid: './src/mermaid.js'
}, },
node: {
fs: 'empty' // jison generated code requires 'fs'
},
output: { output: {
path: path.join(__dirname, './dist/'), path: path.join(__dirname, './dist/'),
filename: '[name].js', filename: '[name].js',