diff --git a/createAst.js b/createAst.js index a1ebcf4..5f19326 100644 --- a/createAst.js +++ b/createAst.js @@ -6,9 +6,13 @@ import moo from 'moo'; import tokens from './tokens.js'; import { readFileSync } from 'fs'; import debug from 'debug'; -const log = debug('vogue:ast'); +import { resolve, dirname } from 'path'; +import { fileURLToPath } from 'url'; import minify from './minify.js'; -const grammarFile = 'grammar.ne'; + +const log = debug('vogue:ast'); +const grammarFile = resolve(fileURLToPath(dirname(import.meta.url)), 'grammar.ne'); +log('grammarFile:', grammarFile); function createParser() { // Parse the grammar source into an AST diff --git a/package.json b/package.json index b1e6dd0..4f9dd4f 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "scripts": { "c": "nearleyc", "test": "node run.js test", - "debug": "cross-env DEBUG=vogue:* node run.js test" + "debug": "cross-env DEBUG=vogue:* yarn test", + "postinstall": "cd test && yarn" }, "dependencies": { "cross-env": "^7.0.3", @@ -19,7 +20,6 @@ "moo": "^0.5.1", "nearley": "^2.20.1", "nedb": "^1.8.0", - "terminal-kit": "^2.1.0", "uglify-js": "^3.13.5", "yarn": "^1.22.10" } diff --git a/test/package.json b/test/package.json new file mode 100644 index 0000000..6e3d535 --- /dev/null +++ b/test/package.json @@ -0,0 +1,9 @@ +{ + "name": "test", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "dependencies": { + "terminal-kit": "^2.1.2" + } +} diff --git a/test/yarn.lock b/test/yarn.lock new file mode 100644 index 0000000..e71fafd --- /dev/null +++ b/test/yarn.lock @@ -0,0 +1,171 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@cronvel/get-pixels@^3.4.0": + "integrity" "sha512-do5jDoX9oCR/dGHE4POVQ3PYDCmQ2Fow4CA72UL4WoE8zUImA/0lChczjfl+ucNjE4sXFWUnzoO6j4WzrUvLnw==" + "resolved" "https://registry.npmjs.org/@cronvel/get-pixels/-/get-pixels-3.4.0.tgz" + "version" "3.4.0" + dependencies: + "jpeg-js" "^0.4.1" + "ndarray" "^1.0.19" + "ndarray-pack" "^1.1.1" + "node-bitmap" "0.0.1" + "omggif" "^1.0.10" + "pngjs" "^5.0.0" + +"chroma-js@^2.1.1": + "integrity" "sha512-gYc5/Dooshun2OikK7oY/hYnoEiZ0dxqRpXosEdYRYm505vU5mRsHFqIW062C9nMtr32DVErP6mlxuepo2kNkw==" + "resolved" "https://registry.npmjs.org/chroma-js/-/chroma-js-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "cross-env" "^6.0.3" + +"cross-env@^6.0.3": + "integrity" "sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==" + "resolved" "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz" + "version" "6.0.3" + dependencies: + "cross-spawn" "^7.0.0" + +"cross-spawn@^7.0.0": + "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + "version" "7.0.3" + dependencies: + "path-key" "^3.1.0" + "shebang-command" "^2.0.0" + "which" "^2.0.1" + +"cwise-compiler@^1.1.2": + "integrity" "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=" + "resolved" "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "uniq" "^1.0.0" + +"iota-array@^1.0.0": + "integrity" "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=" + "resolved" "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz" + "version" "1.0.0" + +"is-buffer@^1.0.2": + "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + "version" "1.1.6" + +"isexe@^2.0.0": + "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + "version" "2.0.0" + +"jpeg-js@^0.4.1": + "integrity" "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + "resolved" "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz" + "version" "0.4.3" + +"lazyness@^1.2.0": + "integrity" "sha512-KenL6EFbwxBwRxG93t0gcUyi0Nw0Ub31FJKN1laA4UscdkL1K1AxUd0gYZdcLU3v+x+wcFi4uQKS5hL+fk500g==" + "resolved" "https://registry.npmjs.org/lazyness/-/lazyness-1.2.0.tgz" + "version" "1.2.0" + +"ndarray-pack@^1.1.1": + "integrity" "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=" + "resolved" "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "cwise-compiler" "^1.1.2" + "ndarray" "^1.0.13" + +"ndarray@^1.0.13", "ndarray@^1.0.19": + "integrity" "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==" + "resolved" "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz" + "version" "1.0.19" + dependencies: + "iota-array" "^1.0.0" + "is-buffer" "^1.0.2" + +"nextgen-events@^1.3.4": + "integrity" "sha512-umMRD9VOvQ7+AeCvMETA7tekqrzG0xOX2HLrpyZRuW+4NlXR5baZwY/CP7Sq3x1BkKCIa1KnI1m2+Fs+fJpOiQ==" + "resolved" "https://registry.npmjs.org/nextgen-events/-/nextgen-events-1.3.4.tgz" + "version" "1.3.4" + +"node-bitmap@0.0.1": + "integrity" "sha1-GA6scAPgxwdhjvMTaPYvhLKmkJE=" + "resolved" "https://registry.npmjs.org/node-bitmap/-/node-bitmap-0.0.1.tgz" + "version" "0.0.1" + +"omggif@^1.0.10": + "integrity" "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + "resolved" "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz" + "version" "1.0.10" + +"path-key@^3.1.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + +"pngjs@^5.0.0": + "integrity" "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" + "resolved" "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz" + "version" "5.0.0" + +"setimmediate@^1.0.5": + "integrity" "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + "version" "1.0.5" + +"seventh@^0.7.40": + "integrity" "sha512-7sxUydQx4iEh17uJUFjZDAwbffJirldZaNIJvVB/hk9mPEL3J4GpLGSL+mHFH2ydkye46DAsLGqzFJ+/Qj5foQ==" + "resolved" "https://registry.npmjs.org/seventh/-/seventh-0.7.40.tgz" + "version" "0.7.40" + dependencies: + "setimmediate" "^1.0.5" + +"shebang-command@^2.0.0": + "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "shebang-regex" "^3.0.0" + +"shebang-regex@^3.0.0": + "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + "version" "3.0.0" + +"string-kit@^0.12.5": + "integrity" "sha512-aB7yK0RgOx3SElEfQ6lZu2xS5hWr4ToJispiy+djJ4yh3f2zaTMCm44ZrHZnN1RiQQCLfpa5Btz2bishyBm8IQ==" + "resolved" "https://registry.npmjs.org/string-kit/-/string-kit-0.12.5.tgz" + "version" "0.12.5" + +"terminal-kit@^2.1.2": + "integrity" "sha512-1eG7CrQfE1dd5ZHPG5WrTk/DTeskFPqSLEl+QYmvwvI41dRCN2j1qVyxA4FwE0/x24AbjhSA3FJSIgWqQD610Q==" + "resolved" "https://registry.npmjs.org/terminal-kit/-/terminal-kit-2.1.2.tgz" + "version" "2.1.2" + dependencies: + "@cronvel/get-pixels" "^3.4.0" + "chroma-js" "^2.1.1" + "lazyness" "^1.2.0" + "ndarray" "^1.0.19" + "nextgen-events" "^1.3.4" + "seventh" "^0.7.40" + "string-kit" "^0.12.5" + "tree-kit" "^0.7.0" + +"tree-kit@^0.7.0": + "integrity" "sha512-MAqFo2oJJ39zmxq3xETx0nMAgZw2z6pnJPjIAehEcrDaeePDhBBTshAlyhCDtezMDTIu1Av+vGE501xN3Sh8VA==" + "resolved" "https://registry.npmjs.org/tree-kit/-/tree-kit-0.7.0.tgz" + "version" "0.7.0" + +"uniq@^1.0.0": + "integrity" "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + "resolved" "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz" + "version" "1.0.1" + +"which@^2.0.1": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" diff --git a/yarn.lock b/yarn.lock index cfdb2b5..9c2a0bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,17 +2,6 @@ # yarn lockfile v1 -"@cronvel/get-pixels@^3.4.0": - version "3.4.0" - resolved "https://registry.npmjs.org/@cronvel/get-pixels/-/get-pixels-3.4.0.tgz" - dependencies: - jpeg-js "^0.4.1" - ndarray "^1.0.19" - ndarray-pack "^1.1.1" - node-bitmap "0.0.1" - omggif "^1.0.10" - pngjs "^5.0.0" - async@0.2.10: version "0.2.10" resolved "https://registry.npmjs.org/async/-/async-0.2.10.tgz" @@ -23,29 +12,17 @@ binary-search-tree@0.2.5: dependencies: underscore "~1.4.4" -chroma-js@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/chroma-js/-/chroma-js-2.1.1.tgz" - dependencies: - cross-env "^6.0.3" - commander@^2.19.0: version "2.20.3" resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" -cross-env@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz" - dependencies: - cross-spawn "^7.0.0" - cross-env@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" dependencies: cross-spawn "^7.0.1" -cross-spawn@^7.0.0, cross-spawn@^7.0.1: +cross-spawn@^7.0.1: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" dependencies: @@ -53,12 +30,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1: shebang-command "^2.0.0" which "^2.0.1" -cwise-compiler@^1.1.2: - version "1.1.3" - resolved "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz" - dependencies: - uniq "^1.0.0" - debug@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" @@ -73,26 +44,10 @@ immediate@~3.0.5: version "3.0.6" resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" -iota-array@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz" - -is-buffer@^1.0.2: - version "1.1.6" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" -jpeg-js@^0.4.1: - version "0.4.3" - resolved "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz" - -lazyness@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/lazyness/-/lazyness-1.2.0.tgz" - lie@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz" @@ -127,20 +82,6 @@ ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" -ndarray-pack@^1.1.1: - version "1.2.1" - resolved "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz" - dependencies: - cwise-compiler "^1.1.2" - ndarray "^1.0.13" - -ndarray@^1.0.13, ndarray@^1.0.19: - version "1.0.19" - resolved "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz" - dependencies: - iota-array "^1.0.0" - is-buffer "^1.0.2" - nearley@^2.20.1: version "2.20.1" resolved "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz" @@ -160,26 +101,10 @@ nedb@^1.8.0: mkdirp "~0.5.1" underscore "~1.4.4" -nextgen-events@^1.3.4: - version "1.3.4" - resolved "https://registry.npmjs.org/nextgen-events/-/nextgen-events-1.3.4.tgz" - -node-bitmap@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/node-bitmap/-/node-bitmap-0.0.1.tgz" - -omggif@^1.0.10: - version "1.0.10" - resolved "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz" - path-key@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" -pngjs@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz" - railroad-diagrams@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz" @@ -195,16 +120,6 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" - -seventh@^0.7.40: - version "0.7.40" - resolved "https://registry.npmjs.org/seventh/-/seventh-0.7.40.tgz" - dependencies: - setimmediate "^1.0.5" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -215,27 +130,6 @@ shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" -string-kit@^0.12.0: - version "0.12.5" - resolved "https://registry.npmjs.org/string-kit/-/string-kit-0.12.5.tgz" - -terminal-kit@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/terminal-kit/-/terminal-kit-2.1.0.tgz" - dependencies: - "@cronvel/get-pixels" "^3.4.0" - chroma-js "^2.1.0" - lazyness "^1.2.0" - ndarray "^1.0.19" - nextgen-events "^1.3.4" - seventh "^0.7.40" - string-kit "^0.12.0" - tree-kit "^0.7.0" - -tree-kit@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/tree-kit/-/tree-kit-0.7.0.tgz" - uglify-js@^3.13.5: version "3.13.5" resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.5.tgz" @@ -244,10 +138,6 @@ underscore@~1.4.4: version "1.4.4" resolved "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" -uniq@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz" - which@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"