From 53fbf2329d2cb943803d74cbccbe23c082a6df17 Mon Sep 17 00:00:00 2001 From: toyoharu nishikawa Date: Sun, 9 Feb 2020 16:55:51 +0900 Subject: [PATCH 1/2] add capability to parse line type of layer --- package-lock.json | 56 +++++++++++++++++++++++------------------------ package.json | 2 +- src/DxfParser.js | 4 ++++ 3 files changed, 32 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index eba7e9b..73ee775 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "dxf-parser", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1222,7 +1222,6 @@ "callsite": "^1.0.0", "chalk": "^1.1.1", "diff": "^3.2.0", - "edge": "^7.10.1", "event-stream": "^3.1.5", "file-type": "^4.1.0", "glob": "^7.1.1", @@ -2180,22 +2179,6 @@ "stream-shift": "^1.0.0" } }, - "edge": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/edge/-/edge-7.10.1.tgz", - "integrity": "sha1-aDhurBAvOXJNJzzBmuowCR4rSuQ=", - "dev": true, - "requires": { - "edge-cs": "1.2.1", - "nan": "^2.0.9" - } - }, - "edge-cs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/edge-cs/-/edge-cs-1.2.1.tgz", - "integrity": "sha1-vRqezblO8O1AyJRYIEZ0nlcEXlo=", - "dev": true - }, "electron-to-chromium": { "version": "1.3.113", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", @@ -2693,12 +2676,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2713,17 +2698,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -2840,7 +2828,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -2852,6 +2841,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2866,6 +2856,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -2873,12 +2864,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -2897,6 +2890,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -2977,7 +2971,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -2989,6 +2984,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -3110,6 +3106,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3719,9 +3716,9 @@ "dev": true }, "loglevel": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=" + "version": "1.6.6", + "resolved": "https://www.necosystem.com/verdaccio/loglevel/-/loglevel-1.6.6.tgz", + "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==" }, "loose-envify": { "version": "1.4.0", @@ -4073,7 +4070,8 @@ "version": "2.12.1", "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", - "dev": true + "dev": true, + "optional": true }, "nanomatch": { "version": "1.2.13", diff --git a/package.json b/package.json index c3eb801..801b8b3 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "webpack-cli": "^3.2.3" }, "dependencies": { - "loglevel": "^1.2.0" + "loglevel": "^1.6.6" }, "keywords": [ "dxf", diff --git a/src/DxfParser.js b/src/DxfParser.js index ff493b6..d48320c 100644 --- a/src/DxfParser.js +++ b/src/DxfParser.js @@ -589,6 +589,10 @@ DxfParser.prototype._parse = function(dxfString) { layerName = curr.value; curr = scanner.next(); break; + case 6: // line type + layer.lineType = curr.value; + curr = scanner.next(); + break; case 62: // color, visibility layer.visible = curr.value >= 0; // TODO 0 and 256 are BYBLOCK and BYLAYER respectively. Need to handle these values for layers?. From d699abef8f919c7116ec792bd88cc37989ab5042 Mon Sep 17 00:00:00 2001 From: toyoharu nishikawa Date: Sun, 9 Feb 2020 18:14:24 +0900 Subject: [PATCH 2/2] add capability to build ESM --- package-lock.json | 37 ++++++++++++++++--------------------- package.json | 4 +++- webpack.config.js | 2 +- webpack.config.module.js | 15 +++++++++++++++ 4 files changed, 35 insertions(+), 23 deletions(-) create mode 100644 webpack.config.module.js diff --git a/package-lock.json b/package-lock.json index 73ee775..e4d29ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -944,6 +944,15 @@ } } }, + "@purtuga/esm-webpack-plugin": { + "version": "1.2.1", + "resolved": "https://www.necosystem.com/verdaccio/@purtuga%2fesm-webpack-plugin/-/esm-webpack-plugin-1.2.1.tgz", + "integrity": "sha512-q17/jiGfDiJlgsiQ79tOQE2z4p8E1i0d4Ftvi9GqYB9mZCyWvWEY/EnXZxVbImBgFS6NgnhaEXGYJ19FtVpo8A==", + "dev": true, + "requires": { + "webpack-sources": "^1.0.0" + } + }, "@webassemblyjs/ast": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.3.tgz", @@ -2676,14 +2685,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2698,20 +2705,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -2828,8 +2832,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -2841,7 +2844,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2856,7 +2858,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -2864,14 +2865,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -2890,7 +2889,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -2971,8 +2969,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -2984,7 +2981,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -3106,7 +3102,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", diff --git a/package.json b/package.json index 801b8b3..405ff89 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "scripts": { "test": "mocha --require @babel/register test", "start": "webpack --mode development", - "build": "webpack --mode production" + "build": "webpack --mode production", + "build-module": "webpack --mode production --config webpack.config.module.js" }, "repository": { "type": "git", @@ -27,6 +28,7 @@ "@babel/core": "^7.2.2", "@babel/preset-env": "^7.3.1", "@babel/register": "^7.0.0", + "@purtuga/esm-webpack-plugin": "^1.2.1", "approvals": "^2.1.2", "mocha": "^5.2.0", "should": "^6.0.1", diff --git a/webpack.config.js b/webpack.config.js index 977ba40..7a1e053 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -10,4 +10,4 @@ module.exports = { libraryExport: 'default', globalObject: 'typeof self !== \'undefined\' ? self : this' } -}; \ No newline at end of file +}; diff --git a/webpack.config.module.js b/webpack.config.module.js new file mode 100644 index 0000000..ab11908 --- /dev/null +++ b/webpack.config.module.js @@ -0,0 +1,15 @@ +const path = require('path'); +const EsmWebpackPlugin = require("@purtuga/esm-webpack-plugin"); + +module.exports = { + entry: './src/index.js', + output: { + filename: 'dxf-parser-module.js', + path: path.resolve(__dirname, 'dist'), + library: 'LIB', + libraryTarget: 'var', +// libraryExport: 'default', + globalObject: 'typeof self !== \'undefined\' ? self : this' + }, + plugins:[new EsmWebpackPlugin()] +};