Initial commit
This commit is contained in:
commit
7c49cd2bc9
8 changed files with 644 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
node_modules
|
6
README.md
Normal file
6
README.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Magic Encoding Toolkit
|
||||
|
||||
```sh
|
||||
yarn install
|
||||
yarn genurl -i file.json
|
||||
```
|
11
encoded.ts
Normal file
11
encoded.ts
Normal file
|
@ -0,0 +1,11 @@
|
|||
export interface ECard {
|
||||
text: string;
|
||||
cost?: string;
|
||||
name: string;
|
||||
types: string[];
|
||||
supertypes?: string[];
|
||||
loyalty?: string;
|
||||
subtypes?: string[];
|
||||
pt?: string;
|
||||
rarity: string;
|
||||
}
|
57
genurls.ts
Normal file
57
genurls.ts
Normal file
|
@ -0,0 +1,57 @@
|
|||
import { readFileSync } from "fs";
|
||||
import { ECard } from "./encoded";
|
||||
import { MDCard, getCardData } from "./mtgdesign";
|
||||
|
||||
function capitalize(str: string): string {
|
||||
return str.toUpperCase().substr(0, 1) + str.substr(1);
|
||||
}
|
||||
|
||||
interface CardInfo {
|
||||
set: string;
|
||||
total: number;
|
||||
num: number;
|
||||
}
|
||||
|
||||
function convertCard(data: ECard, info: CardInfo): MDCard {
|
||||
const centered = false; // Center if not much text
|
||||
let power = "";
|
||||
let toughness = "";
|
||||
if (data.pt) {
|
||||
[power, toughness] = data.pt.split("/");
|
||||
}
|
||||
return {
|
||||
"card-number": `${info.num}`,
|
||||
"card-total": `${info.total}`,
|
||||
"card-set": `${info.set}`,
|
||||
language: "EN",
|
||||
"card-title": data.name,
|
||||
"mana-cost": data.cost ? data.cost : "",
|
||||
"super-type": data.supertypes
|
||||
? data.supertypes.map(capitalize).join(" ")
|
||||
: "",
|
||||
type: capitalize(data.types[0]),
|
||||
"sub-type": data.subtypes ? data.subtypes.map(capitalize).join(" ") : "",
|
||||
"text-size": "38",
|
||||
rarity: data.rarity.toUpperCase()[0],
|
||||
power,
|
||||
toughness,
|
||||
loyalty: data.loyalty ? data.loyalty : "",
|
||||
centered,
|
||||
"rules-text": data.text.replace(/@/gi, "~"),
|
||||
"flavor-text": ""
|
||||
};
|
||||
}
|
||||
|
||||
export function readCardFile(input): ECard[] {
|
||||
const lines = readFileSync(input)
|
||||
.toString()
|
||||
.split("\n");
|
||||
return lines
|
||||
.filter(x => x.trim().length > 0)
|
||||
.map(line => JSON.parse(line.trim()));
|
||||
}
|
||||
|
||||
export function toURL(data: ECard, info: CardInfo): string {
|
||||
const mdcard = convertCard(data, info);
|
||||
return getCardData(mdcard);
|
||||
}
|
63
index.ts
Normal file
63
index.ts
Normal file
|
@ -0,0 +1,63 @@
|
|||
import * as yargs from "yargs";
|
||||
import { readCardFile, toURL } from "./genurls";
|
||||
import { existsSync, readFileSync } from "fs";
|
||||
|
||||
yargs
|
||||
.scriptName("mtgetk")
|
||||
.usage("$0 <cmd> [args]")
|
||||
.command(
|
||||
"genurl",
|
||||
"Generate card images",
|
||||
yargs =>
|
||||
yargs
|
||||
.positional("input", {
|
||||
type: "string",
|
||||
alias: "i",
|
||||
default: "in.json",
|
||||
describe: "Input JSON file generated by decode.py"
|
||||
})
|
||||
.positional("cookie", {
|
||||
type: "string",
|
||||
alias: "c",
|
||||
default: "cookie.txt",
|
||||
describe:
|
||||
"File contaning cookie data (required for requesting images)"
|
||||
})
|
||||
.positional("only-url", {
|
||||
type: "boolean",
|
||||
alias: "u",
|
||||
default: false,
|
||||
describe: "Only generate URLs"
|
||||
}),
|
||||
argv => {
|
||||
let generateImages = !argv["only-url"];
|
||||
let cookie = "";
|
||||
if (generateImages) {
|
||||
if (!existsSync(argv.cookie)) {
|
||||
console.warn(
|
||||
"Cookie file not specified or invalid, will generate URLs instead of images"
|
||||
);
|
||||
generateImages = false;
|
||||
} else {
|
||||
const cookieFile = readFileSync(argv.cookie);
|
||||
cookie = cookieFile.toString();
|
||||
}
|
||||
} else {
|
||||
console.warn("Not generating images");
|
||||
}
|
||||
const cards = readCardFile(argv.input);
|
||||
console.log(`Loaded ${cards.length} cards`);
|
||||
const urls = cards.map((c, i) =>
|
||||
toURL(c, {
|
||||
set: "RNG",
|
||||
num: i,
|
||||
total: cards.length
|
||||
})
|
||||
);
|
||||
if (generateImages) {
|
||||
//TODO
|
||||
} else {
|
||||
urls.forEach((u, i) => console.log(`${cards[i].name}:\n${u}\n`));
|
||||
}
|
||||
}
|
||||
).argv;
|
244
mtgdesign.ts
Normal file
244
mtgdesign.ts
Normal file
|
@ -0,0 +1,244 @@
|
|||
export interface MDCard {
|
||||
"card-number": string;
|
||||
"card-total": string;
|
||||
"card-set": string;
|
||||
language: string;
|
||||
"card-title": string;
|
||||
"mana-cost": string;
|
||||
"super-type": string;
|
||||
type: string;
|
||||
"sub-type": string;
|
||||
"text-size": string;
|
||||
rarity: string;
|
||||
artist?: string;
|
||||
power?: string;
|
||||
toughness?: string;
|
||||
loyalty?: string;
|
||||
artwork?: string;
|
||||
designer?: string;
|
||||
"card-template"?: string;
|
||||
"card-border"?: string;
|
||||
"card-overlay"?: string;
|
||||
"land-overlay"?: string;
|
||||
watermark?: string;
|
||||
"pt-color"?: string;
|
||||
"card-layout"?: string;
|
||||
"color-indicator"?: string;
|
||||
"set-symbol"?: string;
|
||||
centered?: boolean;
|
||||
"large-size"?: boolean;
|
||||
shiftrulestext?: boolean;
|
||||
colorshifted?: boolean;
|
||||
foil?: boolean;
|
||||
lighten?: boolean;
|
||||
"rules-text": string;
|
||||
"flavor-text": string;
|
||||
}
|
||||
|
||||
const urlbase = "https://mtg.design/render?";
|
||||
|
||||
export function getCardData(data: MDCard) {
|
||||
var card = "";
|
||||
|
||||
var manaCost = data["mana-cost"]
|
||||
.toUpperCase()
|
||||
.replace(/([\d\w])\/([\d\w])/g, "<$1/$2>")
|
||||
.replace(/(\d\d+)/g, "{$1}")
|
||||
.replace(/(\w)(?!\/)/g, "{$1}")
|
||||
.replace(/\{(\w)\}\>/g, "$1>")
|
||||
.replace(/\{(\d)\}\{(\d)\}/g, "$1$2")
|
||||
.replace(/\</g, "{")
|
||||
.replace(/\>/g, "}");
|
||||
|
||||
var identity,
|
||||
border,
|
||||
frame,
|
||||
color = 0;
|
||||
|
||||
if (/W/.test(manaCost)) color += 1;
|
||||
if (/U/.test(manaCost)) color += 2;
|
||||
if (/B/.test(manaCost)) color += 4;
|
||||
if (/R/.test(manaCost)) color += 8;
|
||||
if (/G/.test(manaCost)) color += 16;
|
||||
|
||||
switch (color) {
|
||||
case 0:
|
||||
border = "C";
|
||||
frame = "C";
|
||||
break;
|
||||
case 1:
|
||||
border = "W";
|
||||
frame = "W";
|
||||
break;
|
||||
case 2:
|
||||
border = "U";
|
||||
frame = "U";
|
||||
break;
|
||||
case 4:
|
||||
border = "B";
|
||||
frame = "B";
|
||||
break;
|
||||
case 8:
|
||||
border = "R";
|
||||
frame = "R";
|
||||
break;
|
||||
case 16:
|
||||
border = "G";
|
||||
frame = "G";
|
||||
break;
|
||||
|
||||
case 3:
|
||||
border = "WU";
|
||||
frame = "Gld";
|
||||
if (/[WUBRG]\/[WUBRG]/.test(manaCost)) frame = border;
|
||||
break;
|
||||
case 5:
|
||||
border = "WB";
|
||||
frame = "Gld";
|
||||
if (/[WUBRG]\/[WUBRG]/.test(manaCost)) frame = border;
|
||||
break;
|
||||
case 6:
|
||||
border = "UB";
|
||||
frame = "Gld";
|
||||
if (/[WUBRG]\/[WUBRG]/.test(manaCost)) frame = border;
|
||||
break;
|
||||
case 9:
|
||||
border = "RW";
|
||||
frame = "Gld";
|
||||
if (/[WUBRG]\/[WUBRG]/.test(manaCost)) frame = border;
|
||||
break;
|
||||
case 10:
|
||||
border = "UR";
|
||||
frame = "Gld";
|
||||
if (/[WUBRG]\/[WUBRG]/.test(manaCost)) frame = border;
|
||||
break;
|
||||
case 12:
|
||||
border = "BR";
|
||||
frame = "Gld";
|
||||
if (/[WUBRG]\/[WUBRG]/.test(manaCost)) frame = border;
|
||||
break;
|
||||
case 17:
|
||||
border = "GW";
|
||||
frame = "Gld";
|
||||
if (/[WUBRG]\/[WUBRG]/.test(manaCost)) frame = border;
|
||||
break;
|
||||
case 18:
|
||||
border = "GU";
|
||||
frame = "Gld";
|
||||
if (/[WUBRG]\/[WUBRG]/.test(manaCost)) frame = border;
|
||||
break;
|
||||
case 20:
|
||||
border = "BG";
|
||||
frame = "Gld";
|
||||
if (/[WUBRG]\/[WUBRG]/.test(manaCost)) frame = border;
|
||||
break;
|
||||
case 24:
|
||||
border = "RG";
|
||||
frame = "Gld";
|
||||
if (/[WUBRG]\/[WUBRG]/.test(manaCost)) frame = border;
|
||||
break;
|
||||
|
||||
case 7:
|
||||
case 11:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
case 19:
|
||||
case 21:
|
||||
case 22:
|
||||
case 23:
|
||||
case 25:
|
||||
case 26:
|
||||
case 27:
|
||||
case 28:
|
||||
case 29:
|
||||
case 30:
|
||||
case 31:
|
||||
border = "Gld";
|
||||
frame = "Gld";
|
||||
}
|
||||
|
||||
var key = [
|
||||
"card-number",
|
||||
"card-total",
|
||||
"card-set",
|
||||
"language",
|
||||
"card-title",
|
||||
"mana-cost",
|
||||
"super-type",
|
||||
"type",
|
||||
"sub-type",
|
||||
"text-size",
|
||||
"rarity",
|
||||
"artist",
|
||||
"power",
|
||||
"toughness",
|
||||
"loyalty",
|
||||
"artwork",
|
||||
"designer",
|
||||
"card-template",
|
||||
"card-border",
|
||||
"card-overlay",
|
||||
"land-overlay",
|
||||
"watermark",
|
||||
"pt-color",
|
||||
"card-layout",
|
||||
"color-indicator",
|
||||
"set-symbol"
|
||||
];
|
||||
var toggle = [
|
||||
"centered",
|
||||
"large-size",
|
||||
"shiftrulestext",
|
||||
"colorshifted",
|
||||
"foil",
|
||||
"lighten"
|
||||
];
|
||||
|
||||
for (var i = 0; i < key.length; i++) {
|
||||
var value = data[key[i]];
|
||||
if (value) {
|
||||
card +=
|
||||
"&" + key[i] + "=" + encodeURIComponent(value.replace(/\s+$/, ""));
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < toggle.length; i++) {
|
||||
var value = data[toggle[i]] == true;
|
||||
if (value) {
|
||||
card += "&" + toggle[i] + "=true";
|
||||
}
|
||||
}
|
||||
|
||||
if (data.type == "Planeswalker") {
|
||||
card += "&pw-size=" + data["pw-size"];
|
||||
//TODO Proper pw
|
||||
card +=
|
||||
"&rules-text=" +
|
||||
data["loyalty-ability-1"] +
|
||||
": " +
|
||||
encodeURIComponent(data["rules-text"] + " ");
|
||||
/*
|
||||
for (var i = 2; i <= $("#pw-size").val(); i++) {
|
||||
card +=
|
||||
"&pw-text" +
|
||||
i +
|
||||
"=" +
|
||||
$("#loyalty-ability-" + i).val() +
|
||||
": " +
|
||||
encodeURIComponent($("#planeswalker-text-" + i).val() + " ");
|
||||
}
|
||||
*/
|
||||
} else {
|
||||
card += "&rules-text=" + encodeURIComponent(data["rules-text"]);
|
||||
card += "&flavor-text=" + encodeURIComponent(data["flavor-text"]);
|
||||
}
|
||||
|
||||
card +=
|
||||
"&card-template=" +
|
||||
encodeURIComponent(frame) +
|
||||
"&card-accent=" +
|
||||
encodeURIComponent(border);
|
||||
card += "&edit=false";
|
||||
|
||||
return urlbase + card.substring(1);
|
||||
}
|
16
package.json
Normal file
16
package.json
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"name": "mtgetk",
|
||||
"version": "1.0.0",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/node": "^12.7.3",
|
||||
"@types/yargs": "^13.0.2",
|
||||
"ts-node": "^8.3.0",
|
||||
"typescript": "^3.6.2",
|
||||
"yargs": "^14.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"genurl": "ts-node index.ts genurl"
|
||||
}
|
||||
}
|
246
yarn.lock
Normal file
246
yarn.lock
Normal file
|
@ -0,0 +1,246 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@types/node@^12.7.3":
|
||||
version "12.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.3.tgz#27b3f40addaf2f580459fdb405222685542f907a"
|
||||
integrity sha512-3SiLAIBkDWDg6vFo0+5YJyHPWU9uwu40Qe+v+0MH8wRKYBimHvvAOyk3EzMrD/TrIlLYfXrqDqrg913PynrMJQ==
|
||||
|
||||
"@types/yargs-parser@*":
|
||||
version "13.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz#453743c5bbf9f1bed61d959baab5b06be029b2d0"
|
||||
integrity sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw==
|
||||
|
||||
"@types/yargs@^13.0.2":
|
||||
version "13.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653"
|
||||
integrity sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ==
|
||||
dependencies:
|
||||
"@types/yargs-parser" "*"
|
||||
|
||||
ansi-regex@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
|
||||
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
|
||||
|
||||
ansi-styles@^3.2.0:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
|
||||
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
|
||||
dependencies:
|
||||
color-convert "^1.9.0"
|
||||
|
||||
arg@^4.1.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.1.tgz#485f8e7c390ce4c5f78257dbea80d4be11feda4c"
|
||||
integrity sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
|
||||
|
||||
camelcase@^5.0.0:
|
||||
version "5.3.1"
|
||||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
|
||||
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
|
||||
|
||||
cliui@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
|
||||
integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
|
||||
dependencies:
|
||||
string-width "^3.1.0"
|
||||
strip-ansi "^5.2.0"
|
||||
wrap-ansi "^5.1.0"
|
||||
|
||||
color-convert@^1.9.0:
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
||||
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
|
||||
dependencies:
|
||||
color-name "1.1.3"
|
||||
|
||||
color-name@1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
||||
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
|
||||
|
||||
decamelize@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
||||
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
|
||||
|
||||
diff@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff"
|
||||
integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==
|
||||
|
||||
emoji-regex@^7.0.1:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
|
||||
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
|
||||
|
||||
find-up@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
|
||||
integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
|
||||
dependencies:
|
||||
locate-path "^3.0.0"
|
||||
|
||||
get-caller-file@^2.0.1:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
|
||||
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
|
||||
|
||||
is-fullwidth-code-point@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
|
||||
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
|
||||
|
||||
locate-path@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
|
||||
integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
|
||||
dependencies:
|
||||
p-locate "^3.0.0"
|
||||
path-exists "^3.0.0"
|
||||
|
||||
make-error@^1.1.1:
|
||||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
|
||||
integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
|
||||
|
||||
p-limit@^2.0.0:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537"
|
||||
integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==
|
||||
dependencies:
|
||||
p-try "^2.0.0"
|
||||
|
||||
p-locate@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
|
||||
integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
|
||||
dependencies:
|
||||
p-limit "^2.0.0"
|
||||
|
||||
p-try@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
||||
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
|
||||
|
||||
path-exists@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
|
||||
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
|
||||
|
||||
require-directory@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
|
||||
|
||||
require-main-filename@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
|
||||
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
|
||||
|
||||
set-blocking@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
|
||||
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
|
||||
|
||||
source-map-support@^0.5.6:
|
||||
version "0.5.13"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
|
||||
integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
|
||||
dependencies:
|
||||
buffer-from "^1.0.0"
|
||||
source-map "^0.6.0"
|
||||
|
||||
source-map@^0.6.0:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
|
||||
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
||||
|
||||
string-width@^3.0.0, string-width@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
|
||||
integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
|
||||
dependencies:
|
||||
emoji-regex "^7.0.1"
|
||||
is-fullwidth-code-point "^2.0.0"
|
||||
strip-ansi "^5.1.0"
|
||||
|
||||
strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
|
||||
integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
|
||||
dependencies:
|
||||
ansi-regex "^4.1.0"
|
||||
|
||||
ts-node@^8.3.0:
|
||||
version "8.3.0"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.3.0.tgz#e4059618411371924a1fb5f3b125915f324efb57"
|
||||
integrity sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==
|
||||
dependencies:
|
||||
arg "^4.1.0"
|
||||
diff "^4.0.1"
|
||||
make-error "^1.1.1"
|
||||
source-map-support "^0.5.6"
|
||||
yn "^3.0.0"
|
||||
|
||||
typescript@^3.6.2:
|
||||
version "3.6.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.2.tgz#105b0f1934119dde543ac8eb71af3a91009efe54"
|
||||
integrity sha512-lmQ4L+J6mnu3xweP8+rOrUwzmN+MRAj7TgtJtDaXE5PMyX2kCrklhg3rvOsOIfNeAWMQWO2F1GPc1kMD2vLAfw==
|
||||
|
||||
which-module@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
||||
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
|
||||
|
||||
wrap-ansi@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
|
||||
integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
|
||||
dependencies:
|
||||
ansi-styles "^3.2.0"
|
||||
string-width "^3.0.0"
|
||||
strip-ansi "^5.0.0"
|
||||
|
||||
y18n@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
|
||||
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
|
||||
|
||||
yargs-parser@^13.1.1:
|
||||
version "13.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0"
|
||||
integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==
|
||||
dependencies:
|
||||
camelcase "^5.0.0"
|
||||
decamelize "^1.2.0"
|
||||
|
||||
yargs@^14.0.0:
|
||||
version "14.0.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.0.0.tgz#ba4cacc802b3c0b3e36a9e791723763d57a85066"
|
||||
integrity sha512-ssa5JuRjMeZEUjg7bEL99AwpitxU/zWGAGpdj0di41pOEmJti8NR6kyUIJBkR78DTYNPZOU08luUo0GTHuB+ow==
|
||||
dependencies:
|
||||
cliui "^5.0.0"
|
||||
decamelize "^1.2.0"
|
||||
find-up "^3.0.0"
|
||||
get-caller-file "^2.0.1"
|
||||
require-directory "^2.1.1"
|
||||
require-main-filename "^2.0.0"
|
||||
set-blocking "^2.0.0"
|
||||
string-width "^3.0.0"
|
||||
which-module "^2.0.0"
|
||||
y18n "^4.0.0"
|
||||
yargs-parser "^13.1.1"
|
||||
|
||||
yn@^3.0.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
|
||||
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
|
Loading…
Reference in a new issue