@keymanapp/kmc-model-info 17.0.283-beta → 17.0.284-beta
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/model-info-compiler-messages.d.ts +3 -0
- package/build/src/model-info-compiler-messages.d.ts.map +1 -1
- package/build/src/model-info-compiler-messages.js +5 -2
- package/build/src/model-info-compiler-messages.js.map +1 -1
- package/build/src/model-info-compiler.d.ts +67 -5
- package/build/src/model-info-compiler.d.ts.map +1 -1
- package/build/src/model-info-compiler.js +47 -7
- package/build/src/model-info-compiler.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-info-compiler-messages.d.ts","sourceRoot":"","sources":["../../src/model-info-compiler-messages.ts"],"names":[],"mappings":"AASA,qBAAa,yBAAyB;IACpC,MAAM,CAAC,yBAAyB,SAAqB;IACrD,MAAM,CAAC,yBAAyB,MAAM;QAAC,CAAC,EAAE,GAAG,CAAA;KAAC,qDAAoG;IAElJ,MAAM,CAAC,sBAAsB,SAAqB;IAClD,MAAM,CAAC,sBAAsB,MAAM;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,qDAA+E;IAEpI,MAAM,CAAC,oBAAoB,SAAqB;IAChD,MAAM,CAAC,oBAAoB,MAAM;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,GAAG,CAAA;KAAC,qDAC+B;IAE1F,MAAM,CAAC,8BAA8B,SAAoB;IACzD,MAAM,CAAC,8BAA8B,MAAM;QAAC,KAAK,EAAC,MAAM,CAAC;QAAC,KAAK,EAAC,GAAG,CAAC;QAAC,QAAQ,EAAC,GAAG,CAAA;KAAC,qDAC6C;IAE/H,MAAM,CAAC,wBAAwB,SAAqB;IACpD,MAAM,CAAC,wBAAwB,MAAM;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,qDACR;IAE3C,MAAM,CAAC,0BAA0B,SAAqB;IACtD,MAAM,CAAC,0BAA0B,MAAM;QAAC,QAAQ,EAAC,MAAM,CAAA;KAAC,qDACH;IAErD,MAAM,CAAC,0BAA0B,SAAqB;IACtD,MAAM,CAAC,0BAA0B,MAAM;QAAC,QAAQ,EAAC,MAAM,CAAA;KAAC,qDACa;IAErE,MAAM,CAAC,uBAAuB,SAAqB;IACnD,MAAM,CAAC,uBAAuB,MAAM;QAAC,QAAQ,EAAC,MAAM,CAAC;QAAA,OAAO,EAAC,MAAM,CAAA;KAAC,qDACsB;IAE1F,MAAM,CAAC,oBAAoB,SAAqB;IAChD,MAAM,CAAC,oBAAoB,wDAC2F;CACvH"}
|
|
1
|
+
{"version":3,"file":"model-info-compiler-messages.d.ts","sourceRoot":"","sources":["../../src/model-info-compiler-messages.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,qBAAa,yBAAyB;IACpC,MAAM,CAAC,yBAAyB,SAAqB;IACrD,MAAM,CAAC,yBAAyB,MAAM;QAAC,CAAC,EAAE,GAAG,CAAA;KAAC,qDAAoG;IAElJ,MAAM,CAAC,sBAAsB,SAAqB;IAClD,MAAM,CAAC,sBAAsB,MAAM;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,qDAA+E;IAEpI,MAAM,CAAC,oBAAoB,SAAqB;IAChD,MAAM,CAAC,oBAAoB,MAAM;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,GAAG,CAAA;KAAC,qDAC+B;IAE1F,MAAM,CAAC,8BAA8B,SAAoB;IACzD,MAAM,CAAC,8BAA8B,MAAM;QAAC,KAAK,EAAC,MAAM,CAAC;QAAC,KAAK,EAAC,GAAG,CAAC;QAAC,QAAQ,EAAC,GAAG,CAAA;KAAC,qDAC6C;IAE/H,MAAM,CAAC,wBAAwB,SAAqB;IACpD,MAAM,CAAC,wBAAwB,MAAM;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,qDACR;IAE3C,MAAM,CAAC,0BAA0B,SAAqB;IACtD,MAAM,CAAC,0BAA0B,MAAM;QAAC,QAAQ,EAAC,MAAM,CAAA;KAAC,qDACH;IAErD,MAAM,CAAC,0BAA0B,SAAqB;IACtD,MAAM,CAAC,0BAA0B,MAAM;QAAC,QAAQ,EAAC,MAAM,CAAA;KAAC,qDACa;IAErE,MAAM,CAAC,uBAAuB,SAAqB;IACnD,MAAM,CAAC,uBAAuB,MAAM;QAAC,QAAQ,EAAC,MAAM,CAAC;QAAA,OAAO,EAAC,MAAM,CAAA;KAAC,qDACsB;IAE1F,MAAM,CAAC,oBAAoB,SAAqB;IAChD,MAAM,CAAC,oBAAoB,wDAC2F;CACvH"}
|
|
@@ -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]="d9cea1f9-b8d3-5503-8238-b8a3eba7c24f")}catch(e){}}();
|
|
2
2
|
import { CompilerErrorNamespace, CompilerErrorSeverity, CompilerMessageSpec as m, CompilerMessageDef as def, CompilerMessageSpecWithException } from "@keymanapp/common-types";
|
|
3
3
|
const Namespace = CompilerErrorNamespace.ModelInfoCompiler;
|
|
4
4
|
// const SevInfo = CompilerErrorSeverity.Info | Namespace;
|
|
@@ -6,6 +6,9 @@ const Namespace = CompilerErrorNamespace.ModelInfoCompiler;
|
|
|
6
6
|
const SevWarn = CompilerErrorSeverity.Warn | Namespace;
|
|
7
7
|
const SevError = CompilerErrorSeverity.Error | Namespace;
|
|
8
8
|
const SevFatal = CompilerErrorSeverity.Fatal | Namespace;
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
9
12
|
export class ModelInfoCompilerMessages {
|
|
10
13
|
static FATAL_UnexpectedException = SevFatal | 0x0001;
|
|
11
14
|
static Fatal_UnexpectedException = (o) => CompilerMessageSpecWithException(this.FATAL_UnexpectedException, null, o.e ?? 'unknown error');
|
|
@@ -26,5 +29,5 @@ export class ModelInfoCompilerMessages {
|
|
|
26
29
|
static ERROR_NoLicenseFound = SevError | 0x0009;
|
|
27
30
|
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.`);
|
|
28
31
|
}
|
|
29
|
-
//# debugId=
|
|
32
|
+
//# debugId=d9cea1f9-b8d3-5503-8238-b8a3eba7c24f
|
|
30
33
|
//# sourceMappingURL=model-info-compiler-messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"debug_id":"
|
|
1
|
+
{"debug_id":"d9cea1f9-b8d3-5503-8238-b8a3eba7c24f","file":"model-info-compiler-messages.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../src/model-info-compiler-messages.ts"],"version":3}
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
* compiled files to produce a comprehensive .model_info file.
|
|
4
4
|
*/
|
|
5
5
|
import { CompilerCallbacks, CompilerOptions, KeymanCompiler, KeymanCompilerArtifact, KeymanCompilerArtifacts, KeymanCompilerResult, KmpJsonFile } from "@keymanapp/common-types";
|
|
6
|
+
/**
|
|
7
|
+
* @public
|
|
8
|
+
* Description of sources and metadata required to build a .model_info file
|
|
9
|
+
*/
|
|
6
10
|
export declare class ModelInfoSources {
|
|
7
11
|
/** The identifier for the model */
|
|
8
12
|
model_id: string;
|
|
@@ -21,29 +25,87 @@ export declare class ModelInfoSources {
|
|
|
21
25
|
/** Return an error if project does not meet requirements of lexical-models repository */
|
|
22
26
|
forPublishing: boolean;
|
|
23
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* @public
|
|
30
|
+
* Options for the .model_info compiler
|
|
31
|
+
*/
|
|
24
32
|
export interface ModelInfoCompilerOptions extends CompilerOptions {
|
|
33
|
+
/**
|
|
34
|
+
* Description of sources and metadata required to build a .model_info file
|
|
35
|
+
*/
|
|
25
36
|
sources: ModelInfoSources;
|
|
26
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* @public
|
|
40
|
+
* Internal in-memory build artifacts from a successful compilation
|
|
41
|
+
*/
|
|
27
42
|
export interface ModelInfoCompilerArtifacts extends KeymanCompilerArtifacts {
|
|
43
|
+
/**
|
|
44
|
+
* Binary model info filedata and filename - used by keyman.com
|
|
45
|
+
*/
|
|
28
46
|
model_info: KeymanCompilerArtifact;
|
|
29
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* @public
|
|
50
|
+
* Build artifacts from the .model_info compiler
|
|
51
|
+
*/
|
|
30
52
|
export interface ModelInfoCompilerResult extends KeymanCompilerResult {
|
|
53
|
+
/**
|
|
54
|
+
* Internal in-memory build artifacts from a successful compilation. Caller
|
|
55
|
+
* can write these to disk with {@link ModelInfoCompiler.write}
|
|
56
|
+
*/
|
|
31
57
|
artifacts: ModelInfoCompilerArtifacts;
|
|
32
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* @public
|
|
61
|
+
* Compiles source data from a lexical model project to a .model_info. The
|
|
62
|
+
* compiler does not read or write from filesystem or network directly, but
|
|
63
|
+
* relies on callbacks for all external IO.
|
|
64
|
+
*/
|
|
33
65
|
export declare class ModelInfoCompiler implements KeymanCompiler {
|
|
34
66
|
private callbacks;
|
|
35
67
|
private options;
|
|
36
68
|
constructor();
|
|
69
|
+
/**
|
|
70
|
+
* Initialize the compiler.
|
|
71
|
+
* Copies options.
|
|
72
|
+
* @param callbacks - Callbacks for external interfaces, including message
|
|
73
|
+
* reporting and file io
|
|
74
|
+
* @param options - Compiler options
|
|
75
|
+
* @returns false if initialization fails
|
|
76
|
+
*/
|
|
37
77
|
init(callbacks: CompilerCallbacks, options: ModelInfoCompilerOptions): Promise<boolean>;
|
|
38
78
|
/**
|
|
39
|
-
* Builds .model_info file with metadata from the model and package source
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
79
|
+
* Builds .model_info file with metadata from the model and package source
|
|
80
|
+
* file. Returns an object containing binary artifacts on success. The files
|
|
81
|
+
* are passed in by name, and the compiler will use callbacks as passed to the
|
|
82
|
+
* {@link ModelInfoCompiler.init} function to read any input files by disk.
|
|
43
83
|
*
|
|
44
|
-
*
|
|
84
|
+
* This function is intended for use within the lexical-models repository.
|
|
85
|
+
* While many of the parameters could be deduced from each other, they are
|
|
86
|
+
* specified here to reduce the number of places the filenames are
|
|
87
|
+
* constructed.
|
|
88
|
+
*
|
|
89
|
+
* @param infile - Path to source file. Path will be parsed to find relative
|
|
90
|
+
* references in the .kpj file, such as .model.ts or
|
|
91
|
+
* .model.kps file
|
|
92
|
+
* @param outfile - Path to output file. The file will not be written to, but
|
|
93
|
+
* will be included in the result for use by
|
|
94
|
+
* {@link ModelInfoCompiler.write}.
|
|
95
|
+
* @returns Binary artifacts on success, null on failure.
|
|
96
|
+
*
|
|
97
|
+
* @param sources - Details on files from which to extract additional metadata
|
|
45
98
|
*/
|
|
46
99
|
run(inputFilename: string, outputFilename?: string): Promise<ModelInfoCompilerResult>;
|
|
100
|
+
/**
|
|
101
|
+
* Write artifacts from a successful compile to disk, via callbacks methods.
|
|
102
|
+
* The artifacts written may include:
|
|
103
|
+
*
|
|
104
|
+
* - .model_info file - metadata file used by keyman.com
|
|
105
|
+
*
|
|
106
|
+
* @param artifacts - object containing artifact binary data to write out
|
|
107
|
+
* @returns true on success
|
|
108
|
+
*/
|
|
47
109
|
write(artifacts: ModelInfoCompilerArtifacts): Promise<boolean>;
|
|
48
110
|
private isLicenseMIT;
|
|
49
111
|
private loadJsFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-info-compiler.d.ts","sourceRoot":"","sources":["../../src/model-info-compiler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKjL,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,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,UAAU,EAAE,sBAAsB,CAAC;CACpC;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,SAAS,EAAE,0BAA0B,CAAC;CACvC;
|
|
1
|
+
{"version":3,"file":"model-info-compiler.d.ts","sourceRoot":"","sources":["../../src/model-info-compiler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKjL;;;GAGG;AACH,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;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE;;OAEG;IACH,UAAU,EAAE,sBAAsB,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE;;;OAGG;IACH,SAAS,EAAE,0BAA0B,CAAC;CACvC;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAA2B;;IAK1C;;;;;;;OAOG;IACU,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMpG;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoIlG;;;;;;;;OAQG;IACU,KAAK,CAAC,SAAS,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3E,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,UAAU;CASnB"}
|
|
@@ -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]="c1f01084-58ba-5447-93df-d09b57dafddd")}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.
|
|
@@ -7,6 +7,10 @@ import { minKeymanVersion } from "./min-keyman-version.js";
|
|
|
7
7
|
import { ModelInfoCompilerMessages } from "./model-info-compiler-messages.js";
|
|
8
8
|
import { KeymanUrls, validateMITLicense } from "@keymanapp/developer-utils";
|
|
9
9
|
/* c8 ignore start */
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
* Description of sources and metadata required to build a .model_info file
|
|
13
|
+
*/
|
|
10
14
|
export class ModelInfoSources {
|
|
11
15
|
/** The identifier for the model */
|
|
12
16
|
model_id;
|
|
@@ -29,23 +33,50 @@ export class ModelInfoSources {
|
|
|
29
33
|
;
|
|
30
34
|
;
|
|
31
35
|
;
|
|
36
|
+
/**
|
|
37
|
+
* @public
|
|
38
|
+
* Compiles source data from a lexical model project to a .model_info. The
|
|
39
|
+
* compiler does not read or write from filesystem or network directly, but
|
|
40
|
+
* relies on callbacks for all external IO.
|
|
41
|
+
*/
|
|
32
42
|
export class ModelInfoCompiler {
|
|
33
43
|
callbacks;
|
|
34
44
|
options;
|
|
35
45
|
constructor() {
|
|
36
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Initialize the compiler.
|
|
49
|
+
* Copies options.
|
|
50
|
+
* @param callbacks - Callbacks for external interfaces, including message
|
|
51
|
+
* reporting and file io
|
|
52
|
+
* @param options - Compiler options
|
|
53
|
+
* @returns false if initialization fails
|
|
54
|
+
*/
|
|
37
55
|
async init(callbacks, options) {
|
|
38
56
|
this.callbacks = callbacks;
|
|
39
57
|
this.options = { ...options };
|
|
40
58
|
return true;
|
|
41
59
|
}
|
|
42
60
|
/**
|
|
43
|
-
* Builds .model_info file with metadata from the model and package source
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
61
|
+
* Builds .model_info file with metadata from the model and package source
|
|
62
|
+
* file. Returns an object containing binary artifacts on success. The files
|
|
63
|
+
* are passed in by name, and the compiler will use callbacks as passed to the
|
|
64
|
+
* {@link ModelInfoCompiler.init} function to read any input files by disk.
|
|
47
65
|
*
|
|
48
|
-
*
|
|
66
|
+
* This function is intended for use within the lexical-models repository.
|
|
67
|
+
* While many of the parameters could be deduced from each other, they are
|
|
68
|
+
* specified here to reduce the number of places the filenames are
|
|
69
|
+
* constructed.
|
|
70
|
+
*
|
|
71
|
+
* @param infile - Path to source file. Path will be parsed to find relative
|
|
72
|
+
* references in the .kpj file, such as .model.ts or
|
|
73
|
+
* .model.kps file
|
|
74
|
+
* @param outfile - Path to output file. The file will not be written to, but
|
|
75
|
+
* will be included in the result for use by
|
|
76
|
+
* {@link ModelInfoCompiler.write}.
|
|
77
|
+
* @returns Binary artifacts on success, null on failure.
|
|
78
|
+
*
|
|
79
|
+
* @param sources - Details on files from which to extract additional metadata
|
|
49
80
|
*/
|
|
50
81
|
async run(inputFilename, outputFilename) {
|
|
51
82
|
const sources = this.options.sources;
|
|
@@ -151,6 +182,15 @@ export class ModelInfoCompiler {
|
|
|
151
182
|
};
|
|
152
183
|
return result;
|
|
153
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Write artifacts from a successful compile to disk, via callbacks methods.
|
|
187
|
+
* The artifacts written may include:
|
|
188
|
+
*
|
|
189
|
+
* - .model_info file - metadata file used by keyman.com
|
|
190
|
+
*
|
|
191
|
+
* @param artifacts - object containing artifact binary data to write out
|
|
192
|
+
* @returns true on success
|
|
193
|
+
*/
|
|
154
194
|
async write(artifacts) {
|
|
155
195
|
this.callbacks.fs.writeFileSync(artifacts.model_info.filename, artifacts.model_info.data);
|
|
156
196
|
return true;
|
|
@@ -190,5 +230,5 @@ export class ModelInfoCompiler {
|
|
|
190
230
|
return text;
|
|
191
231
|
}
|
|
192
232
|
}
|
|
193
|
-
//# debugId=
|
|
233
|
+
//# debugId=c1f01084-58ba-5447-93df-d09b57dafddd
|
|
194
234
|
//# sourceMappingURL=model-info-compiler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"debug_id":"
|
|
1
|
+
{"debug_id":"c1f01084-58ba-5447-93df-d09b57dafddd","file":"model-info-compiler.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../src/model-info-compiler.ts"],"version":3}
|
package/package.json
CHANGED
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"url": "https://github.com/keymanapp/keyman/issues"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@keymanapp/common-types": "17.0.
|
|
34
|
-
"@keymanapp/models-types": "17.0.
|
|
35
|
-
"@keymanapp/developer-utils": "17.0.
|
|
33
|
+
"@keymanapp/common-types": "17.0.284-beta",
|
|
34
|
+
"@keymanapp/models-types": "17.0.284-beta",
|
|
35
|
+
"@keymanapp/developer-utils": "17.0.284-beta"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/chai": "^4.1.7",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"type": "git",
|
|
56
56
|
"url": "git+https://github.com/keymanapp/keyman.git"
|
|
57
57
|
},
|
|
58
|
-
"version": "17.0.
|
|
58
|
+
"version": "17.0.284-beta"
|
|
59
59
|
}
|