Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
sverweij committed May 27, 2018
2 parents 2ba836a + 0244e82 commit 1026350
Show file tree
Hide file tree
Showing 24 changed files with 367 additions and 489 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ To make this as easy as possible for you, here's some simple guidelines:
- Code style (you know, petty things like indentations, where brackets go,
how variables & parameters are named) fits in with the current code base.
- Plan to do something drastic?
Contact @SanderSpeaks on Twitter, or leave an
Leave an
[issue](https://github.com/mscgenjs/mscgenjs-inpage/issues/new) on GitHub
- mscgenjs-inpage is released with a [code of conduct](CODE_OF_CONDUCT.md), adapted
from the [contributor covenant](http://contributor-covenant.org/).
Expand Down
14 changes: 7 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@

.SUFFIXES: .js .pegjs .css .html .msc .mscin .msgenny .svg .png .jpg
RJS=node_modules/requirejs/bin/r.js
RJS=node_modules/.bin/r.js
GIT=git
GIT_DEPLOY_FROM_BRANCH=master
SEDVERSION=utl/sedversion.sh
Expand All @@ -10,7 +9,7 @@ ISTANBUL=node_modules/.bin/istanbul

BUILDDIR=dist
PRODDIRS=$(BUILDDIR)
MSCGENJS_CORE_ROOT=node_modules/mscgenjs
MSCGENJS_CORE_ROOT=$(shell node_modules/.bin/get-module-root mscgenjs)/src
MSCGENJS_LIBDIRS=src/lib/mscgenjs-core/parse \
src/lib/mscgenjs-core/render/astmassage \
src/lib/mscgenjs-core/render/graphics \
Expand Down Expand Up @@ -59,7 +58,8 @@ $(PRODDIRS):
$(LIBDIRS):
mkdir -p $@

src/lib/require.js: node_modules/requirejs/require.js
REQUIRE_ROOT=$(shell node_modules/.bin/get-module-root requirejs)
src/lib/require.js: $(REQUIRE_ROOT)/require.js
cp $< $@

src/lib/mscgenjs-core/%.js: $(MSCGENJS_CORE_ROOT)/%.js $(MSCGENJS_LIBDIRS)
Expand Down Expand Up @@ -94,10 +94,10 @@ LIVE_DOC_DEPS= $(BUILDDIR)/mscgen-inpage.js \

# $(BUILDDIR)/mscgen-inpage.js: $(EMBED_JS_SOURCES)
# $(WEBPACK) --optimize-minimize --optimize-max-chunks 1 src/mscgen-inpage.js $@

$(BUILDDIR)/mscgen-inpage.js: $(EMBED_JS_SOURCES) node_modules/almond/almond.js
ALMOND_ROOT=$(shell node_modules/.bin/get-module-root almond)
$(BUILDDIR)/mscgen-inpage.js: $(EMBED_JS_SOURCES) $(ALMOND_ROOT)/almond.js
$(RJS) -o baseUrl=./src \
name=../node_modules/almond/almond \
name=$(ALMOND_ROOT)/almond.js \
include=mscgen-inpage \
out=$@ \
wrap=true \
Expand Down
10 changes: 5 additions & 5 deletions dist/mscgen-inpage.js

Large diffs are not rendered by default.

37 changes: 21 additions & 16 deletions jsdependencies.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,12 @@ src/embedding/error-rendering.js: \
src/utl/tpl.js

src/lib/mscgenjs-core/parse/msgennyparser.js: \
src/lib/mscgenjs-core/parse/parserHelpers.js \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js

src/lib/mscgenjs-core/lib/lodash/lodash.custom.js: \
src/lib/mscgenjs-core/parse/parserHelpers.js \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js \
src/lib/mscgenjs-core/parse/parserHelpers.js

src/lib/mscgenjs-core/parse/xuparser.js: \
src/lib/mscgenjs-core/parse/parserHelpers.js \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js \
src/lib/mscgenjs-core/parse/parserHelpers.js

src/lib/mscgenjs-core/render/astmassage/flatten.js: \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js \
Expand All @@ -28,7 +25,11 @@ src/lib/mscgenjs-core/render/astmassage/normalizeoptions.js: \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js

src/lib/mscgenjs-core/render/graphics/entities.js: \
src/lib/mscgenjs-core/render/graphics/renderlabels.js
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js \
src/lib/mscgenjs-core/render/graphics/constants.js \
src/lib/mscgenjs-core/render/graphics/renderlabels.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/index.js \
src/lib/mscgenjs-core/render/graphics/svgutensils.js

src/lib/mscgenjs-core/render/graphics/renderlabels.js: \
src/lib/mscgenjs-core/render/astmassage/aggregatekind.js \
Expand All @@ -51,7 +52,7 @@ src/lib/mscgenjs-core/render/graphics/svgelementfactory/straight.js: \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/svgprimitives.js: \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/domprimitives.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/geometry.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/getdiagonalangle.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/round.js

src/lib/mscgenjs-core/render/graphics/svgelementfactory/wobbly.js: \
Expand Down Expand Up @@ -118,12 +119,12 @@ src/test/utl/tpl.spec.js: \

# cjs dependencies
src/lib/mscgenjs-core/parse/msgennyparser.js: \
src/lib/mscgenjs-core/parse/parserHelpers.js \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js \
src/lib/mscgenjs-core/parse/parserHelpers.js

src/lib/mscgenjs-core/parse/xuparser.js: \
src/lib/mscgenjs-core/parse/parserHelpers.js \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js \
src/lib/mscgenjs-core/parse/parserHelpers.js

src/lib/mscgenjs-core/render/astmassage/flatten.js: \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js \
Expand All @@ -137,7 +138,11 @@ src/lib/mscgenjs-core/render/astmassage/normalizeoptions.js: \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js

src/lib/mscgenjs-core/render/graphics/entities.js: \
src/lib/mscgenjs-core/render/graphics/renderlabels.js
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js \
src/lib/mscgenjs-core/render/graphics/constants.js \
src/lib/mscgenjs-core/render/graphics/renderlabels.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/index.js \
src/lib/mscgenjs-core/render/graphics/svgutensils.js

src/lib/mscgenjs-core/render/graphics/renderlabels.js: \
src/lib/mscgenjs-core/render/astmassage/aggregatekind.js \
Expand All @@ -160,7 +165,7 @@ src/lib/mscgenjs-core/render/graphics/svgelementfactory/straight.js: \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/svgprimitives.js: \
src/lib/mscgenjs-core/lib/lodash/lodash.custom.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/domprimitives.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/geometry.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/getdiagonalangle.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/round.js

src/lib/mscgenjs-core/render/graphics/svgelementfactory/wobbly.js: \
Expand Down Expand Up @@ -225,7 +230,7 @@ EMBED_JS_SOURCES=src/mscgen-inpage.js \
src/lib/mscgenjs-core/render/graphics/renderutensils.js \
src/lib/mscgenjs-core/render/graphics/rowmemory.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/domprimitives.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/geometry.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/getdiagonalangle.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/index.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/round.js \
src/lib/mscgenjs-core/render/graphics/svgelementfactory/straight.js \
Expand Down
11 changes: 6 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "mscgenjs-inpage",
"version": "1.13.1",
"version": "2.0.0",
"description": "Embed and render sequence charts in HTML",
"main": "dist/mscgen-inpage.js",
"dependencies": {},
Expand All @@ -9,13 +9,14 @@
"amdefine": "1.0.1",
"chai": "4.1.2",
"eslint": "4.19.1",
"eslint-plugin-import": "2.10.0",
"eslint-plugin-import": "2.12.0",
"eslint-plugin-security": "1.4.0",
"get-module-root": "1.0.0-beta-1",
"istanbul": "0.4.5",
"js-makedepend": "2.4.9",
"js-makedepend": "3.0.0",
"mocha": "3.5.3",
"mscgenjs": "1.15.2",
"npm-check-updates": "2.14.1",
"mscgenjs": "2.0.0",
"npm-check-updates": "2.14.2",
"nsp": "3.2.1",
"requirejs": "2.3.5"
},
Expand Down
2 changes: 1 addition & 1 deletion src/lib/mscgenjs-core/lib/lodash/lodash.custom.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @license
* Lodash (Custom Build) <https://lodash.com/>
* Build: `lodash exports="umd" include="memoize,cloneDeep,flatten,defaults,assign" --development --output lib/lodash/lodash.custom.js`
* Build: `lodash exports="umd" include="memoize,cloneDeep,flatten,defaults,assign" --development --output src/lib/lodash/lodash.custom.js`
* Copyright JS Foundation and other contributors <https://js.foundation/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
Expand Down
37 changes: 14 additions & 23 deletions src/lib/mscgenjs-core/parse/msgennyparser.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

87 changes: 34 additions & 53 deletions src/lib/mscgenjs-core/parse/parserHelpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,7 @@ if (typeof define !== 'function') {
var define = require('amdefine')(module);
}

define(function(require) {
var _assign = require('../lib/lodash/lodash.custom').assign;

function optionArray2Object (pOptionList) {
return pOptionList.reduce(_assign, {});
}
define(function() {

function nameValue2Option(pName, pValue){
var lOption = {};
Expand All @@ -29,29 +24,13 @@ define(function(require) {
return (["true", "on", "1"].indexOf(pBoolean.toLowerCase()) > -1);
}

function buildEntityNotDefinedMessage(pEntityName, pArc){
return "Entity '" + pEntityName + "' in arc " +
"'" + pArc.from + " " + pArc.kind + " " + pArc.to + "' " +
"is not defined.";
}

/* eslint no-undefined: 0 */
function entityExists (pEntities, pName) {
return pName === undefined || pName === "*" || pEntities.some(function(pEntity){
return pEntity.name === pName;
});
}

function EntityNotDefinedError(pEntityName, pArc) {
this.name = "EntityNotDefinedError";
this.message = buildEntityNotDefinedMessage(pEntityName, pArc);
/* istanbul ignore else */
if(!!pArc.location){
this.location = pArc.location;
this.location.start.line++;
this.location.end.line++;
}
}

function isMscGenKeyword(pString){
return [
"box", "abox", "rbox", "note", "msc", "hscale", "width",
Expand All @@ -63,47 +42,48 @@ define(function(require) {
].indexOf(pString) > -1;
}

function checkForUndeclaredEntities (pEntities, pArcLines) {
if (!pEntities) {
pEntities = [];
}
function buildEntityNotDefinedMessage(pEntityName, pArc){
return "Entity '" + pEntityName + "' in arc " +
"'" + pArc.from + " " + pArc.kind + " " + pArc.to + "' " +
"is not defined.";
}

if (pArcLines) {
pArcLines.forEach(function(pArcLine) {
pArcLine.forEach(function(pArc) {
if (pArc.from && !entityExists (pEntities, pArc.from)) {
throw new EntityNotDefinedError(pArc.from, pArc);
}
if (pArc.to && !entityExists (pEntities, pArc.to)) {
throw new EntityNotDefinedError(pArc.to, pArc);
}
if (!!pArc.location) {
delete pArc.location;
}
if (!!pArc.arcs){
checkForUndeclaredEntities(pEntities, pArc.arcs);
}
});
function EntityNotDefinedError(pEntityName, pArc) {
this.name = "EntityNotDefinedError";
this.message = buildEntityNotDefinedMessage(pEntityName, pArc);
}

function checkForUndeclaredEntities (pEntities, pArcLines) {
(pArcLines || []).forEach(function(pArcLine) {
pArcLine.forEach(function(pArc) {
if (pArc.from && !entityExists(pEntities, pArc.from)) {
throw new EntityNotDefinedError(pArc.from, pArc);
}
if (pArc.to && !entityExists(pEntities, pArc.to)) {
throw new EntityNotDefinedError(pArc.to, pArc);
}
if (!!pArc.arcs){
checkForUndeclaredEntities(pEntities, pArc.arcs);
}
});
}
return pEntities;
});
}

function hasExtendedOptions (pOptions){
if (pOptions){
return (
pOptions.hasOwnProperty("watermark")
|| pOptions.hasOwnProperty("wordwrapentities")
|| pOptions.hasOwnProperty("wordwrapboxes")
|| ( pOptions.hasOwnProperty("width") && pOptions.width === "auto")
pOptions.hasOwnProperty("watermark") ||
pOptions.hasOwnProperty("wordwrapentities") ||
pOptions.hasOwnProperty("wordwrapboxes") ||
(pOptions.hasOwnProperty("width") && pOptions.width === "auto")
);
} else {
return false;
}
}

function hasExtendedArcTypes(pArcLines){
return (pArcLines|| []).some(function(pArcLine){
return (pArcLines || []).some(function(pArcLine){
return pArcLine.some(function(pArc){
return (["alt", "else", "opt", "break", "par",
"seq", "strict", "neg", "critical",
Expand All @@ -119,15 +99,16 @@ define(function(require) {
return {
"extendedOptions" : lHasExtendedOptions,
"extendedArcTypes": lHasExtendedArcTypes,
"extendedFeatures": lHasExtendedOptions||lHasExtendedArcTypes
}
"extendedFeatures": lHasExtendedOptions || lHasExtendedArcTypes
};
}

return {
optionArray2Object: optionArray2Object,
nameValue2Option: nameValue2Option,

flattenBoolean: flattenBoolean,
entityExists: entityExists,
EntityNotDefinedError: EntityNotDefinedError,
checkForUndeclaredEntities: checkForUndeclaredEntities,
isMscGenKeyword: isMscGenKeyword,
getMetaInfo: getMetaInfo
Expand Down
Loading

0 comments on commit 1026350

Please sign in to comment.