commit
11eab6565c
|
|
@ -1,4 +1,6 @@
|
|||
node_modules
|
||||
out
|
||||
.system
|
||||
*.tgz
|
||||
*.tgz
|
||||
.nyc_output
|
||||
coverage
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"spec": [
|
||||
"test/**/*.test.ts"
|
||||
],
|
||||
"loader": [
|
||||
"ts-node/esm.mjs"
|
||||
]
|
||||
}
|
||||
|
|
@ -4,4 +4,10 @@ test
|
|||
.editorconfig
|
||||
tsconfig.json
|
||||
.system
|
||||
*.tgz
|
||||
*.tgz
|
||||
.nyc_output
|
||||
coverage
|
||||
syntax.md
|
||||
testinglib
|
||||
.travis.yml
|
||||
.mocharc.json
|
||||
|
|
@ -509,6 +509,7 @@ tar-stream@^2.1.4:
|
|||
terminal-kit@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/terminal-kit/-/terminal-kit-2.1.2.tgz#08689ff9f8efc6614d34d4cc7be916a91742b896"
|
||||
integrity sha512-1eG7CrQfE1dd5ZHPG5WrTk/DTeskFPqSLEl+QYmvwvI41dRCN2j1qVyxA4FwE0/x24AbjhSA3FJSIgWqQD610Q==
|
||||
dependencies:
|
||||
"@cronvel/get-pixels" "^3.4.0"
|
||||
chroma-js "^2.1.1"
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
singleton;
|
||||
link window
|
||||
|
||||
restore {
|
||||
window ??= create('SDL.window');
|
||||
}
|
||||
47
package.json
47
package.json
|
|
@ -1,40 +1,55 @@
|
|||
{
|
||||
"name": "vogue",
|
||||
"version": "0.0.1",
|
||||
"version": "0.1.0",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"bin": {
|
||||
"vogue": "out/run.js"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node --enable-source-maps --unhandled-rejections=strict out/run.js test",
|
||||
"debug": "cross-env DEBUG=vogue:* yarn test",
|
||||
"debug:watch": "cross-env DEBUG=vogue:* supervisor -w out,test/**/*.v,lib -n exit --exec yarn -- test",
|
||||
"postinstall": "yarn compile && cd test && yarn",
|
||||
"postcompile:watch": "echo DONE",
|
||||
"compile": "tsc",
|
||||
"compile:watch": "tsc --watch"
|
||||
"repository": {
|
||||
"url": "https://github.com/marcus13345/vogue"
|
||||
},
|
||||
"dependencies": {
|
||||
"scripts": {
|
||||
"dev": "multiview [ yarn test:watch ] [ yarn compile:watch ] [ yarn debug:watch ]",
|
||||
"test": "c8 --all mocha",
|
||||
"test:watch": "cross-env FORCE_COLOR=true supervisor -t -w src,test,.mocharc.json -n exit --extensions js,ts,node --exec cross-env -- yarn test",
|
||||
"debug": "cross-env DEBUG=vogue:* FORCE_COLOR=true DEBUG_COLORS=true DEBUG_HIDE_DATE=true node --enable-source-maps --unhandled-rejections=strict out/run.js examples/test",
|
||||
"debug:watch": "supervisor -t -w out,test/system/**/*.v,lib -n exit --exec yarn -- debug",
|
||||
"compile": "tsc",
|
||||
"compile:watch": "yarn compile --watch --preserveWatchOutput",
|
||||
"postinstall": "yarn compile && cd examples/test && yarn"
|
||||
},
|
||||
"devDependencies": {
|
||||
"c8": "^7.7.2",
|
||||
"cross-env": "^7.0.3",
|
||||
"multiview": "^3.0.1",
|
||||
"yarn": "^1.22.10",
|
||||
"@types/chai": "^4.2.18",
|
||||
"@types/debug": "^4.1.5",
|
||||
"@types/fs-extra": "^9.0.11",
|
||||
"@types/jest": "^26.0.23",
|
||||
"@types/lodash": "^4.14.169",
|
||||
"@types/nearley": "^2.11.1",
|
||||
"@types/node": "^15.3.0",
|
||||
"@types/sinon": "^10.0.0",
|
||||
"@types/uglify-js": "^3.13.0",
|
||||
"@types/uuid": "^8.3.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"chai": "^4.3.4",
|
||||
"mocha": "^8.4.0",
|
||||
"mocha-lcov-reporter": "^1.3.0",
|
||||
"supervisor": "^0.12.0",
|
||||
"sinon": "^10.0.0",
|
||||
"ts-node": "^9.1.1",
|
||||
"typescript": "^4.2.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": "^4.3.1",
|
||||
"fs-extra": "^10.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"moo": "^0.5.1",
|
||||
"nearley": "^2.20.1",
|
||||
"nedb": "^1.8.0",
|
||||
"supervisor": "^0.12.0",
|
||||
"typescript": "^4.2.4",
|
||||
"uglify-js": "^3.13.5",
|
||||
"uuid": "^8.3.2",
|
||||
"yarn": "^1.22.10"
|
||||
"uuid": "^8.3.2"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ import { readFileSync } from 'fs';
|
|||
import debug from 'debug';
|
||||
import { resolve, dirname } from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
import minify from './minify.js';
|
||||
|
||||
const log = debug('vogue:ast');
|
||||
const grammarFile = resolve(fileURLToPath(dirname(import.meta.url)), '..', 'lib', 'grammar.ne');
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ Object.defineProperty(Array.prototype, 'empty', {
|
|||
}
|
||||
});
|
||||
|
||||
|
||||
process.on('unhandledRejection', (reason: Error, p) => {
|
||||
console.log(reason.stack ?? reason.name + '\n\nStack trace unavailable...');
|
||||
});
|
||||
// in theory we dont need this anymore... with strict promise rejections...
|
||||
// process.on('unhandledRejection', (reason: Error, p) => {
|
||||
// console.log(reason.stack ?? reason.name + '\n\nStack trace unavailable...');
|
||||
// });
|
||||
|
|
@ -1,16 +1,16 @@
|
|||
|
||||
import uglify from 'uglify-js';
|
||||
// import uglify from 'uglify-js';
|
||||
|
||||
export default (code: string): string => {
|
||||
return uglify.minify(code, {
|
||||
compress: {
|
||||
dead_code: true,
|
||||
global_defs: {
|
||||
DEBUG: false
|
||||
}
|
||||
},
|
||||
sourceMap: {
|
||||
content: 'inline'
|
||||
}
|
||||
}).code;
|
||||
}
|
||||
// export default (code: string): string => {
|
||||
// return uglify.minify(code, {
|
||||
// compress: {
|
||||
// dead_code: true,
|
||||
// global_defs: {
|
||||
// DEBUG: false
|
||||
// }
|
||||
// },
|
||||
// sourceMap: {
|
||||
// content: 'inline'
|
||||
// }
|
||||
// }).code;
|
||||
// }
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
import { expect } from 'chai';
|
||||
import '../src/extensions.ts';
|
||||
|
||||
describe('extensions', () => {
|
||||
it('creates empty array extensions', () => {
|
||||
expect(([] as any).empty).to.be.true;
|
||||
expect(([1] as any).empty).to.be.false;
|
||||
expect(([1, 2, 3] as any).empty).to.be.false;
|
||||
});
|
||||
})
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
import { createAst } from '../src/createAst.js';
|
||||
import { expect } from 'chai';
|
||||
import * as ModuleFiles from './lib/ModuleFiles.js'
|
||||
|
||||
describe('Lexer', () => {
|
||||
|
||||
it('parses blank file', () => {
|
||||
const ast: any = createAst(ModuleFiles.blank);
|
||||
expect(ast).to.deep.equal([]);
|
||||
});
|
||||
|
||||
describe('namespaces', () => {
|
||||
it('parses namespaces without dots', () => {
|
||||
const ast: any = createAst(ModuleFiles.namespaceX);
|
||||
expect(ast).to.deep.equal([{type: 'namespace', namespace: 'x'}]);
|
||||
});
|
||||
it('parses namespaces with a single dot', () => {
|
||||
const ast: any = createAst(ModuleFiles.namespaceXY);
|
||||
expect(ast).to.deep.equal([{type: 'namespace', namespace: 'x.y'}]);
|
||||
});
|
||||
it('parses namespaces two dots', () => {
|
||||
const ast: any = createAst(ModuleFiles.namespaceXYZ);
|
||||
expect(ast).to.deep.equal([{type: 'namespace', namespace: 'x.y.z'}]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('links', () => {
|
||||
it('parses link', () => {
|
||||
const ast: any = createAst(ModuleFiles.link);
|
||||
expect(ast).to.deep.equal([{type: 'link', array: false, required: false, name: 'test'}]);
|
||||
});
|
||||
it('parses required link', () => {
|
||||
const ast: any = createAst(ModuleFiles.requiredLink);
|
||||
expect(ast).to.deep.equal([{type: 'link', array: false, required: true, name: 'test'}]);
|
||||
});
|
||||
it('parses link array', () => {
|
||||
const ast: any = createAst(ModuleFiles.linkArray);
|
||||
expect(ast).to.deep.equal([{type: 'link', array: true, required: false, name: 'test'}]);
|
||||
});
|
||||
it('parses required link array', () => {
|
||||
const ast: any = createAst(ModuleFiles.requiredLinkArray);
|
||||
expect(ast).to.deep.equal([{type: 'link', array: true, required: true, name: 'test'}]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('functions', () => {
|
||||
it('function with parameters omitted', () => {
|
||||
const ast: any = createAst(ModuleFiles.functionNoParams);
|
||||
expect(ast).to.be.an('array').with.length(1);
|
||||
expect(ast[0]).to.be.an('object');
|
||||
expect(ast[0]).to.include({type: 'function', name: 'test', async: false});
|
||||
expect(ast[0].parameters).to.be.an('array').of.length(0);
|
||||
});
|
||||
it('function with empty parameters', () => {
|
||||
const ast: any = createAst(ModuleFiles.functionEmptyParams);
|
||||
expect(ast).to.be.an('array').with.length(1);
|
||||
expect(ast[0]).to.be.an('object');
|
||||
expect(ast[0]).to.include({type: 'function', name: 'test', async: false});
|
||||
expect(ast[0].parameters).to.be.an('array').of.length(0);
|
||||
});
|
||||
it('function with one parameter', () => {
|
||||
const ast: any = createAst(ModuleFiles.functionOneParam);
|
||||
expect(ast).to.be.an('array').with.length(1);
|
||||
expect(ast[0]).to.be.an('object');
|
||||
expect(ast[0]).to.include({type: 'function', name: 'test', async: false});
|
||||
expect(ast[0].parameters).to.be.an('array').deep.equals(["a"]);
|
||||
});
|
||||
it('function with two parameters', () => {
|
||||
const ast: any = createAst(ModuleFiles.functionTwoParams);
|
||||
expect(ast).to.be.an('array').with.length(1);
|
||||
expect(ast[0]).to.be.an('object');
|
||||
expect(ast[0]).to.include({type: 'function', name: 'test', async: false});
|
||||
expect(ast[0].parameters).to.be.an('array').deep.equals(["a", "b"]);
|
||||
});
|
||||
|
||||
it('async function with parameters omitted', () => {
|
||||
const ast: any = createAst(ModuleFiles.asyncFunctionNoParams);
|
||||
expect(ast).to.be.an('array').with.length(1);
|
||||
expect(ast[0]).to.be.an('object');
|
||||
expect(ast[0]).to.deep.include({type: 'function', name: 'test', async: true});
|
||||
expect(ast[0].parameters).to.be.an('array').of.length(0);
|
||||
});
|
||||
it('async function with empty parameters', () => {
|
||||
const ast: any = createAst(ModuleFiles.asyncFunctionEmptyParams);
|
||||
expect(ast).to.be.an('array').with.length(1);
|
||||
expect(ast[0]).to.be.an('object');
|
||||
expect(ast[0]).to.deep.include({type: 'function', name: 'test', async: true});
|
||||
expect(ast[0].parameters).to.be.an('array').of.length(0);
|
||||
});
|
||||
it('async function with one parameter', () => {
|
||||
const ast: any = createAst(ModuleFiles.asyncFunctionOneParam);
|
||||
expect(ast).to.be.an('array').with.length(1);
|
||||
expect(ast[0]).to.be.an('object');
|
||||
expect(ast[0]).to.deep.include({type: 'function', name: 'test', async: true});
|
||||
expect(ast[0].parameters).to.be.an('array').deep.equals(["a"]);
|
||||
});
|
||||
it('async function with two parameters', () => {
|
||||
const ast: any = createAst(ModuleFiles.asyncFunctionTwoParams);
|
||||
expect(ast).to.be.an('array').with.length(1);
|
||||
expect(ast[0]).to.be.an('object');
|
||||
expect(ast[0]).to.deep.include({type: 'function', name: 'test', async: true});
|
||||
expect(ast[0].parameters).to.be.an('array').deep.equals(["a", "b"]);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
import { resolve, parse } from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
|
||||
function file(str: string) {
|
||||
return resolve(parse(fileURLToPath(import.meta.url)).dir, '..', 'modules', str + '.v')
|
||||
}
|
||||
|
||||
export const blank = file('blank');
|
||||
|
||||
export const namespaceX = file('namespaceX');
|
||||
export const namespaceXY = file('namespaceXY');
|
||||
export const namespaceXYZ = file('namespaceXYZ');
|
||||
|
||||
export const link = file('link');
|
||||
export const linkArray = file('linkArray');
|
||||
export const requiredLink = file('requiredLink');
|
||||
export const requiredLinkArray = file('requiredLinkArray');
|
||||
|
||||
export const functionNoParams = file('functionNoParams');
|
||||
export const functionEmptyParams = file('functionEmptyParams');
|
||||
export const functionOneParam = file('functionOneParam');
|
||||
export const functionTwoParams = file('functionTwoParams');
|
||||
export const asyncFunctionNoParams = file('asyncFunctionNoParams');
|
||||
export const asyncFunctionEmptyParams = file('asyncFunctionEmptyParams');
|
||||
export const asyncFunctionOneParam = file('asyncFunctionOneParam');
|
||||
export const asyncFunctionTwoParams = file('asyncFunctionTwoParams');
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
async test() {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
async test {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
async test(a) {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
async test(a, b) {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
test() {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
test {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
test(a) {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
test(a, b) {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
link test;
|
||||
|
|
@ -0,0 +1 @@
|
|||
link[] test;
|
||||
|
|
@ -0,0 +1 @@
|
|||
namespace x;
|
||||
|
|
@ -0,0 +1 @@
|
|||
namespace x.y;
|
||||
|
|
@ -0,0 +1 @@
|
|||
namespace x.y.z;
|
||||
|
|
@ -0,0 +1 @@
|
|||
required link test;
|
||||
|
|
@ -0,0 +1 @@
|
|||
required link[] test;
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"name": "test",
|
||||
"version": "1.0.0",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"chalk": "^4.1.1",
|
||||
"random-world": "^1.2.1",
|
||||
"signale": "^1.4.0",
|
||||
"sisteransi": "^1.0.5",
|
||||
"terminal-kit": "^2.1.2"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
|
||||
|
||||
|
||||
restore {
|
||||
|
||||
}
|
||||
11
test/trees.v
11
test/trees.v
|
|
@ -1,11 +0,0 @@
|
|||
namespace structures;
|
||||
|
||||
member alive;
|
||||
member age;
|
||||
|
||||
required link land;
|
||||
|
||||
restore {
|
||||
alive ??= true;
|
||||
age ??= 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"module": "ES6",
|
||||
"moduleResolution": "node",
|
||||
"target": "es2020"
|
||||
},
|
||||
"include": [
|
||||
"**/*.ts"
|
||||
]
|
||||
}
|
||||
16
test/world.v
16
test/world.v
|
|
@ -1,16 +0,0 @@
|
|||
link[] pawns;
|
||||
|
||||
member map;
|
||||
member size;
|
||||
|
||||
restore {
|
||||
for(let i = 0; i < 3; i ++) {
|
||||
|
||||
}
|
||||
|
||||
this.size ??= 64;
|
||||
}
|
||||
|
||||
async render() {
|
||||
|
||||
}
|
||||
346
test/yarn.lock
346
test/yarn.lock
|
|
@ -1,346 +0,0 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# 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"
|
||||
|
||||
ansi-styles@^3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
|
||||
dependencies:
|
||||
color-convert "^1.9.0"
|
||||
|
||||
ansi-styles@^4.1.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
|
||||
dependencies:
|
||||
color-convert "^2.0.1"
|
||||
|
||||
chalk@^2.3.2:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||
dependencies:
|
||||
ansi-styles "^3.2.1"
|
||||
escape-string-regexp "^1.0.5"
|
||||
supports-color "^5.3.0"
|
||||
|
||||
chalk@^4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
|
||||
dependencies:
|
||||
ansi-styles "^4.1.0"
|
||||
supports-color "^7.1.0"
|
||||
|
||||
chroma-js@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.npmjs.org/chroma-js/-/chroma-js-2.1.1.tgz"
|
||||
dependencies:
|
||||
cross-env "^6.0.3"
|
||||
|
||||
color-convert@^1.9.0:
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
||||
dependencies:
|
||||
color-name "1.1.3"
|
||||
|
||||
color-convert@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
|
||||
dependencies:
|
||||
color-name "~1.1.4"
|
||||
|
||||
color-name@1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
||||
|
||||
color-name@~1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
||||
|
||||
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-spawn@^7.0.0:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
|
||||
dependencies:
|
||||
path-key "^3.1.0"
|
||||
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"
|
||||
|
||||
error-ex@^1.3.1:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
|
||||
dependencies:
|
||||
is-arrayish "^0.2.1"
|
||||
|
||||
escape-string-regexp@^1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
||||
|
||||
figures@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
|
||||
dependencies:
|
||||
escape-string-regexp "^1.0.5"
|
||||
|
||||
find-up@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
|
||||
dependencies:
|
||||
locate-path "^2.0.0"
|
||||
|
||||
graceful-fs@^4.1.2:
|
||||
version "4.2.6"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
|
||||
|
||||
has-flag@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
|
||||
|
||||
has-flag@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
|
||||
|
||||
iota-array@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz"
|
||||
|
||||
is-arrayish@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
|
||||
|
||||
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"
|
||||
|
||||
json-parse-better-errors@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
|
||||
|
||||
lazyness@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npmjs.org/lazyness/-/lazyness-1.2.0.tgz"
|
||||
|
||||
load-json-file@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
|
||||
dependencies:
|
||||
graceful-fs "^4.1.2"
|
||||
parse-json "^4.0.0"
|
||||
pify "^3.0.0"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
locate-path@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
|
||||
dependencies:
|
||||
p-locate "^2.0.0"
|
||||
path-exists "^3.0.0"
|
||||
|
||||
moment@^2.11.2:
|
||||
version "2.29.1"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
|
||||
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
p-limit@^1.1.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
|
||||
dependencies:
|
||||
p-try "^1.0.0"
|
||||
|
||||
p-locate@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
|
||||
dependencies:
|
||||
p-limit "^1.1.0"
|
||||
|
||||
p-try@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
|
||||
|
||||
parse-json@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
|
||||
dependencies:
|
||||
error-ex "^1.3.1"
|
||||
json-parse-better-errors "^1.0.1"
|
||||
|
||||
path-exists@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
|
||||
|
||||
path-key@^3.1.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
|
||||
|
||||
pify@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
|
||||
|
||||
pkg-conf@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058"
|
||||
dependencies:
|
||||
find-up "^2.0.0"
|
||||
load-json-file "^4.0.0"
|
||||
|
||||
pngjs@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz"
|
||||
|
||||
random-world@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/random-world/-/random-world-1.2.1.tgz#aca953a169dc5ffa455a2bc39d7ee81da6f12480"
|
||||
integrity sha1-rKlToWncX/pFWivDnX7oHabxJIA=
|
||||
dependencies:
|
||||
moment "^2.11.2"
|
||||
seedrandom "^2.4.2"
|
||||
underscore "^1.8.3"
|
||||
uuid "^3.0.1"
|
||||
|
||||
seedrandom@^2.4.2:
|
||||
version "2.4.4"
|
||||
resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-2.4.4.tgz#b25ea98632c73e45f58b77cfaa931678df01f9ba"
|
||||
integrity sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==
|
||||
|
||||
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"
|
||||
dependencies:
|
||||
shebang-regex "^3.0.0"
|
||||
|
||||
shebang-regex@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
|
||||
|
||||
signale@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/signale/-/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1"
|
||||
dependencies:
|
||||
chalk "^2.3.2"
|
||||
figures "^2.0.0"
|
||||
pkg-conf "^2.1.0"
|
||||
|
||||
sisteransi@^1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
|
||||
|
||||
string-kit@^0.12.5:
|
||||
version "0.12.5"
|
||||
resolved "https://registry.npmjs.org/string-kit/-/string-kit-0.12.5.tgz"
|
||||
|
||||
strip-bom@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
|
||||
|
||||
supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||
dependencies:
|
||||
has-flag "^3.0.0"
|
||||
|
||||
supports-color@^7.1.0:
|
||||
version "7.2.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
|
||||
dependencies:
|
||||
has-flag "^4.0.0"
|
||||
|
||||
terminal-kit@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.npmjs.org/terminal-kit/-/terminal-kit-2.1.2.tgz"
|
||||
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:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.npmjs.org/tree-kit/-/tree-kit-0.7.0.tgz"
|
||||
|
||||
underscore@^1.8.3:
|
||||
version "1.13.1"
|
||||
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1"
|
||||
integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==
|
||||
|
||||
uniq@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz"
|
||||
|
||||
uuid@^3.0.1:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
|
||||
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
|
||||
|
||||
which@^2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
|
||||
dependencies:
|
||||
isexe "^2.0.0"
|
||||
|
|
@ -7,7 +7,8 @@
|
|||
"target": "esnext",
|
||||
"outDir": "out",
|
||||
"sourceMap": true,
|
||||
"declaration": true
|
||||
"declaration": true,
|
||||
"pretty": true
|
||||
},
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
|
|
|
|||
Reference in New Issue