@deckspec/cli 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +6 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/patterns.d.ts.map +1 -1
- package/dist/commands/patterns.js +34 -7
- package/dist/commands/patterns.js.map +1 -1
- package/dist/commands/render.d.ts.map +1 -1
- package/dist/commands/render.js +2 -2
- package/dist/commands/render.js.map +1 -1
- package/package.json +4 -4
- package/src/commands/init.ts +6 -0
- package/src/commands/patterns.ts +32 -7
- package/src/commands/render.ts +3 -2
- package/templates/noir-display/tsconfig.json +9 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA2MA;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwF/D"}
|
package/dist/commands/init.js
CHANGED
|
@@ -95,6 +95,12 @@ function generatePackageJson() {
|
|
|
95
95
|
type: "module",
|
|
96
96
|
dependencies: {
|
|
97
97
|
"@deckspec/cli": "^0.1.0",
|
|
98
|
+
"@phosphor-icons/react": "^2.1.0",
|
|
99
|
+
"lucide-react": "^0.469.0",
|
|
100
|
+
"react": "^19.0.0",
|
|
101
|
+
"react-dom": "^19.0.0",
|
|
102
|
+
"recharts": "^2.15.0",
|
|
103
|
+
"zod": "^3.23.0",
|
|
98
104
|
},
|
|
99
105
|
}, null, 2) + "\n";
|
|
100
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAY,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,IAAI,GACL,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,gDAAgD;AAChD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9D;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,IAAY;IACvD,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACxC,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAAC,WAAmB;IACjD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACzD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB;IAC1B,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO;;WAEE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCf,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE;YACZ,eAAe,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/commands/patterns.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/commands/patterns.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkHnE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { readdir, readFile, stat } from "node:fs/promises";
|
|
1
|
+
import { readdir, readFile, stat, access } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { resolveThemePatternsDir, resolveThemePatternsSrcDir } from "@deckspec/renderer";
|
|
3
|
+
import { resolveThemePatternsDir, resolveThemePatternsSrcDir, compileTsxCached } from "@deckspec/renderer";
|
|
4
4
|
import yaml from "js-yaml";
|
|
5
5
|
/**
|
|
6
6
|
* Lists available patterns with their schema definitions.
|
|
@@ -20,9 +20,27 @@ export async function patternsCommand(args) {
|
|
|
20
20
|
}
|
|
21
21
|
const patternsDir = resolveThemePatternsDir(themeName);
|
|
22
22
|
const patternsSrcDir = resolveThemePatternsSrcDir(themeName);
|
|
23
|
+
// Try dist/patterns/ first, fall back to patterns/ (source)
|
|
24
|
+
let scanDir;
|
|
25
|
+
let usingSrc = false;
|
|
26
|
+
try {
|
|
27
|
+
await access(patternsDir);
|
|
28
|
+
scanDir = patternsDir;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
try {
|
|
32
|
+
await access(patternsSrcDir);
|
|
33
|
+
scanDir = patternsSrcDir;
|
|
34
|
+
usingSrc = true;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
console.log(`No patterns found for theme "${themeName}".`);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
23
41
|
let entries;
|
|
24
42
|
try {
|
|
25
|
-
entries = await readdir(
|
|
43
|
+
entries = await readdir(scanDir);
|
|
26
44
|
}
|
|
27
45
|
catch {
|
|
28
46
|
console.log(`No patterns found for theme "${themeName}".`);
|
|
@@ -34,7 +52,7 @@ export async function patternsCommand(args) {
|
|
|
34
52
|
if (name.startsWith(".") || name.startsWith("_") || name === "node_modules" || name === "dist")
|
|
35
53
|
continue;
|
|
36
54
|
try {
|
|
37
|
-
const s = await stat(join(
|
|
55
|
+
const s = await stat(join(scanDir, name));
|
|
38
56
|
if (s.isDirectory())
|
|
39
57
|
patternNames.push(name);
|
|
40
58
|
}
|
|
@@ -49,9 +67,18 @@ export async function patternsCommand(args) {
|
|
|
49
67
|
patternNames.sort();
|
|
50
68
|
console.log(`Available patterns (theme: ${themeName}):\n`);
|
|
51
69
|
for (const name of patternNames) {
|
|
52
|
-
const indexPath = join(patternsDir, name, "index.js");
|
|
53
70
|
try {
|
|
54
|
-
|
|
71
|
+
let mod;
|
|
72
|
+
if (usingSrc) {
|
|
73
|
+
// Compile .tsx on-the-fly
|
|
74
|
+
const tsxPath = join(patternsSrcDir, name, "index.tsx");
|
|
75
|
+
const compiled = await compileTsxCached(tsxPath);
|
|
76
|
+
mod = await import(compiled);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const indexPath = join(patternsDir, name, "index.js");
|
|
80
|
+
mod = await import(indexPath);
|
|
81
|
+
}
|
|
55
82
|
// Check for examples.yaml
|
|
56
83
|
let hasExamples = false;
|
|
57
84
|
let examples = [];
|
|
@@ -89,7 +116,7 @@ export async function patternsCommand(args) {
|
|
|
89
116
|
}
|
|
90
117
|
}
|
|
91
118
|
catch {
|
|
92
|
-
console.log(` ${name}: (
|
|
119
|
+
console.log(` ${name}: (failed to load)`);
|
|
93
120
|
}
|
|
94
121
|
console.log();
|
|
95
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/commands/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/commands/patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
|
package/dist/commands/render.js
CHANGED
|
@@ -11,8 +11,9 @@ export async function renderCommand(filePath, outputPath) {
|
|
|
11
11
|
const basePath = dirname(resolve(filePath));
|
|
12
12
|
const themeName = extractThemeName(raw);
|
|
13
13
|
const patternsDir = resolveThemePatternsDir(themeName);
|
|
14
|
+
const patternsSrcDir = resolveThemePatternsSrcDir(themeName);
|
|
14
15
|
// Validate first
|
|
15
|
-
const result = await validateDeck(raw, { basePath, patternsDir, compileTsx: compileTsxCached });
|
|
16
|
+
const result = await validateDeck(raw, { basePath, patternsDir, patternsSrcDir, compileTsx: compileTsxCached });
|
|
16
17
|
if (result.deckError) {
|
|
17
18
|
console.error("\u2717 Deck structure is invalid:");
|
|
18
19
|
for (const issue of result.deckError.issues) {
|
|
@@ -33,7 +34,6 @@ export async function renderCommand(filePath, outputPath) {
|
|
|
33
34
|
}
|
|
34
35
|
const deck = raw;
|
|
35
36
|
const themeCSS = await loadThemeCSS(deck.meta.theme);
|
|
36
|
-
const patternsSrcDir = resolveThemePatternsSrcDir(themeName);
|
|
37
37
|
const html = await renderDeck(deck, themeCSS, { basePath, patternsDir, patternsSrcDir });
|
|
38
38
|
// If outputPath has no .html extension, treat it as a directory
|
|
39
39
|
let finalPath = outputPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEvJ;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,UAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAEvD,iBAAiB;IACjB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deckspec/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"src",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"react": "^19.0.0",
|
|
19
19
|
"react-dom": "^19.0.0",
|
|
20
20
|
"zod": "^3.23.0",
|
|
21
|
-
"@deckspec/
|
|
22
|
-
"@deckspec/
|
|
23
|
-
"@deckspec/
|
|
21
|
+
"@deckspec/dsl": "0.1.9",
|
|
22
|
+
"@deckspec/renderer": "0.1.9",
|
|
23
|
+
"@deckspec/schema": "0.1.9"
|
|
24
24
|
},
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"repository": {
|
package/src/commands/init.ts
CHANGED
|
@@ -108,6 +108,12 @@ function generatePackageJson(): string {
|
|
|
108
108
|
type: "module",
|
|
109
109
|
dependencies: {
|
|
110
110
|
"@deckspec/cli": "^0.1.0",
|
|
111
|
+
"@phosphor-icons/react": "^2.1.0",
|
|
112
|
+
"lucide-react": "^0.469.0",
|
|
113
|
+
"react": "^19.0.0",
|
|
114
|
+
"react-dom": "^19.0.0",
|
|
115
|
+
"recharts": "^2.15.0",
|
|
116
|
+
"zod": "^3.23.0",
|
|
111
117
|
},
|
|
112
118
|
},
|
|
113
119
|
null,
|
package/src/commands/patterns.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { readdir, readFile, stat } from "node:fs/promises";
|
|
1
|
+
import { readdir, readFile, stat, access } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { resolveThemePatternsDir, resolveThemePatternsSrcDir } from "@deckspec/renderer";
|
|
3
|
+
import { resolveThemePatternsDir, resolveThemePatternsSrcDir, compileTsxCached } from "@deckspec/renderer";
|
|
4
4
|
import yaml from "js-yaml";
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -23,9 +23,26 @@ export async function patternsCommand(args: string[]): Promise<void> {
|
|
|
23
23
|
const patternsDir = resolveThemePatternsDir(themeName);
|
|
24
24
|
const patternsSrcDir = resolveThemePatternsSrcDir(themeName);
|
|
25
25
|
|
|
26
|
+
// Try dist/patterns/ first, fall back to patterns/ (source)
|
|
27
|
+
let scanDir: string;
|
|
28
|
+
let usingSrc = false;
|
|
29
|
+
try {
|
|
30
|
+
await access(patternsDir);
|
|
31
|
+
scanDir = patternsDir;
|
|
32
|
+
} catch {
|
|
33
|
+
try {
|
|
34
|
+
await access(patternsSrcDir);
|
|
35
|
+
scanDir = patternsSrcDir;
|
|
36
|
+
usingSrc = true;
|
|
37
|
+
} catch {
|
|
38
|
+
console.log(`No patterns found for theme "${themeName}".`);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
26
43
|
let entries: string[];
|
|
27
44
|
try {
|
|
28
|
-
entries = await readdir(
|
|
45
|
+
entries = await readdir(scanDir);
|
|
29
46
|
} catch {
|
|
30
47
|
console.log(`No patterns found for theme "${themeName}".`);
|
|
31
48
|
return;
|
|
@@ -36,7 +53,7 @@ export async function patternsCommand(args: string[]): Promise<void> {
|
|
|
36
53
|
for (const name of entries) {
|
|
37
54
|
if (name.startsWith(".") || name.startsWith("_") || name === "node_modules" || name === "dist") continue;
|
|
38
55
|
try {
|
|
39
|
-
const s = await stat(join(
|
|
56
|
+
const s = await stat(join(scanDir, name));
|
|
40
57
|
if (s.isDirectory()) patternNames.push(name);
|
|
41
58
|
} catch {
|
|
42
59
|
// skip
|
|
@@ -52,9 +69,17 @@ export async function patternsCommand(args: string[]): Promise<void> {
|
|
|
52
69
|
console.log(`Available patterns (theme: ${themeName}):\n`);
|
|
53
70
|
|
|
54
71
|
for (const name of patternNames) {
|
|
55
|
-
const indexPath = join(patternsDir, name, "index.js");
|
|
56
72
|
try {
|
|
57
|
-
|
|
73
|
+
let mod: any;
|
|
74
|
+
if (usingSrc) {
|
|
75
|
+
// Compile .tsx on-the-fly
|
|
76
|
+
const tsxPath = join(patternsSrcDir, name, "index.tsx");
|
|
77
|
+
const compiled = await compileTsxCached(tsxPath);
|
|
78
|
+
mod = await import(compiled);
|
|
79
|
+
} else {
|
|
80
|
+
const indexPath = join(patternsDir, name, "index.js");
|
|
81
|
+
mod = await import(indexPath);
|
|
82
|
+
}
|
|
58
83
|
|
|
59
84
|
// Check for examples.yaml
|
|
60
85
|
let hasExamples = false;
|
|
@@ -92,7 +117,7 @@ export async function patternsCommand(args: string[]): Promise<void> {
|
|
|
92
117
|
}
|
|
93
118
|
}
|
|
94
119
|
} catch {
|
|
95
|
-
console.log(` ${name}: (
|
|
120
|
+
console.log(` ${name}: (failed to load)`);
|
|
96
121
|
}
|
|
97
122
|
console.log();
|
|
98
123
|
}
|
package/src/commands/render.ts
CHANGED
|
@@ -17,8 +17,10 @@ export async function renderCommand(
|
|
|
17
17
|
const themeName = extractThemeName(raw);
|
|
18
18
|
const patternsDir = resolveThemePatternsDir(themeName);
|
|
19
19
|
|
|
20
|
+
const patternsSrcDir = resolveThemePatternsSrcDir(themeName);
|
|
21
|
+
|
|
20
22
|
// Validate first
|
|
21
|
-
const result = await validateDeck(raw, { basePath, patternsDir, compileTsx: compileTsxCached });
|
|
23
|
+
const result = await validateDeck(raw, { basePath, patternsDir, patternsSrcDir, compileTsx: compileTsxCached });
|
|
22
24
|
|
|
23
25
|
if (result.deckError) {
|
|
24
26
|
console.error("\u2717 Deck structure is invalid:");
|
|
@@ -42,7 +44,6 @@ export async function renderCommand(
|
|
|
42
44
|
|
|
43
45
|
const deck = raw as Deck;
|
|
44
46
|
const themeCSS = await loadThemeCSS(deck.meta.theme);
|
|
45
|
-
const patternsSrcDir = resolveThemePatternsSrcDir(themeName);
|
|
46
47
|
const html = await renderDeck(deck, themeCSS, { basePath, patternsDir, patternsSrcDir });
|
|
47
48
|
|
|
48
49
|
// If outputPath has no .html extension, treat it as a directory
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends": "../../tsconfig.json",
|
|
3
2
|
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "Node16",
|
|
5
|
+
"moduleResolution": "Node16",
|
|
4
6
|
"outDir": "dist",
|
|
5
7
|
"rootDir": ".",
|
|
6
8
|
"composite": true,
|
|
7
|
-
"jsx": "react-jsx"
|
|
9
|
+
"jsx": "react-jsx",
|
|
10
|
+
"strict": true,
|
|
11
|
+
"declaration": true,
|
|
12
|
+
"declarationMap": true,
|
|
13
|
+
"esModuleInterop": true,
|
|
14
|
+
"skipLibCheck": true
|
|
8
15
|
},
|
|
9
16
|
"include": [
|
|
10
17
|
"patterns/",
|