Skip to content

Commit 49b9ee9

Browse files
committed
fix: Fix ts schema generation import issue
Changing tsconfig resolution caused generation to generate new (bad?) import lines. Replacing with regex from YousefED/typescript-json-schema#582 returned ref/definitions to normal
1 parent aef7716 commit 49b9ee9

File tree

6 files changed

+2164
-2138
lines changed

6 files changed

+2164
-2138
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
diff --git a/node_modules/typescript-json-schema/dist/typescript-json-schema.js b/node_modules/typescript-json-schema/dist/typescript-json-schema.js
2+
index 23cc6d1..221adc2 100644
3+
--- a/node_modules/typescript-json-schema/dist/typescript-json-schema.js
4+
+++ b/node_modules/typescript-json-schema/dist/typescript-json-schema.js
5+
@@ -55,7 +55,7 @@ var crypto_1 = require("crypto");
6+
var ts = require("typescript");
7+
var path_equal_1 = require("path-equal");
8+
var vm = require("vm");
9+
-var REGEX_FILE_NAME_OR_SPACE = /(\bimport\(".*?"\)|".*?")\.| /g;
10+
+var REGEX_FILE_NAME_OR_SPACE = /(\bimport\(".*?"(, \{ assert: \{ "resolution-mode": "(import|require)" \} \})?\)|".*?")\.| /g;// /(\bimport\(".*?"\)|".*?")\.| /g;
11+
var REGEX_TSCONFIG_NAME = /^.*\.json$/;
12+
var REGEX_TJS_JSDOC = /^-([\w]+)\s+(\S|\S[\s\S]*\S)\s*$/g;
13+
var REGEX_GROUP_JSDOC = /^[.]?([\w]+)\s+(\S|\S[\s\S]*\S)\s*$/g;
14+
diff --git a/node_modules/typescript-json-schema/typescript-json-schema.ts b/node_modules/typescript-json-schema/typescript-json-schema.ts
15+
index 5908567..c188383 100644
16+
--- a/node_modules/typescript-json-schema/typescript-json-schema.ts
17+
+++ b/node_modules/typescript-json-schema/typescript-json-schema.ts
18+
@@ -9,7 +9,7 @@ export { Program, CompilerOptions, Symbol } from "typescript";
19+
20+
const vm = require("vm");
21+
22+
-const REGEX_FILE_NAME_OR_SPACE = /(\bimport\(".*?"\)|".*?")\.| /g;
23+
+const REGEX_FILE_NAME_OR_SPACE = /(\bimport\(".*?"(, \{ assert: \{ "resolution-mode": "(import|require)" \} \})?\)|".*?")\.| /g;// /(\bimport\(".*?"\)|".*?")\.| /g;
24+
const REGEX_TSCONFIG_NAME = /^.*\.json$/;
25+
const REGEX_TJS_JSDOC = /^-([\w]+)\s+(\S|\S[\s\S]*\S)\s*$/g;
26+
const REGEX_GROUP_JSDOC = /^[.]?([\w]+)\s+(\S|\S[\s\S]*\S)\s*$/g;

src/backend/common/schema/aio-client.json

Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
{
22
"$schema": "http://json-schema.org/draft-07/schema#",
33
"definitions": {
4-
"import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/clients\",{assert:{\"resolution-mode\":\"import\"}}).ClientAIOConfig": {
4+
"ClientAIOConfig": {
55
"anyOf": [
66
{
7-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/lastfm\",{assert:{\"resolution-mode\":\"import\"}}).LastfmClientAIOConfig"
7+
"$ref": "#/definitions/LastfmClientAIOConfig"
88
},
99
{
10-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/listenbrainz\",{assert:{\"resolution-mode\":\"import\"}}).ListenBrainzClientAIOConfig"
10+
"$ref": "#/definitions/ListenBrainzClientAIOConfig"
1111
},
1212
{
13-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/maloja\",{assert:{\"resolution-mode\":\"import\"}}).MalojaClientAIOConfig"
13+
"$ref": "#/definitions/MalojaClientAIOConfig"
1414
}
1515
],
16-
"title": "import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/clients\",{assert:{\"resolution-mode\":\"import\"}}).ClientAIOConfig"
16+
"title": "ClientAIOConfig"
1717
},
18-
"import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/index\",{assert:{\"resolution-mode\":\"import\"}}).CommonClientData": {
18+
"CommonClientData": {
1919
"properties": {
2020
"maxRequestRetries": {
2121
"default": 1,
@@ -59,7 +59,7 @@
5959
"description": "Options used for increasing verbosity of logging in MS (used for debugging)",
6060
"properties": {
6161
"match": {
62-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/index\",{assert:{\"resolution-mode\":\"import\"}}).MatchLoggingOptions",
62+
"$ref": "#/definitions/MatchLoggingOptions",
6363
"title": "match"
6464
}
6565
},
@@ -80,44 +80,10 @@
8080
"type": "number"
8181
}
8282
},
83-
"title": "import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/index\",{assert:{\"resolution-mode\":\"import\"}}).CommonClientData",
83+
"title": "CommonClientData",
8484
"type": "object"
8585
},
86-
"import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/index\",{assert:{\"resolution-mode\":\"import\"}}).MatchLoggingOptions": {
87-
"description": "Scrobble matching (between new source track and existing client scrobbles) logging options. Used for debugging.",
88-
"properties": {
89-
"confidenceBreakdown": {
90-
"default": false,
91-
"description": "Include confidence breakdowns in track match logging, if applicable",
92-
"examples": [
93-
false
94-
],
95-
"title": "confidenceBreakdown",
96-
"type": "boolean"
97-
},
98-
"onMatch": {
99-
"default": false,
100-
"description": "Log to DEBUG when a new track DOES match an existing scrobble",
101-
"examples": [
102-
false
103-
],
104-
"title": "onMatch",
105-
"type": "boolean"
106-
},
107-
"onNoMatch": {
108-
"default": false,
109-
"description": "Log to DEBUG when a new track does NOT match an existing scrobble",
110-
"examples": [
111-
false
112-
],
113-
"title": "onNoMatch",
114-
"type": "boolean"
115-
}
116-
},
117-
"title": "import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/index\",{assert:{\"resolution-mode\":\"import\"}}).MatchLoggingOptions",
118-
"type": "object"
119-
},
120-
"import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/lastfm\",{assert:{\"resolution-mode\":\"import\"}}).LastfmClientAIOConfig": {
86+
"LastfmClientAIOConfig": {
12187
"properties": {
12288
"configureAs": {
12389
"default": "client",
@@ -135,10 +101,10 @@
135101
"data": {
136102
"allOf": [
137103
{
138-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/index\",{assert:{\"resolution-mode\":\"import\"}}).CommonClientData"
104+
"$ref": "#/definitions/CommonClientData"
139105
},
140106
{
141-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/lastfm\",{assert:{\"resolution-mode\":\"import\"}}).LastfmData"
107+
"$ref": "#/definitions/LastfmData"
142108
}
143109
],
144110
"description": "Specific data required to configure this client",
@@ -174,10 +140,10 @@
174140
"name",
175141
"type"
176142
],
177-
"title": "import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/lastfm\",{assert:{\"resolution-mode\":\"import\"}}).LastfmClientAIOConfig",
143+
"title": "LastfmClientAIOConfig",
178144
"type": "object"
179145
},
180-
"import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/lastfm\",{assert:{\"resolution-mode\":\"import\"}}).LastfmData": {
146+
"LastfmData": {
181147
"properties": {
182148
"apiKey": {
183149
"description": "API Key generated from Last.fm account",
@@ -232,10 +198,10 @@
232198
"apiKey",
233199
"secret"
234200
],
235-
"title": "import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/lastfm\",{assert:{\"resolution-mode\":\"import\"}}).LastfmData",
201+
"title": "LastfmData",
236202
"type": "object"
237203
},
238-
"import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/listenbrainz\",{assert:{\"resolution-mode\":\"import\"}}).ListenBrainzClientAIOConfig": {
204+
"ListenBrainzClientAIOConfig": {
239205
"properties": {
240206
"configureAs": {
241207
"default": "client",
@@ -251,7 +217,7 @@
251217
"type": "string"
252218
},
253219
"data": {
254-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/listenbrainz\",{assert:{\"resolution-mode\":\"import\"}}).ListenBrainzClientData",
220+
"$ref": "#/definitions/ListenBrainzClientData",
255221
"description": "Specific data required to configure this client",
256222
"title": "data"
257223
},
@@ -285,10 +251,10 @@
285251
"name",
286252
"type"
287253
],
288-
"title": "import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/listenbrainz\",{assert:{\"resolution-mode\":\"import\"}}).ListenBrainzClientAIOConfig",
254+
"title": "ListenBrainzClientAIOConfig",
289255
"type": "object"
290256
},
291-
"import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/listenbrainz\",{assert:{\"resolution-mode\":\"import\"}}).ListenBrainzClientData": {
257+
"ListenBrainzClientData": {
292258
"properties": {
293259
"maxRequestRetries": {
294260
"default": 1,
@@ -332,7 +298,7 @@
332298
"description": "Options used for increasing verbosity of logging in MS (used for debugging)",
333299
"properties": {
334300
"match": {
335-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/index\",{assert:{\"resolution-mode\":\"import\"}}).MatchLoggingOptions",
301+
"$ref": "#/definitions/MatchLoggingOptions",
336302
"title": "match"
337303
}
338304
},
@@ -379,13 +345,13 @@
379345
"token",
380346
"username"
381347
],
382-
"title": "import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/listenbrainz\",{assert:{\"resolution-mode\":\"import\"}}).ListenBrainzClientData",
348+
"title": "ListenBrainzClientData",
383349
"type": "object"
384350
},
385-
"import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/maloja\",{assert:{\"resolution-mode\":\"import\"}}).MalojaClientAIOConfig": {
351+
"MalojaClientAIOConfig": {
386352
"properties": {
387353
"data": {
388-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/maloja\",{assert:{\"resolution-mode\":\"import\"}}).MalojaClientData",
354+
"$ref": "#/definitions/MalojaClientData",
389355
"description": "Specific data required to configure this client",
390356
"title": "data"
391357
},
@@ -419,10 +385,10 @@
419385
"name",
420386
"type"
421387
],
422-
"title": "import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/maloja\",{assert:{\"resolution-mode\":\"import\"}}).MalojaClientAIOConfig",
388+
"title": "MalojaClientAIOConfig",
423389
"type": "object"
424390
},
425-
"import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/maloja\",{assert:{\"resolution-mode\":\"import\"}}).MalojaClientData": {
391+
"MalojaClientData": {
426392
"properties": {
427393
"apiKey": {
428394
"description": "API Key for Maloja server",
@@ -474,7 +440,7 @@
474440
"description": "Options used for increasing verbosity of logging in MS (used for debugging)",
475441
"properties": {
476442
"match": {
477-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/index\",{assert:{\"resolution-mode\":\"import\"}}).MatchLoggingOptions",
443+
"$ref": "#/definitions/MatchLoggingOptions",
478444
"title": "match"
479445
}
480446
},
@@ -507,10 +473,44 @@
507473
"apiKey",
508474
"url"
509475
],
510-
"title": "import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/maloja\",{assert:{\"resolution-mode\":\"import\"}}).MalojaClientData",
476+
"title": "MalojaClientData",
477+
"type": "object"
478+
},
479+
"MatchLoggingOptions": {
480+
"description": "Scrobble matching (between new source track and existing client scrobbles) logging options. Used for debugging.",
481+
"properties": {
482+
"confidenceBreakdown": {
483+
"default": false,
484+
"description": "Include confidence breakdowns in track match logging, if applicable",
485+
"examples": [
486+
false
487+
],
488+
"title": "confidenceBreakdown",
489+
"type": "boolean"
490+
},
491+
"onMatch": {
492+
"default": false,
493+
"description": "Log to DEBUG when a new track DOES match an existing scrobble",
494+
"examples": [
495+
false
496+
],
497+
"title": "onMatch",
498+
"type": "boolean"
499+
},
500+
"onNoMatch": {
501+
"default": false,
502+
"description": "Log to DEBUG when a new track does NOT match an existing scrobble",
503+
"examples": [
504+
false
505+
],
506+
"title": "onNoMatch",
507+
"type": "boolean"
508+
}
509+
},
510+
"title": "MatchLoggingOptions",
511511
"type": "object"
512512
},
513-
"import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/common\",{assert:{\"resolution-mode\":\"import\"}}).RequestRetryOptions": {
513+
"RequestRetryOptions": {
514514
"properties": {
515515
"maxRequestRetries": {
516516
"default": 1,
@@ -531,18 +531,18 @@
531531
"type": "number"
532532
}
533533
},
534-
"title": "import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/common\",{assert:{\"resolution-mode\":\"import\"}}).RequestRetryOptions",
534+
"title": "RequestRetryOptions",
535535
"type": "object"
536536
}
537537
},
538538
"properties": {
539539
"clientDefaults": {
540-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/common\",{assert:{\"resolution-mode\":\"import\"}}).RequestRetryOptions",
540+
"$ref": "#/definitions/RequestRetryOptions",
541541
"title": "clientDefaults"
542542
},
543543
"clients": {
544544
"items": {
545-
"$ref": "#/definitions/import(\"/home/foxx/code/multi-scrobbler/src/backend/common/infrastructure/config/client/clients\",{assert:{\"resolution-mode\":\"import\"}}).ClientAIOConfig"
545+
"$ref": "#/definitions/ClientAIOConfig"
546546
},
547547
"title": "clients",
548548
"type": "array"

0 commit comments

Comments
 (0)