@keymanapp/kmc-model-info 17.0.185-alpha → 17.0.190-alpha
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/build/src/messages.d.ts +17 -2
- package/build/src/messages.d.ts.map +1 -1
- package/build/src/messages.js +10 -2
- package/build/src/messages.js.map +1 -1
- package/build/src/model-info-compiler.d.ts +27 -16
- package/build/src/model-info-compiler.d.ts.map +1 -1
- package/build/src/model-info-compiler.js +146 -105
- package/build/src/model-info-compiler.js.map +1 -1
- package/build/src/model-info-file.d.ts +3 -9
- package/build/src/model-info-file.d.ts.map +1 -1
- package/node_modules/@keymanapp/developer-utils/build/index.d.ts +2 -0
- package/node_modules/@keymanapp/developer-utils/build/index.d.ts.map +1 -0
- package/node_modules/@keymanapp/developer-utils/build/index.js +2 -0
- package/node_modules/@keymanapp/developer-utils/build/index.js.map +1 -0
- package/node_modules/@keymanapp/developer-utils/build/src/validate-mit-license.d.ts +7 -0
- package/node_modules/@keymanapp/developer-utils/build/src/validate-mit-license.d.ts.map +1 -0
- package/node_modules/@keymanapp/developer-utils/build/src/validate-mit-license.js +61 -0
- package/node_modules/@keymanapp/developer-utils/build/src/validate-mit-license.js.map +1 -0
- package/node_modules/@keymanapp/developer-utils/build/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@keymanapp/developer-utils/package.json +33 -0
- package/package.json +7 -4
package/build/src/messages.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f2d34f5e-ad03-57f8-b1f5-fa491b6635e8")}catch(e){}}();
|
|
2
2
|
export declare class ModelInfoCompilerMessages {
|
|
3
3
|
static Fatal_UnexpectedException: (o: {
|
|
4
4
|
e: any;
|
|
@@ -23,6 +23,21 @@ export declare class ModelInfoCompilerMessages {
|
|
|
23
23
|
email: string;
|
|
24
24
|
}) => import("node_modules/@keymanapp/common-types/src/main.js").CompilerEvent;
|
|
25
25
|
static ERROR_InvalidAuthorEmail: number;
|
|
26
|
+
static Error_LicenseFileDoesNotExist: (o: {
|
|
27
|
+
filename: string;
|
|
28
|
+
}) => import("node_modules/@keymanapp/common-types/src/main.js").CompilerEvent;
|
|
29
|
+
static ERROR_LicenseFileIsMissing: number;
|
|
30
|
+
static Error_LicenseFileIsDamaged: (o: {
|
|
31
|
+
filename: string;
|
|
32
|
+
}) => import("node_modules/@keymanapp/common-types/src/main.js").CompilerEvent;
|
|
33
|
+
static ERROR_LicenseFileIsDamaged: number;
|
|
34
|
+
static Error_LicenseIsNotValid: (o: {
|
|
35
|
+
filename: string;
|
|
36
|
+
message: string;
|
|
37
|
+
}) => import("node_modules/@keymanapp/common-types/src/main.js").CompilerEvent;
|
|
38
|
+
static ERROR_LicenseIsNotValid: number;
|
|
39
|
+
static Error_NoLicenseFound: () => import("node_modules/@keymanapp/common-types/src/main.js").CompilerEvent;
|
|
40
|
+
static ERROR_NoLicenseFound: number;
|
|
26
41
|
}
|
|
27
|
-
//# debugId=
|
|
42
|
+
//# debugId=f2d34f5e-ad03-57f8-b1f5-fa491b6635e8
|
|
28
43
|
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"debug_id":"
|
|
1
|
+
{"debug_id":"f2d34f5e-ad03-57f8-b1f5-fa491b6635e8","file":"messages.d.ts","mappings":";AASA,qBAAa,yBAAyB;IACpC,MAAM,CAAC,yBAAyB,MAAM;QAAC,CAAC,EAAE,GAAG,CAAA;KAAC,8EAAqE;IACnH,MAAM,CAAC,yBAAyB,SAAqB;IAErD,MAAM,CAAC,sBAAsB,MAAM;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,8EAA0E;IAC/H,MAAM,CAAC,sBAAsB,SAAqB;IAElD,MAAM,CAAC,oBAAoB,MAAM;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,GAAG,CAAA;KAAC,8EAC0B;IACrF,MAAM,CAAC,oBAAoB,SAAqB;IAEhD,MAAM,CAAC,8BAA8B,MAAM;QAAC,KAAK,EAAC,MAAM,CAAC;QAAC,KAAK,EAAC,GAAG,CAAC;QAAC,QAAQ,EAAC,GAAG,CAAA;KAAC,8EAC8B;IAChH,MAAM,CAAC,8BAA8B,SAAoB;IAEzD,MAAM,CAAC,wBAAwB,MAAM;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,8EACb;IACtC,MAAM,CAAC,wBAAwB,SAAqB;IAEpD,MAAM,CAAC,6BAA6B,MAAM;QAAC,QAAQ,EAAC,MAAM,CAAA;KAAC,8EACX;IAChD,MAAM,CAAC,0BAA0B,SAAqB;IAEtD,MAAM,CAAC,0BAA0B,MAAM;QAAC,QAAQ,EAAC,MAAM,CAAA;KAAC,8EACQ;IAChE,MAAM,CAAC,0BAA0B,SAAqB;IAEtD,MAAM,CAAC,uBAAuB,MAAM;QAAC,QAAQ,EAAC,MAAM,CAAC;QAAA,OAAO,EAAC,MAAM,CAAA;KAAC,8EACY;IAChF,MAAM,CAAC,uBAAuB,SAAqB;IAEnD,MAAM,CAAC,oBAAoB,iFAC2F;IACtH,MAAM,CAAC,oBAAoB,SAAqB;CACjD","names":[],"sourceRoot":"","sources":["../../src/messages.ts"],"version":3}
|
package/build/src/messages.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="263af833-1cdd-599b-90f6-5454b3283f71")}catch(e){}}();
|
|
2
2
|
import { CompilerErrorNamespace, CompilerErrorSeverity, CompilerMessageSpec as m } from "@keymanapp/common-types";
|
|
3
3
|
const Namespace = CompilerErrorNamespace.ModelInfoCompiler;
|
|
4
4
|
// const SevInfo = CompilerErrorSeverity.Info | Namespace;
|
|
@@ -17,6 +17,14 @@ export class ModelInfoCompilerMessages {
|
|
|
17
17
|
static WARN_MetadataFieldInconsistent = SevWarn | 0x0004;
|
|
18
18
|
static Error_InvalidAuthorEmail = (o) => m(this.ERROR_InvalidAuthorEmail, `Invalid author email: ${o.email}`);
|
|
19
19
|
static ERROR_InvalidAuthorEmail = SevError | 0x0005;
|
|
20
|
+
static Error_LicenseFileDoesNotExist = (o) => m(this.ERROR_LicenseFileIsMissing, `License file ${o.filename} does not exist.`);
|
|
21
|
+
static ERROR_LicenseFileIsMissing = SevError | 0x0006;
|
|
22
|
+
static Error_LicenseFileIsDamaged = (o) => m(this.ERROR_LicenseFileIsDamaged, `License file ${o.filename} could not be loaded or decoded.`);
|
|
23
|
+
static ERROR_LicenseFileIsDamaged = SevError | 0x0007;
|
|
24
|
+
static Error_LicenseIsNotValid = (o) => m(this.ERROR_LicenseIsNotValid, `An error was encountered parsing license file ${o.filename}: ${o.message}.`);
|
|
25
|
+
static ERROR_LicenseIsNotValid = SevError | 0x0008;
|
|
26
|
+
static Error_NoLicenseFound = () => m(this.ERROR_NoLicenseFound, `No license for the model was found. MIT license is required for publication to Keyman lexical-models repository.`);
|
|
27
|
+
static ERROR_NoLicenseFound = SevError | 0x0009;
|
|
20
28
|
}
|
|
21
|
-
//# debugId=
|
|
29
|
+
//# debugId=263af833-1cdd-599b-90f6-5454b3283f71
|
|
22
30
|
//# sourceMappingURL=messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"debug_id":"
|
|
1
|
+
{"debug_id":"263af833-1cdd-599b-90f6-5454b3283f71","file":"messages.js","mappings":";AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,mBAAmB,IAAI,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAElH,MAAM,SAAS,GAAG,sBAAsB,CAAC,iBAAiB,CAAC;AAC3D,0DAA0D;AAC1D,0DAA0D;AAC1D,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,GAAG,SAAS,CAAC;AACvD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,GAAG,SAAS,CAAC;AACzD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,GAAG,SAAS,CAAC;AAEzD,MAAM,OAAO,yBAAyB;IACpC,MAAM,CAAC,yBAAyB,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC;IACnH,MAAM,CAAC,yBAAyB,GAAG,QAAQ,GAAG,MAAM,CAAC;IAErD,MAAM,CAAC,sBAAsB,GAAG,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,QAAQ,kBAAkB,CAAC,CAAC;IAC/H,MAAM,CAAC,sBAAsB,GAAG,QAAQ,GAAG,MAAM,CAAC;IAElD,MAAM,CAAC,oBAAoB,GAAG,CAAC,CAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EACzF,QAAQ,CAAC,CAAC,QAAQ,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrF,MAAM,CAAC,oBAAoB,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEhD,MAAM,CAAC,8BAA8B,GAAG,CAAC,CAAyC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,EAC1H,kBAAkB,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,QAAQ,kCAAkC,CAAC,CAAC;IAChH,MAAM,CAAC,8BAA8B,GAAG,OAAO,GAAG,MAAM,CAAC;IAEzD,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,EACrF,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,wBAAwB,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEpD,MAAM,CAAC,6BAA6B,GAAG,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,EAC/F,gBAAgB,CAAC,CAAC,QAAQ,kBAAkB,CAAC,CAAC;IAChD,MAAM,CAAC,0BAA0B,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEtD,MAAM,CAAC,0BAA0B,GAAG,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,EAC5F,gBAAgB,CAAC,CAAC,QAAQ,kCAAkC,CAAC,CAAC;IAChE,MAAM,CAAC,0BAA0B,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEtD,MAAM,CAAC,uBAAuB,GAAG,CAAC,CAAkC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,EACrG,iDAAiD,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IAChF,MAAM,CAAC,uBAAuB,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEnD,MAAM,CAAC,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAC7D,kHAAkH,CAAC,CAAC;IACtH,MAAM,CAAC,oBAAoB,GAAG,QAAQ,GAAG,MAAM,CAAC","names":[],"sourceRoot":"","sources":["../../src/messages.ts"],"version":3}
|
|
@@ -1,30 +1,41 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="83a2608e-2361-5102-b104-608341c4fa47")}catch(e){}}();
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Builds a source .model_info file with metadata extracted from .kps file and
|
|
4
4
|
* compiled files to produce a comprehensive .model_info file.
|
|
5
5
|
*/
|
|
6
6
|
import { CompilerCallbacks, KmpJsonFile } from "@keymanapp/common-types";
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class ModelInfoSources {
|
|
8
8
|
/** The identifier for the model */
|
|
9
9
|
model_id: string;
|
|
10
10
|
/** The data from the .kps file, transformed to kmp.json */
|
|
11
11
|
kmpJsonData: KmpJsonFile.KmpJsonFile;
|
|
12
|
-
/** The path in the keymanapp/lexical-models repo where this model may be found
|
|
13
|
-
sourcePath
|
|
12
|
+
/** The path in the keymanapp/lexical-models repo where this model may be found */
|
|
13
|
+
sourcePath: string;
|
|
14
14
|
/** The compiled model filename and relative path (.js) */
|
|
15
15
|
modelFileName: string;
|
|
16
16
|
/** The compiled package filename and relative path (.kmp) */
|
|
17
17
|
kmpFileName: string;
|
|
18
|
+
/** The source package filename and relative path (.kps) */
|
|
19
|
+
kpsFilename: string;
|
|
20
|
+
/** Last modification date for files in the project folder 'YYYY-MM-DDThh:mm:ssZ' */
|
|
21
|
+
lastCommitDate?: string;
|
|
22
|
+
/** Return an error if project does not meet requirements of lexical-models repository */
|
|
23
|
+
forPublishing: boolean;
|
|
18
24
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
export declare class ModelInfoCompiler {
|
|
26
|
+
private callbacks;
|
|
27
|
+
constructor(callbacks: CompilerCallbacks);
|
|
28
|
+
/**
|
|
29
|
+
* Builds .model_info file with metadata from the model and package source file.
|
|
30
|
+
* This function is intended for use within the lexical-models repository. While many of the
|
|
31
|
+
* parameters could be deduced from each other, they are specified here to reduce the
|
|
32
|
+
* number of places the filenames are constructed.
|
|
33
|
+
*
|
|
34
|
+
* @param sources Details on files from which to extract additional metadata
|
|
35
|
+
*/
|
|
36
|
+
writeModelMetadataFile(sources: ModelInfoSources): Uint8Array;
|
|
37
|
+
private isLicenseMIT;
|
|
38
|
+
private loadJsFile;
|
|
39
|
+
}
|
|
40
|
+
//# debugId=83a2608e-2361-5102-b104-608341c4fa47
|
|
30
41
|
//# sourceMappingURL=model-info-compiler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"debug_id":"
|
|
1
|
+
{"debug_id":"83a2608e-2361-5102-b104-608341c4fa47","file":"model-info-compiler.d.ts","mappings":";AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAOzE,qBAAa,gBAAgB;IAC3B,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IAEjB,2DAA2D;IAC3D,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC;IAErC,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAC;IAEnB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IAEtB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IAEpB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IAEpB,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yFAAyF;IACzF,aAAa,EAAE,OAAO,CAAC;CACxB;AAGD,qBAAa,iBAAiB;IAChB,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAGhD;;;;;;;OAOG;IACH,sBAAsB,CACpB,OAAO,EAAE,gBAAgB,GACxB,UAAU;IAyHb,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,UAAU;CASnB","names":[],"sourceRoot":"","sources":["../../src/model-info-compiler.ts"],"version":3}
|
|
@@ -1,133 +1,174 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="dec23568-a5ae-52b6-9f5c-4aec11d03aca")}catch(e){}}();
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Builds a source .model_info file with metadata extracted from .kps file and
|
|
4
4
|
* compiled files to produce a comprehensive .model_info file.
|
|
5
5
|
*/
|
|
6
6
|
import { minKeymanVersion } from "./min-keyman-version.js";
|
|
7
7
|
import { ModelInfoCompilerMessages } from "./messages.js";
|
|
8
|
+
import { validateMITLicense } from "@keymanapp/developer-utils";
|
|
9
|
+
const HelpRoot = 'https://help.keyman.com/model/';
|
|
8
10
|
/* c8 ignore start */
|
|
9
|
-
export class
|
|
11
|
+
export class ModelInfoSources {
|
|
10
12
|
/** The identifier for the model */
|
|
11
13
|
model_id;
|
|
12
14
|
/** The data from the .kps file, transformed to kmp.json */
|
|
13
15
|
kmpJsonData;
|
|
14
|
-
/** The path in the keymanapp/lexical-models repo where this model may be found
|
|
16
|
+
/** The path in the keymanapp/lexical-models repo where this model may be found */
|
|
15
17
|
sourcePath;
|
|
16
18
|
/** The compiled model filename and relative path (.js) */
|
|
17
19
|
modelFileName;
|
|
18
20
|
/** The compiled package filename and relative path (.kmp) */
|
|
19
21
|
kmpFileName;
|
|
22
|
+
/** The source package filename and relative path (.kps) */
|
|
23
|
+
kpsFilename;
|
|
24
|
+
/** Last modification date for files in the project folder 'YYYY-MM-DDThh:mm:ssZ' */
|
|
25
|
+
lastCommitDate;
|
|
26
|
+
/** Return an error if project does not meet requirements of lexical-models repository */
|
|
27
|
+
forPublishing;
|
|
20
28
|
}
|
|
21
29
|
;
|
|
22
30
|
/* c8 ignore stop */
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
* number of places the filenames are constructed.
|
|
28
|
-
*
|
|
29
|
-
* @param sourceModelInfoFileName Path for the source .model_info file
|
|
30
|
-
* @param options Details on files from which to extract additional metadata
|
|
31
|
-
*/
|
|
32
|
-
export function writeMergedModelMetadataFile(sourceModelInfoFileName, callbacks, options) {
|
|
33
|
-
/*
|
|
34
|
-
* Model info looks like this:
|
|
35
|
-
*
|
|
36
|
-
* {
|
|
37
|
-
* "name": "Example Template Model"
|
|
38
|
-
* "license": "mit",
|
|
39
|
-
* "version": "1.0.0",
|
|
40
|
-
* "languages": ["en"],
|
|
41
|
-
* "authorName": "Example Author",
|
|
42
|
-
* "authorEmail": "nobody@example.com",
|
|
43
|
-
* "description": "Example wordlist model"
|
|
44
|
-
* }
|
|
45
|
-
*
|
|
46
|
-
* For full documentation, see:
|
|
47
|
-
* https://help.keyman.com/developer/cloud/model_info/1.0/
|
|
48
|
-
*/
|
|
49
|
-
const dataInput = callbacks.loadFile(sourceModelInfoFileName);
|
|
50
|
-
if (!dataInput) {
|
|
51
|
-
callbacks.reportMessage(ModelInfoCompilerMessages.Error_FileDoesNotExist({ filename: sourceModelInfoFileName }));
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
let model_info = null;
|
|
55
|
-
try {
|
|
56
|
-
const jsonInput = new TextDecoder('utf-8', { fatal: true }).decode(dataInput);
|
|
57
|
-
model_info = JSON.parse(jsonInput);
|
|
31
|
+
export class ModelInfoCompiler {
|
|
32
|
+
callbacks;
|
|
33
|
+
constructor(callbacks) {
|
|
34
|
+
this.callbacks = callbacks;
|
|
58
35
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Builds .model_info file with metadata from the model and package source file.
|
|
38
|
+
* This function is intended for use within the lexical-models repository. While many of the
|
|
39
|
+
* parameters could be deduced from each other, they are specified here to reduce the
|
|
40
|
+
* number of places the filenames are constructed.
|
|
41
|
+
*
|
|
42
|
+
* @param sources Details on files from which to extract additional metadata
|
|
43
|
+
*/
|
|
44
|
+
writeModelMetadataFile(sources) {
|
|
45
|
+
/*
|
|
46
|
+
* Model info looks like this:
|
|
47
|
+
*
|
|
48
|
+
* {
|
|
49
|
+
* "name": "Example Template Model"
|
|
50
|
+
* "license": "mit",
|
|
51
|
+
* "version": "1.0.0",
|
|
52
|
+
* "languages": ["en"],
|
|
53
|
+
* "authorName": "Example Author",
|
|
54
|
+
* "authorEmail": "nobody@example.com",
|
|
55
|
+
* "description": "Example wordlist model"
|
|
56
|
+
* }
|
|
57
|
+
*
|
|
58
|
+
* For full documentation, see:
|
|
59
|
+
* https://help.keyman.com/developer/cloud/model_info/1.0/
|
|
60
|
+
*/
|
|
61
|
+
let jsFile = null;
|
|
62
|
+
if (sources.modelFileName) {
|
|
63
|
+
jsFile = this.loadJsFile(sources.modelFileName);
|
|
64
|
+
if (!jsFile) {
|
|
65
|
+
return null;
|
|
76
66
|
}
|
|
77
67
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
let match = author.url.match(/^(mailto\:)?(.+)$/);
|
|
93
|
-
/* c8 ignore next 3 */
|
|
94
|
-
if (match === null) {
|
|
95
|
-
callbacks.reportMessage(ModelInfoCompilerMessages.Error_InvalidAuthorEmail({ email: author.url }));
|
|
68
|
+
let model_info = {
|
|
69
|
+
languages: [],
|
|
70
|
+
};
|
|
71
|
+
//
|
|
72
|
+
// Build .model_info file -- some fields have "special" behaviours -- see below
|
|
73
|
+
// https://api.keyman.com/schemas/model_info.source.json and
|
|
74
|
+
// https://api.keyman.com/schemas/model_info.distribution.json
|
|
75
|
+
// https://help.keyman.com/developer/cloud/model_info/1.0
|
|
76
|
+
//
|
|
77
|
+
model_info.id = sources.model_id;
|
|
78
|
+
model_info.name = sources.kmpJsonData.info.name.description;
|
|
79
|
+
// License
|
|
80
|
+
if (!sources.kmpJsonData.options?.licenseFile) {
|
|
81
|
+
this.callbacks.reportMessage(ModelInfoCompilerMessages.Error_NoLicenseFound());
|
|
96
82
|
return null;
|
|
97
83
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
84
|
+
if (!this.isLicenseMIT(this.callbacks.resolveFilename(sources.kpsFilename, sources.kmpJsonData.options.licenseFile))) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
model_info.license = 'mit';
|
|
88
|
+
const author = sources.kmpJsonData.info.author;
|
|
89
|
+
model_info.authorName = author?.description ?? '';
|
|
90
|
+
if (author?.url) {
|
|
91
|
+
// we strip the mailto: from the .kps file for the .model_info
|
|
92
|
+
const match = author.url.match(/^(mailto\:)?(.+)$/);
|
|
93
|
+
/* c8 ignore next 3 */
|
|
94
|
+
if (match === null) {
|
|
95
|
+
this.callbacks.reportMessage(ModelInfoCompilerMessages.Error_InvalidAuthorEmail({ email: author.url }));
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
model_info.authorEmail = match[2];
|
|
99
|
+
}
|
|
100
|
+
// description
|
|
101
|
+
if (sources.kmpJsonData.info.description?.description) {
|
|
102
|
+
model_info.description = sources.kmpJsonData.info.description.description.trim();
|
|
103
|
+
}
|
|
104
|
+
// isRTL -- this is a little bit of a heuristic from a compiled .js
|
|
105
|
+
// which may need modification if compilers change
|
|
106
|
+
if (jsFile?.match(/("?)isRTL("?):\s*true/)) {
|
|
107
|
+
model_info.isRTL = true;
|
|
108
|
+
}
|
|
109
|
+
// extract the language identifiers from the language metadata
|
|
110
|
+
// arrays for each of the lexical models in the kmp.json file,
|
|
111
|
+
// and merge into a single array of identifiers in the
|
|
112
|
+
// .model_info file.
|
|
113
|
+
model_info.languages = sources.kmpJsonData.lexicalModels.reduce((a, e) => [].concat(a, e.languages.map((f) => f.id)), []);
|
|
114
|
+
// If a last commit date is not given, then just use the current time
|
|
115
|
+
model_info.lastModifiedDate = sources.lastCommitDate ?? (new Date).toISOString();
|
|
116
|
+
model_info.packageFilename = this.callbacks.path.basename(sources.kmpFileName);
|
|
117
|
+
model_info.packageFileSize = this.callbacks.fileSize(sources.kmpFileName);
|
|
118
|
+
if (model_info.packageFileSize === undefined) {
|
|
119
|
+
this.callbacks.reportMessage(ModelInfoCompilerMessages.Error_FileDoesNotExist({ filename: sources.kmpFileName }));
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
model_info.jsFilename = this.callbacks.path.basename(sources.modelFileName);
|
|
123
|
+
model_info.jsFileSize = this.callbacks.fileSize(sources.modelFileName);
|
|
124
|
+
if (model_info.jsFileSize === undefined) {
|
|
125
|
+
this.callbacks.reportMessage(ModelInfoCompilerMessages.Error_FileDoesNotExist({ filename: sources.modelFileName }));
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
model_info.packageIncludes = sources.kmpJsonData.files.filter((e) => !!e.name.match(/.[ot]tf$/i)).length ? ['fonts'] : [];
|
|
129
|
+
model_info.version = sources.kmpJsonData.info.version.description;
|
|
130
|
+
model_info.minKeymanVersion = minKeymanVersion;
|
|
131
|
+
model_info.helpLink = HelpRoot + model_info.id;
|
|
132
|
+
if (sources.sourcePath) {
|
|
133
|
+
model_info.sourcePath = sources.sourcePath;
|
|
134
|
+
}
|
|
135
|
+
const jsonOutput = JSON.stringify(model_info, null, 2);
|
|
136
|
+
return new TextEncoder().encode(jsonOutput);
|
|
113
137
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
138
|
+
isLicenseMIT(filename) {
|
|
139
|
+
const data = this.callbacks.loadFile(filename);
|
|
140
|
+
if (!data) {
|
|
141
|
+
this.callbacks.reportMessage(ModelInfoCompilerMessages.Error_LicenseFileDoesNotExist({ filename }));
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
let license = null;
|
|
145
|
+
try {
|
|
146
|
+
license = new TextDecoder().decode(data);
|
|
147
|
+
}
|
|
148
|
+
catch (e) {
|
|
149
|
+
this.callbacks.reportMessage(ModelInfoCompilerMessages.Error_LicenseFileIsDamaged({ filename }));
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
if (!license) {
|
|
153
|
+
this.callbacks.reportMessage(ModelInfoCompilerMessages.Error_LicenseFileIsDamaged({ filename }));
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
const message = validateMITLicense(license);
|
|
157
|
+
if (message != null) {
|
|
158
|
+
this.callbacks.reportMessage(ModelInfoCompilerMessages.Error_LicenseIsNotValid({ filename, message }));
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
return true;
|
|
120
162
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
163
|
+
loadJsFile(filename) {
|
|
164
|
+
const data = this.callbacks.loadFile(filename);
|
|
165
|
+
if (!data) {
|
|
166
|
+
this.callbacks.reportMessage(ModelInfoCompilerMessages.Error_FileDoesNotExist({ filename }));
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
const text = new TextDecoder('utf-8', { fatal: true }).decode(data);
|
|
170
|
+
return text;
|
|
128
171
|
}
|
|
129
|
-
const jsonOutput = JSON.stringify(model_info, null, 2);
|
|
130
|
-
return new TextEncoder().encode(jsonOutput);
|
|
131
172
|
}
|
|
132
|
-
//# debugId=
|
|
173
|
+
//# debugId=dec23568-a5ae-52b6-9f5c-4aec11d03aca
|
|
133
174
|
//# sourceMappingURL=model-info-compiler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"debug_id":"
|
|
1
|
+
{"debug_id":"dec23568-a5ae-52b6-9f5c-4aec11d03aca","file":"model-info-compiler.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../src/model-info-compiler.ts"],"version":3}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9a9a75dc-1fd5-58a3-8a40-fa557c6212c6")}catch(e){}}();
|
|
2
2
|
export interface ModelInfoFile {
|
|
3
3
|
id?: string;
|
|
4
4
|
name?: string;
|
|
5
5
|
authorName?: string;
|
|
6
6
|
authorEmail?: string;
|
|
7
7
|
description?: string;
|
|
8
|
-
license
|
|
8
|
+
license?: "mit";
|
|
9
9
|
languages: Array<string>;
|
|
10
10
|
lastModifiedDate?: string;
|
|
11
|
-
links: ModelInfoFileLink[];
|
|
12
11
|
packageFilename?: string;
|
|
13
12
|
packageFileSize?: number;
|
|
14
13
|
jsFilename?: string;
|
|
@@ -23,14 +22,9 @@ export interface ModelInfoFile {
|
|
|
23
22
|
[id: string]: ModelInfoFileRelated;
|
|
24
23
|
};
|
|
25
24
|
}
|
|
26
|
-
export interface ModelInfoFileLink {
|
|
27
|
-
name: string;
|
|
28
|
-
url: string;
|
|
29
|
-
}
|
|
30
25
|
export interface ModelInfoFileRelated {
|
|
31
26
|
deprecates?: string;
|
|
32
27
|
deprecatedBy?: string;
|
|
33
|
-
note?: string;
|
|
34
28
|
}
|
|
35
|
-
//# debugId=
|
|
29
|
+
//# debugId=9a9a75dc-1fd5-58a3-8a40-fa557c6212c6
|
|
36
30
|
//# sourceMappingURL=model-info-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"debug_id":"
|
|
1
|
+
{"debug_id":"9a9a75dc-1fd5-58a3-8a40-fa557c6212c6","file":"model-info-file.d.ts","mappings":";AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QAAC,CAAC,EAAE,EAAC,MAAM,GAAE,oBAAoB,CAAA;KAAC,CAAC;CAC9C;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB","names":[],"sourceRoot":"","sources":["../../src/model-info-file.ts"],"version":3}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-mit-license.d.ts","sourceRoot":"","sources":["../../src/validate-mit-license.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,UA+DjD"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an error string for license issues, or null if no issues found
|
|
3
|
+
* @param license
|
|
4
|
+
* @returns
|
|
5
|
+
*/
|
|
6
|
+
export function validateMITLicense(license) {
|
|
7
|
+
// NOTE: this function returns error messages which will not be easily
|
|
8
|
+
// localizable. Given this is only for use with the keyboards and
|
|
9
|
+
// lexical-models repositories, suggest we don't worry about this
|
|
10
|
+
// split input text into paragraphs, trimming whitespace
|
|
11
|
+
const text = license.split('\n').map(line => line.trim()).join('\n').split(/\n\s*\n/);
|
|
12
|
+
// MIT license, cleanup whitespace
|
|
13
|
+
const clauses = [
|
|
14
|
+
`The MIT License (MIT)`,
|
|
15
|
+
`Copyright ...`,
|
|
16
|
+
`Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
17
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
18
|
+
in the Software without restriction, including without limitation the rights
|
|
19
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
20
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
21
|
+
furnished to do so, subject to the following conditions:`,
|
|
22
|
+
`The above copyright notice and this permission notice shall be included in all
|
|
23
|
+
copies or substantial portions of the Software.`,
|
|
24
|
+
`THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
25
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
26
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
27
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
28
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
29
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
30
|
+
SOFTWARE.`
|
|
31
|
+
]
|
|
32
|
+
.map(clause => clause.split('\n').map(line => line.trim()).join(' '));
|
|
33
|
+
if (text.length < clauses.length) {
|
|
34
|
+
// not enough clauses in the file
|
|
35
|
+
return 'License is missing clauses from MIT license';
|
|
36
|
+
}
|
|
37
|
+
if (text.length > clauses.length) {
|
|
38
|
+
// too many clauses in the file
|
|
39
|
+
return 'License contains extra text';
|
|
40
|
+
}
|
|
41
|
+
for (let i = 0; i < clauses.length; i++) {
|
|
42
|
+
if (i == 1) {
|
|
43
|
+
// Clause 1 is the only one that can differ, and just with
|
|
44
|
+
// a copyright holder
|
|
45
|
+
if (!text[i].match(/^Copyright/)) {
|
|
46
|
+
// No Copyright clause
|
|
47
|
+
return `Clause 2 does not start with 'Copyright'`;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
const t0 = text[i].replaceAll(/\s+/g, ' ').trim();
|
|
52
|
+
const c0 = clauses[i].replaceAll(/\s+/g, ' ').trim();
|
|
53
|
+
if (t0 != c0) {
|
|
54
|
+
// Clause does not match
|
|
55
|
+
return `Clause ${i + 1} differs from MIT license`;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=validate-mit-license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-mit-license.js","sourceRoot":"","sources":["../../src/validate-mit-license.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,sEAAsE;IACtE,iEAAiE;IACjE,iEAAiE;IAEjE,wDAAwD;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEtF,kCAAkC;IAClC,MAAM,OAAO,GAAG;QACd,uBAAuB;QAEvB,eAAe;QAEf;;;;;6DAKyD;QAEzD;oDACgD;QAEhD;;;;;;cAMU;KACX;SACA,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAEtE,IAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE;QAC/B,iCAAiC;QACjC,OAAO,6CAA6C,CAAC;KACtD;IAED,IAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE;QAC/B,+BAA+B;QAC/B,OAAO,6BAA6B,CAAC;KACtC;IAED,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAG,CAAC,IAAI,CAAC,EAAE;YACT,0DAA0D;YAC1D,qBAAqB;YACrB,IAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;gBAC/B,sBAAsB;gBACtB,OAAO,0CAA0C,CAAC;aACnD;SACF;aAAM;YACL,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,IAAG,EAAE,IAAI,EAAE,EAAE;gBACX,wBAAwB;gBACxB,OAAO,UAAU,CAAC,GAAC,CAAC,2BAA2B,CAAC;aACjD;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../../../node_modules/typescript/lib/lib.es2022.full.d.ts","../src/validate-mit-license.ts","../index.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../../../../../../node_modules/@types/connect/index.d.ts","../../../../../../node_modules/@types/body-parser/index.d.ts","../../../../../../node_modules/keyv/src/index.d.ts","../../../../../../node_modules/@types/http-cache-semantics/index.d.ts","../../../../../../node_modules/@types/responselike/index.d.ts","../../../../../../node_modules/@types/cacheable-request/index.d.ts","../../../../../../node_modules/@types/chai/index.d.ts","../../../../../../node_modules/@types/component-emitter/index.d.ts","../../../../../../node_modules/@types/cookie/index.d.ts","../../../../../../node_modules/@types/cors/index.d.ts","../../../../../../node_modules/@types/range-parser/index.d.ts","../../../../../../node_modules/@types/qs/index.d.ts","../../../../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../../../../node_modules/@types/mime/index.d.ts","../../../../../../node_modules/@types/serve-static/index.d.ts","../../../../../../node_modules/@types/express/index.d.ts","../../../../../../node_modules/@types/git-diff/index.d.ts","../../../../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../../../../node_modules/@types/json-buffer/index.d.ts","../../../../../../node_modules/@types/json-schema/index.d.ts","../../../../../../node_modules/@types/json5/index.d.ts","../../../../../../node_modules/@types/keyv/index.d.ts","../../../../../../node_modules/@types/mocha/index.d.ts","../../../../../../node_modules/@types/multer/index.d.ts","../../../../../../node_modules/@types/semver/classes/semver.d.ts","../../../../../../node_modules/@types/semver/functions/parse.d.ts","../../../../../../node_modules/@types/semver/functions/valid.d.ts","../../../../../../node_modules/@types/semver/functions/clean.d.ts","../../../../../../node_modules/@types/semver/functions/inc.d.ts","../../../../../../node_modules/@types/semver/functions/diff.d.ts","../../../../../../node_modules/@types/semver/functions/major.d.ts","../../../../../../node_modules/@types/semver/functions/minor.d.ts","../../../../../../node_modules/@types/semver/functions/patch.d.ts","../../../../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../../../../node_modules/@types/semver/functions/compare.d.ts","../../../../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../../../../node_modules/@types/semver/functions/sort.d.ts","../../../../../../node_modules/@types/semver/functions/rsort.d.ts","../../../../../../node_modules/@types/semver/functions/gt.d.ts","../../../../../../node_modules/@types/semver/functions/lt.d.ts","../../../../../../node_modules/@types/semver/functions/eq.d.ts","../../../../../../node_modules/@types/semver/functions/neq.d.ts","../../../../../../node_modules/@types/semver/functions/gte.d.ts","../../../../../../node_modules/@types/semver/functions/lte.d.ts","../../../../../../node_modules/@types/semver/functions/cmp.d.ts","../../../../../../node_modules/@types/semver/functions/coerce.d.ts","../../../../../../node_modules/@types/semver/classes/comparator.d.ts","../../../../../../node_modules/@types/semver/classes/range.d.ts","../../../../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../../../../node_modules/@types/semver/ranges/valid.d.ts","../../../../../../node_modules/@types/semver/ranges/outside.d.ts","../../../../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../../../../node_modules/@types/semver/ranges/subset.d.ts","../../../../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../../../../node_modules/@types/semver/index.d.ts","../../../../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../../../../node_modules/@types/sinon/index.d.ts","../../../../../../node_modules/@types/sinon-chai/index.d.ts","../../../../../../node_modules/@types/ws/index.d.ts","../../../../../../node_modules/@types/xml2js/lib/processors.d.ts","../../../../../../node_modules/@types/xml2js/index.d.ts","../../../../../../node_modules/@types/yargs-parser/index.d.ts","../../../../../../node_modules/@types/yargs/index.d.ts","../../../../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","impliedFormat":1},{"version":"d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","impliedFormat":1},{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true,"impliedFormat":1},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true,"impliedFormat":1},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true,"impliedFormat":1},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c339adcd35b01e3115c7ebe980b935b30093ac2dbe46dff36fed112e462afd2","impliedFormat":1},{"version":"e1d6f32f202e8ea8af54bead8001f5966843c7cda8847603025f0ee44b07668c","signature":"caeb91290d5a945ae4b5207a3cf3027c62207806db3394194222e25fe601c204","impliedFormat":99},{"version":"8dcb8f5a78ce19bafbf93f4097887b70522a2e9ffd46c4979d6f8e98f3d98447","signature":"ac26d411713ef479893cff571930c66b54dd33124820ecd1ddca1ccebd945fa0","impliedFormat":99},{"version":"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"d32f90e6cf32e99c86009b5f79fa50bc750fe54e17137d9bb029c377a2822ee2","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228","impliedFormat":1},{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true,"impliedFormat":1},{"version":"3dd49afd822c82b63b3905a13e22240f34cf367aea4f4dd0e6564f4bddcb8370","impliedFormat":1},{"version":"57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050","impliedFormat":1},{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","impliedFormat":1},{"version":"93db4c949a785a3dbef7f5e08523be538e468c580dd276178b818e761b3b68cd","impliedFormat":1},{"version":"5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","impliedFormat":1},{"version":"be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","impliedFormat":1},{"version":"8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","impliedFormat":1},{"version":"1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e335a70826a634c5a1a1fa36a2dacbf3712ef2be7a517540ae1de8a1e8ea4f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"576115ea69691c96f8f2b9fcfde5d0fb9b5f047dfa7dec242ebc08694c3b3190","impliedFormat":1},{"version":"df8529626079d6f9d5d3cd7b6fb7db9cda5a3118d383d8cd46c52aadb59593e7","impliedFormat":1},{"version":"55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","impliedFormat":1},{"version":"3122a3f1136508a27a229e0e4e2848299028300ffa11d0cdfe99df90c492fe20","impliedFormat":1},{"version":"42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","impliedFormat":1},{"version":"d0cc270398605df704892142947b7b90e7b0ae354523dd2e1ae9a185a06440e7","impliedFormat":1},{"version":"0066ebbd0f4ef9656983a2017969afa6460879e894ebaf6f2969631ad9b5b430","affectsGlobalScope":true,"impliedFormat":1},{"version":"fe6dba0e8c69f2b244e3da38e53dd2cc9e51b2543e647e805396af73006613f7","impliedFormat":1},{"version":"5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","impliedFormat":1},{"version":"3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d","impliedFormat":1},{"version":"5810080a0da989a944d3b691b7b479a4a13c75947fb538abb8070710baa5ccee","affectsGlobalScope":true,"impliedFormat":1},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","impliedFormat":1},{"version":"e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","impliedFormat":1},{"version":"a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","impliedFormat":1},{"version":"c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","impliedFormat":1},{"version":"898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","impliedFormat":1},{"version":"8904e5b670bbfc712dda607853de9227206e7dad93ac97109fe30875c5f12b78","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270","impliedFormat":1},{"version":"a54ee34c2cc03ec4bbf0c9b10a08b9f909a21b3314f90a743de7b12b85867cef","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a985c7d30aea82342d5017730b546bb2b734fe37a2684ca55d4734deb019d58","affectsGlobalScope":true,"impliedFormat":1},{"version":"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","impliedFormat":1},{"version":"5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","impliedFormat":1},{"version":"812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","impliedFormat":1},{"version":"993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661","impliedFormat":1},{"version":"4d06f3abc2a6aae86f1be39e397372f74fb6e7964f594d645926b4a3419cc15d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","impliedFormat":1},{"version":"5ba5b760345053acdf5beb1a9048ff43a51373f3d87849963779c1711ea7cbcc","impliedFormat":1},{"version":"16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b","impliedFormat":1},{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4905d61a3e1e9b12e12dbf8660fc8d2f085734da6da8d725f395bf41a04853d6","impliedFormat":1},{"version":"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","impliedFormat":1},{"version":"afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","impliedFormat":1},{"version":"cd71905370ede696577acc23c695181e618a7d08616b1d06b43d3e6a12880fab","impliedFormat":1},{"version":"cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","impliedFormat":1},{"version":"3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","impliedFormat":1},{"version":"f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","impliedFormat":1},{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true,"impliedFormat":1},{"version":"567a315b240a060518c532d38a46803b6d35e75dc14a9be435b6dc20c816741e","impliedFormat":1},{"version":"117ffeecf6c55e25b6446f449ad079029b5e7317399b0a693858faaaea5ca73e","impliedFormat":1},{"version":"6fbd58e4015b9ae31ea977d4d549eb24a1102cc798b57ec5d70868b542c06612","impliedFormat":1},{"version":"16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","impliedFormat":1},{"version":"ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","impliedFormat":1},{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true,"impliedFormat":1},{"version":"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","impliedFormat":1},{"version":"0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","impliedFormat":1},{"version":"15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","impliedFormat":1},{"version":"71f1e965980d8edbd2c905f35c4341c2e86afc6f9b1d105342db2f6a85876089","impliedFormat":1},{"version":"8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","impliedFormat":1},{"version":"75bdc1b420f0ffc6cc6fd0b6694d89f5072bf755b4e6c7e65a2fda797ca0bb8a","impliedFormat":1},{"version":"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","impliedFormat":1},{"version":"f24768499dab9a34c0aff9c9e3fbfe5117001bfabba4a1db01a17df086d6a606","affectsGlobalScope":true,"impliedFormat":1},{"version":"3ee881b5584c5718935e6fe1fc1080b997682a3c8bebd17d51dccfd41c3e7da6","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","impliedFormat":1},{"version":"2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","impliedFormat":1},{"version":"42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","impliedFormat":1},{"version":"d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","impliedFormat":1},{"version":"77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","impliedFormat":1},{"version":"7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","impliedFormat":1},{"version":"906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","impliedFormat":1},{"version":"5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","impliedFormat":1},{"version":"c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","impliedFormat":1},{"version":"e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","impliedFormat":1},{"version":"e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","impliedFormat":1},{"version":"9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","impliedFormat":1},{"version":"0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","impliedFormat":1},{"version":"71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","impliedFormat":1},{"version":"c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","impliedFormat":1},{"version":"2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","impliedFormat":1},{"version":"479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","impliedFormat":1},{"version":"ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","impliedFormat":1},{"version":"f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","impliedFormat":1},{"version":"86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","impliedFormat":1},{"version":"2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","impliedFormat":1},{"version":"a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","impliedFormat":1},{"version":"b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","impliedFormat":1},{"version":"61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","impliedFormat":1},{"version":"6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","impliedFormat":1},{"version":"c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","impliedFormat":1},{"version":"38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","impliedFormat":1},{"version":"d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","impliedFormat":1},{"version":"3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","impliedFormat":1},{"version":"b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","impliedFormat":1},{"version":"f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","impliedFormat":1},{"version":"843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","impliedFormat":1},{"version":"f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","impliedFormat":1},{"version":"6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","impliedFormat":1},{"version":"e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","impliedFormat":1},{"version":"a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","impliedFormat":1},{"version":"a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","impliedFormat":1},{"version":"da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","impliedFormat":1},{"version":"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","impliedFormat":1},{"version":"354abbae08f72ea982b1a767a8908f1b3efe8bbe53955c64f9c0c249c8832d5d","impliedFormat":1},{"version":"4f0ad52a7fbd6bfba88ec22ec719b6956a0fc647030462f9db490e74236d116f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4358a89fcd9c579f84a6c68e2ce44ca91b07e4db3f8f403c2b7a72c1a1e04b6","impliedFormat":1},{"version":"c0288f54de6f544706a3150c8b579b1a975870695c4be866f727ece6a16f3976","impliedFormat":1},{"version":"f68e56efa9fc1fbdfac28bf07b5b1061161d243f4d9616d1606ce880e2d9d8c4","impliedFormat":1},{"version":"75fa6a9be075402ea969c1fcec4bb1421f72efbc3e2f340032684cdd3115197c","impliedFormat":1},{"version":"2eae2c50864a720fad05e116a0121a6ee6b6231266763c75d1f3503ddc22714a","impliedFormat":1},{"version":"b2d70a269840a9528db473ac7565442434333a05c1f66801a7a672e82beb903e","impliedFormat":1}],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"module":7,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"outDir":"./","rootDir":"..","sourceMap":true,"strictBindCallApply":true,"strictFunctionTypes":true,"target":9},"fileIdsList":[[59,107],[61,107],[64,107],[65,70,98,107],[66,77,78,85,95,106,107],[66,67,77,85,107],[68,107],[69,70,78,86,107],[70,95,103,107],[71,73,77,85,107],[72,107],[73,74,107],[77,107],[75,77,107],[77,78,79,95,106,107],[77,78,79,92,95,98,107],[107,111],[107],[73,77,80,85,95,106,107],[77,78,80,81,85,95,103,106,107],[80,82,95,103,106,107],[61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113],[77,83,107],[84,106,107,111],[73,77,85,95,107],[86,107],[87,107],[64,88,107],[89,105,107,111],[90,107],[91,107],[77,92,93,107],[92,94,107,109],[65,77,95,96,97,98,107],[65,95,97,107],[95,96,107],[98,107],[99,107],[64,95,107],[77,101,102,107],[101,102,107],[70,85,95,103,107],[104,107],[85,105,107],[65,80,91,106,107],[70,107],[95,107,108],[84,107,109],[107,110],[65,70,77,79,88,95,106,107,109,111],[95,107,112],[80,107,114,115],[77,80,106,107,114,117,118,119],[80,107,114],[80,107],[77,80,107,114,125,126],[107,116,126,127,129],[77,107,114],[95,107,130],[80,95,107,114],[107,139,178],[107,139,163,178],[107,178],[107,139],[107,139,164,178],[107,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],[107,164,178],[80,107,114,128],[107,121,180],[107,179],[77,80,82,95,103,106,107,112,114],[77,107,114,183],[107,185],[77,95,107,114],[59]],"referencedMap":[[60,1],[61,2],[62,2],[64,3],[65,4],[66,5],[67,6],[68,7],[69,8],[70,9],[71,10],[72,11],[73,12],[74,12],[76,13],[75,14],[77,13],[78,15],[79,16],[63,17],[113,18],[80,19],[81,20],[82,21],[114,22],[83,23],[84,24],[85,25],[86,26],[87,27],[88,28],[89,29],[90,30],[91,31],[92,32],[93,32],[94,33],[95,34],[97,35],[96,36],[98,37],[99,38],[100,39],[101,40],[102,41],[103,42],[104,43],[105,44],[106,45],[107,46],[108,47],[109,48],[110,49],[111,50],[112,51],[59,18],[116,52],[120,53],[121,18],[122,18],[115,54],[123,18],[124,55],[127,56],[130,57],[131,18],[118,18],[132,18],[133,18],[134,18],[135,18],[136,58],[128,18],[137,18],[138,59],[126,18],[125,18],[119,60],[163,61],[164,62],[139,63],[142,63],[161,61],[162,61],[152,61],[151,64],[149,61],[144,61],[157,61],[155,61],[159,61],[143,61],[156,61],[160,61],[145,61],[146,61],[158,61],[140,61],[147,61],[148,61],[150,61],[154,61],[165,65],[153,61],[141,61],[178,66],[177,18],[172,65],[174,67],[173,65],[166,65],[167,65],[169,65],[171,65],[175,67],[176,67],[168,67],[170,67],[129,68],[181,69],[180,70],[179,18],[182,71],[184,72],[183,18],[185,18],[186,73],[187,74],[117,13],[10,18],[11,18],[15,18],[14,18],[2,18],[16,18],[17,18],[18,18],[19,18],[20,18],[21,18],[22,18],[23,18],[3,18],[4,18],[27,18],[24,18],[25,18],[26,18],[28,18],[29,18],[30,18],[5,18],[31,18],[32,18],[33,18],[34,18],[6,18],[38,18],[35,18],[36,18],[37,18],[39,18],[7,18],[40,18],[45,18],[46,18],[41,18],[42,18],[43,18],[44,18],[8,18],[50,18],[47,18],[48,18],[49,18],[51,18],[9,18],[52,18],[58,18],[53,18],[54,18],[55,18],[56,18],[1,18],[57,18],[13,18],[12,18]],"exportedModulesMap":[[60,75],[61,2],[62,2],[64,3],[65,4],[66,5],[67,6],[68,7],[69,8],[70,9],[71,10],[72,11],[73,12],[74,12],[76,13],[75,14],[77,13],[78,15],[79,16],[63,17],[113,18],[80,19],[81,20],[82,21],[114,22],[83,23],[84,24],[85,25],[86,26],[87,27],[88,28],[89,29],[90,30],[91,31],[92,32],[93,32],[94,33],[95,34],[97,35],[96,36],[98,37],[99,38],[100,39],[101,40],[102,41],[103,42],[104,43],[105,44],[106,45],[107,46],[108,47],[109,48],[110,49],[111,50],[112,51],[116,52],[120,53],[121,18],[122,18],[115,54],[123,18],[124,55],[127,56],[130,57],[131,18],[118,18],[132,18],[133,18],[134,18],[135,18],[136,58],[128,18],[137,18],[138,59],[126,18],[125,18],[119,60],[163,61],[164,62],[139,63],[142,63],[161,61],[162,61],[152,61],[151,64],[149,61],[144,61],[157,61],[155,61],[159,61],[143,61],[156,61],[160,61],[145,61],[146,61],[158,61],[140,61],[147,61],[148,61],[150,61],[154,61],[165,65],[153,61],[141,61],[178,66],[177,18],[172,65],[174,67],[173,65],[166,65],[167,65],[169,65],[171,65],[175,67],[176,67],[168,67],[170,67],[129,68],[181,69],[180,70],[179,18],[182,71],[184,72],[183,18],[185,18],[186,73],[187,74],[117,13],[10,18],[11,18],[15,18],[14,18],[2,18],[16,18],[17,18],[18,18],[19,18],[20,18],[21,18],[22,18],[23,18],[3,18],[4,18],[27,18],[24,18],[25,18],[26,18],[28,18],[29,18],[30,18],[5,18],[31,18],[32,18],[33,18],[34,18],[6,18],[38,18],[35,18],[36,18],[37,18],[39,18],[7,18],[40,18],[45,18],[46,18],[41,18],[42,18],[43,18],[44,18],[8,18],[50,18],[47,18],[48,18],[49,18],[51,18],[9,18],[52,18],[58,18],[53,18],[54,18],[55,18],[56,18],[1,18],[57,18],[13,18],[12,18]],"semanticDiagnosticsPerFile":[60,61,62,64,65,66,67,68,69,70,71,72,73,74,76,75,77,78,79,63,113,80,81,82,114,83,84,85,86,87,88,89,90,91,92,93,94,95,97,96,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,59,116,120,121,122,115,123,124,127,130,131,118,132,133,134,135,136,128,137,138,126,125,119,163,164,139,142,161,162,152,151,149,144,157,155,159,143,156,160,145,146,158,140,147,148,150,154,165,153,141,178,177,172,174,173,166,167,169,171,175,176,168,170,129,181,180,179,182,184,183,185,186,187,117,10,11,15,14,2,16,17,18,19,20,21,22,23,3,4,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,58,53,54,55,56,1,57,13,12],"latestChangedDtsFile":"./index.d.ts"},"version":"4.9.5"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@keymanapp/developer-utils",
|
|
3
|
+
"private": true,
|
|
4
|
+
"description": "Keyman Developer utilities",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": "./build/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"/build/"
|
|
11
|
+
],
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"@types/node": "^20.4.1",
|
|
14
|
+
"ts-node": "^9.1.1",
|
|
15
|
+
"typescript": "^4.9.5",
|
|
16
|
+
"c8": "^7.12.0",
|
|
17
|
+
"chai": "^4.3.4",
|
|
18
|
+
"mocha": "^8.4.0"
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc -b"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@keymanapp/common-types": "17.0.190-alpha"
|
|
25
|
+
},
|
|
26
|
+
"mocha": {
|
|
27
|
+
"spec": "build/test/**/test-*.js",
|
|
28
|
+
"require": [
|
|
29
|
+
"source-map-support/register"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"version": "17.0.190-alpha"
|
|
33
|
+
}
|
package/package.json
CHANGED
|
@@ -31,14 +31,17 @@
|
|
|
31
31
|
"url": "https://github.com/keymanapp/keyman/issues"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@keymanapp/common-types": "17.0.
|
|
35
|
-
"@keymanapp/models-types": "17.0.
|
|
34
|
+
"@keymanapp/common-types": "17.0.190-alpha",
|
|
35
|
+
"@keymanapp/models-types": "17.0.190-alpha",
|
|
36
|
+
"@keymanapp/developer-utils": "17.0.190-alpha"
|
|
36
37
|
},
|
|
38
|
+
"bundleDependencies": [
|
|
39
|
+
"@keymanapp/developer-utils"
|
|
40
|
+
],
|
|
37
41
|
"devDependencies": {
|
|
38
42
|
"@types/chai": "^4.1.7",
|
|
39
43
|
"@types/mocha": "^5.2.7",
|
|
40
44
|
"@types/node": "^20.4.1",
|
|
41
|
-
"@types/xml2js": "^0.4.5",
|
|
42
45
|
"c8": "^7.12.0",
|
|
43
46
|
"chai": "^4.3.4",
|
|
44
47
|
"chalk": "^2.4.2",
|
|
@@ -56,5 +59,5 @@
|
|
|
56
59
|
"type": "git",
|
|
57
60
|
"url": "git+https://github.com/keymanapp/keyman.git"
|
|
58
61
|
},
|
|
59
|
-
"version": "17.0.
|
|
62
|
+
"version": "17.0.190-alpha"
|
|
60
63
|
}
|