@itwin/imodel-transformer 0.0.1-dev.0
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/LICENSE.md +9 -0
- package/README.md +33 -0
- package/lib/cjs/ECReferenceTypesCache.d.ts +37 -0
- package/lib/cjs/ECReferenceTypesCache.d.ts.map +1 -0
- package/lib/cjs/ECReferenceTypesCache.js +180 -0
- package/lib/cjs/ECReferenceTypesCache.js.map +1 -0
- package/lib/cjs/EntityMap.d.ts +26 -0
- package/lib/cjs/EntityMap.d.ts.map +1 -0
- package/lib/cjs/EntityMap.js +55 -0
- package/lib/cjs/EntityMap.js.map +1 -0
- package/lib/cjs/EntityUnifier.d.ts +16 -0
- package/lib/cjs/EntityUnifier.d.ts.map +1 -0
- package/lib/cjs/EntityUnifier.js +72 -0
- package/lib/cjs/EntityUnifier.js.map +1 -0
- package/lib/cjs/IModelCloneContext.d.ts +32 -0
- package/lib/cjs/IModelCloneContext.d.ts.map +1 -0
- package/lib/cjs/IModelCloneContext.js +195 -0
- package/lib/cjs/IModelCloneContext.js.map +1 -0
- package/lib/cjs/IModelExporter.d.ts +353 -0
- package/lib/cjs/IModelExporter.d.ts.map +1 -0
- package/lib/cjs/IModelExporter.js +804 -0
- package/lib/cjs/IModelExporter.js.map +1 -0
- package/lib/cjs/IModelImporter.d.ts +230 -0
- package/lib/cjs/IModelImporter.d.ts.map +1 -0
- package/lib/cjs/IModelImporter.js +591 -0
- package/lib/cjs/IModelImporter.js.map +1 -0
- package/lib/cjs/IModelTransformer.d.ts +499 -0
- package/lib/cjs/IModelTransformer.d.ts.map +1 -0
- package/lib/cjs/IModelTransformer.js +1357 -0
- package/lib/cjs/IModelTransformer.js.map +1 -0
- package/lib/cjs/PendingReferenceMap.d.ts +35 -0
- package/lib/cjs/PendingReferenceMap.d.ts.map +1 -0
- package/lib/cjs/PendingReferenceMap.js +81 -0
- package/lib/cjs/PendingReferenceMap.js.map +1 -0
- package/lib/cjs/TransformerLoggerCategory.d.ts +23 -0
- package/lib/cjs/TransformerLoggerCategory.d.ts.map +1 -0
- package/lib/cjs/TransformerLoggerCategory.js +31 -0
- package/lib/cjs/TransformerLoggerCategory.js.map +1 -0
- package/lib/cjs/transformer.d.ts +25 -0
- package/lib/cjs/transformer.d.ts.map +1 -0
- package/lib/cjs/transformer.js +77 -0
- package/lib/cjs/transformer.js.map +1 -0
- package/package.json +120 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
/*---------------------------------------------------------------------------------------------
|
|
14
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
15
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
16
|
+
*--------------------------------------------------------------------------------------------*/
|
|
17
|
+
__exportStar(require("./TransformerLoggerCategory"), exports);
|
|
18
|
+
__exportStar(require("./IModelExporter"), exports);
|
|
19
|
+
__exportStar(require("./IModelImporter"), exports);
|
|
20
|
+
__exportStar(require("./IModelTransformer"), exports);
|
|
21
|
+
const semver = require("semver");
|
|
22
|
+
const package_json_1 = require("@itwin/core-backend/package.json");
|
|
23
|
+
// must use an untyped require to not hoist src into lib/cjs, also the compiled output will be in 'lib/cjs', not 'src' so use `../..` to reach package.json
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
25
|
+
const { version: ourVersion, name: ourName, peerDependencies } = require("../../package.json");
|
|
26
|
+
const ourITwinCoreBackendDepRange = peerDependencies["@itwin/core-backend"];
|
|
27
|
+
if (!semver.satisfies(package_json_1.version, ourITwinCoreBackendDepRange)) {
|
|
28
|
+
const suggestEnvVarName = "SUGGEST_TRANSFORMER_VERSIONS";
|
|
29
|
+
const errHeader = `${ourName}@${ourVersion} only supports @itwin/core-backend@${ourITwinCoreBackendDepRange}, `
|
|
30
|
+
+ `but @itwin/core-backend${package_json_1.version} was resolved when looking for the peer dependency.\n`;
|
|
31
|
+
if (process.env[suggestEnvVarName]) {
|
|
32
|
+
// let's not import https except in this case
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
34
|
+
const https = require("https");
|
|
35
|
+
https.get(`https://registry.npmjs.org/${ourName}`, async (resp) => {
|
|
36
|
+
const chunks = [];
|
|
37
|
+
const packumentSrc = await new Promise((r) => resp.setEncoding("utf8").on("data", (d) => chunks.push(d)).on("end", () => r(chunks.join(""))));
|
|
38
|
+
const packumentJson = JSON.parse(packumentSrc);
|
|
39
|
+
const isTaglessVersion = (version) => version.includes("-");
|
|
40
|
+
const latestFirstApplicableVersions = Object.entries(packumentJson.versions)
|
|
41
|
+
.filter(([, v]) => { var _a, _b; return semver.satisfies(package_json_1.version, (_b = (_a = v.peerDependencies) === null || _a === void 0 ? void 0 : _a["@itwin/core-backend"]) !== null && _b !== void 0 ? _b : ""); })
|
|
42
|
+
.map(([k]) => k)
|
|
43
|
+
.filter(isTaglessVersion)
|
|
44
|
+
.reverse();
|
|
45
|
+
throw Error([
|
|
46
|
+
errHeader,
|
|
47
|
+
`You have ${suggestEnvVarName}=1 set in the environment, so we suggest one of the following versions.\n`,
|
|
48
|
+
`Be aware that older versions may be missing bug fixes.\n`,
|
|
49
|
+
latestFirstApplicableVersions.join("\n"),
|
|
50
|
+
].join(""));
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
throw Error(`${errHeader} You can rerun with the environment variable ${suggestEnvVarName}=1 to have this error suggest a version`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** @docs-package-description
|
|
58
|
+
* The @itwin/imodel-transformer package contains classes that [backend code]($docs/learning/backend/index.md) can use to
|
|
59
|
+
* traverse iModels, as well as *transform* an iModel into another existing or empty one, by exporting elements from one during
|
|
60
|
+
* traversal and importing them into another.
|
|
61
|
+
*
|
|
62
|
+
* You can read further in [iModelTransformation and Data Exchange]($docs/learning/transformer/index.md) here.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* @docs-group-description iModels
|
|
66
|
+
* Classes for working with [iModels]($docs/learning/iModels.md).
|
|
67
|
+
* See [the learning article]($docs/learning/backend/index.md).
|
|
68
|
+
*/
|
|
69
|
+
/**
|
|
70
|
+
* @docs-group-description Utils
|
|
71
|
+
* Miscellaneous utility classes.
|
|
72
|
+
*/
|
|
73
|
+
/**
|
|
74
|
+
* @docs-group-description Logging
|
|
75
|
+
* Logger categories used by this package.
|
|
76
|
+
*/
|
|
77
|
+
//# sourceMappingURL=transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../src/transformer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,8DAA4C;AAC5C,mDAAiC;AACjC,mDAAiC;AACjC,sDAAoC;AAEpC,iCAAiC;AACjC,mEAAsF;AAEtF,2JAA2J;AAC3J,8DAA8D;AAC9D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE/F,MAAM,2BAA2B,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;AAE5E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAuB,EAAE,2BAA2B,CAAC,EAAE;IAC3E,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;IAEzD,MAAM,SAAS,GACb,GAAG,OAAO,IAAI,UAAU,sCAAsC,2BAA2B,IAAI;UAC3F,0BAA0B,sBAAuB,uDAAuD,CAAC;IAE7G,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;QAClC,6CAA6C;QAC7C,8DAA8D;QAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAA2B,CAAC;QACzD,KAAK,CAAC,GAAG,CAAC,8BAA8B,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAChE,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAItJ,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAoB,CAAC;YAClE,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACpE,MAAM,6BAA6B,GAC/B,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;iBACrC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,MAAM,CAAC,SAAS,CAAC,sBAAuB,EAAE,MAAA,MAAA,CAAC,CAAC,gBAAgB,0CAAG,qBAAqB,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC;iBAC9G,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;iBACf,MAAM,CAAC,gBAAgB,CAAC;iBACxB,OAAO,EAAE,CAAC;YAEf,MAAM,KAAK,CAAC;gBACV,SAAS;gBACT,YAAY,iBAAiB,2EAA2E;gBACxG,0DAA0D;gBAC1D,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;aACzC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,KAAK,CACT,GAAG,SAAS,gDAAgD,iBAAiB,yCAAyC,CACvH,CAAC;KACH;CACF;AAED;;;;;;GAMG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nexport * from \"./TransformerLoggerCategory\";\nexport * from \"./IModelExporter\";\nexport * from \"./IModelImporter\";\nexport * from \"./IModelTransformer\";\n\nimport * as semver from \"semver\";\nimport { version as iTwinCoreBackendVersion } from \"@itwin/core-backend/package.json\";\n\n// must use an untyped require to not hoist src into lib/cjs, also the compiled output will be in 'lib/cjs', not 'src' so use `../..` to reach package.json\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst { version: ourVersion, name: ourName, peerDependencies } = require(\"../../package.json\");\n\nconst ourITwinCoreBackendDepRange = peerDependencies[\"@itwin/core-backend\"];\n\nif (!semver.satisfies(iTwinCoreBackendVersion, ourITwinCoreBackendDepRange)) {\n const suggestEnvVarName = \"SUGGEST_TRANSFORMER_VERSIONS\";\n\n const errHeader =\n `${ourName}@${ourVersion} only supports @itwin/core-backend@${ourITwinCoreBackendDepRange}, `\n + `but @itwin/core-backend${iTwinCoreBackendVersion} was resolved when looking for the peer dependency.\\n`;\n\n if (process.env[suggestEnvVarName]) {\n // let's not import https except in this case\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const https = require(\"https\") as typeof import(\"https\");\n https.get(`https://registry.npmjs.org/${ourName}`, async (resp) => {\n const chunks: string[] = [];\n const packumentSrc = await new Promise<string>((r) => resp.setEncoding(\"utf8\").on(\"data\", (d) => chunks.push(d)).on(\"end\", () => r(chunks.join(\"\"))));\n interface PackumentSubset {\n versions: Record<string, { peerDependencies?: { \"@itwin/core-backend\": string } }>;\n }\n const packumentJson = JSON.parse(packumentSrc) as PackumentSubset;\n const isTaglessVersion = (version: string) => version.includes(\"-\");\n const latestFirstApplicableVersions\n = Object.entries(packumentJson.versions)\n .filter(([,v]) => semver.satisfies(iTwinCoreBackendVersion, v.peerDependencies?.[\"@itwin/core-backend\"] ?? \"\"))\n .map(([k]) => k)\n .filter(isTaglessVersion)\n .reverse();\n\n throw Error([\n errHeader,\n `You have ${suggestEnvVarName}=1 set in the environment, so we suggest one of the following versions.\\n`,\n `Be aware that older versions may be missing bug fixes.\\n`,\n latestFirstApplicableVersions.join(\"\\n\"),\n ].join(\"\"));\n });\n } else {\n throw Error(\n `${errHeader} You can rerun with the environment variable ${suggestEnvVarName}=1 to have this error suggest a version`\n );\n }\n}\n\n/** @docs-package-description\n * The @itwin/imodel-transformer package contains classes that [backend code]($docs/learning/backend/index.md) can use to\n * traverse iModels, as well as *transform* an iModel into another existing or empty one, by exporting elements from one during\n * traversal and importing them into another.\n *\n * You can read further in [iModelTransformation and Data Exchange]($docs/learning/transformer/index.md) here.\n */\n/**\n * @docs-group-description iModels\n * Classes for working with [iModels]($docs/learning/iModels.md).\n * See [the learning article]($docs/learning/backend/index.md).\n */\n/**\n * @docs-group-description Utils\n * Miscellaneous utility classes.\n */\n/**\n * @docs-group-description Logging\n * Logger categories used by this package.\n */\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@itwin/imodel-transformer",
|
|
3
|
+
"version": "0.0.1-dev.0",
|
|
4
|
+
"description": "API for exporting an iModel's parts and also importing them into another iModel",
|
|
5
|
+
"main": "lib/cjs/transformer.js",
|
|
6
|
+
"typings": "lib/cjs/transformer",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"engines": {
|
|
9
|
+
"node": "^18.0.0"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "npm run -s build:cjs && npm run -s copy:test-assets",
|
|
13
|
+
"build:ci": "npm run -s build",
|
|
14
|
+
"build:cjs": "tsc 1>&2 --outDir lib/cjs",
|
|
15
|
+
"clean": "rimraf lib",
|
|
16
|
+
"docs": "npm run -s docs:extract && npm run -s docs:reference && npm run -s docs:changelog",
|
|
17
|
+
"docs:changelog": "cpx ./CHANGELOG.md ../../build/docs/reference/transformer",
|
|
18
|
+
"# env var is workaround, need to contribute a better rush-less root-package.json detector to betools": "",
|
|
19
|
+
"docs:reference": "cross-env RUSHSTACK_FILE_ERROR_BASE_FOLDER='../..' betools docs --includes=../../build/docs/extract --json=../../build/docs/reference/transformer/file.json --tsIndexFile=transformer.ts --onlyJson",
|
|
20
|
+
"docs:extract": "betools extract --fileExt=ts --extractFrom=./src/test --recursive --out=../../build/docs/extract",
|
|
21
|
+
"copy:test-assets": "cpx \"./src/test/assets/**/*\" ./lib/cjs/test/assets",
|
|
22
|
+
"cover": "nyc npm -s test",
|
|
23
|
+
"extract-api": "betools extract-api --entry=transformer",
|
|
24
|
+
"lint": "eslint -f visualstudio \"./src/**/*.ts\" 1>&2",
|
|
25
|
+
"lint:no-tests": "eslint -f visualstudio \"./src/*.ts\" 1>&2",
|
|
26
|
+
"lint:fix": "eslint --fix -f visualstudio \"./src/**/*.ts\" 1>&2",
|
|
27
|
+
"test": "mocha \"lib/cjs/test/**/*.test.js\" --timeout 8000 --require source-map-support/register",
|
|
28
|
+
"no-internal-report": "no-internal-report src/**/*.ts"
|
|
29
|
+
},
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/iTwin/transformer.git",
|
|
33
|
+
"directory": "packages/transformer"
|
|
34
|
+
},
|
|
35
|
+
"keywords": [
|
|
36
|
+
"Bentley",
|
|
37
|
+
"BIM",
|
|
38
|
+
"iModel",
|
|
39
|
+
"digital-twin",
|
|
40
|
+
"iTwin"
|
|
41
|
+
],
|
|
42
|
+
"author": {
|
|
43
|
+
"name": "Bentley Systems, Inc.",
|
|
44
|
+
"url": "http://www.bentley.com"
|
|
45
|
+
},
|
|
46
|
+
"//deps": [
|
|
47
|
+
"SEE file://./README.md#versioning",
|
|
48
|
+
"This package relies on @internal APIs in iTwin.js, and therefore has very strict peerDep versions",
|
|
49
|
+
"We perform a version check at runtime to ensure this.",
|
|
50
|
+
"Every new iTwin.js version must be validated, and fixes are rarely ported to old versions.",
|
|
51
|
+
"Removing Dependencies on internal APIs is ongoing.",
|
|
52
|
+
"You can find a script to see the latest @itwin/imodel-transformer version for your iTwin.js version in the README"
|
|
53
|
+
],
|
|
54
|
+
"peerDependencies": {
|
|
55
|
+
"@itwin/core-backend": "3.6.0 - 3.6.1",
|
|
56
|
+
"@itwin/core-bentley": "3.6.0 - 3.6.1",
|
|
57
|
+
"@itwin/core-common": "3.6.0 - 3.6.1",
|
|
58
|
+
"@itwin/core-geometry": "3.6.0 - 3.6.1",
|
|
59
|
+
"@itwin/core-quantity": "3.6.0 - 3.6.1",
|
|
60
|
+
"@itwin/ecschema-metadata": "3.6.0 - 3.6.1"
|
|
61
|
+
},
|
|
62
|
+
"//devDependencies": [
|
|
63
|
+
"NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install",
|
|
64
|
+
"NOTE: All tools used by scripts in this package must be listed as devDependencies"
|
|
65
|
+
],
|
|
66
|
+
"devDependencies": {
|
|
67
|
+
"@itwin/build-tools": "3.6.0 - 3.6.1",
|
|
68
|
+
"@itwin/core-backend": "3.6.0 - 3.6.1",
|
|
69
|
+
"@itwin/core-bentley": "3.6.0 - 3.6.1",
|
|
70
|
+
"@itwin/core-common": "3.6.0 - 3.6.1",
|
|
71
|
+
"@itwin/core-geometry": "3.6.0 - 3.6.1",
|
|
72
|
+
"@itwin/core-quantity": "3.6.0 - 3.6.1",
|
|
73
|
+
"@itwin/ecschema-metadata": "3.6.0 - 3.6.1",
|
|
74
|
+
"@itwin/eslint-plugin": "3.6.0 - 3.6.1",
|
|
75
|
+
"@types/chai": "4.3.1",
|
|
76
|
+
"@types/chai-as-promised": "^7",
|
|
77
|
+
"@types/mocha": "^8.2.2",
|
|
78
|
+
"@types/node": "^18.11.5",
|
|
79
|
+
"@types/semver": "7.3.10",
|
|
80
|
+
"@types/sinon": "^9.0.0",
|
|
81
|
+
"chai": "^4.1.2",
|
|
82
|
+
"chai-as-promised": "^7",
|
|
83
|
+
"cpx2": "^3.0.0",
|
|
84
|
+
"cross-env": "^5.1.4",
|
|
85
|
+
"eslint": "^7.11.0",
|
|
86
|
+
"js-base64": "^3.7.5",
|
|
87
|
+
"mocha": "^10.0.0",
|
|
88
|
+
"npm-run-all": "^4.1.5",
|
|
89
|
+
"nyc": "^15.1.0",
|
|
90
|
+
"rimraf": "^3.0.2",
|
|
91
|
+
"sinon": "^9.0.2",
|
|
92
|
+
"source-map-support": "^0.5.21",
|
|
93
|
+
"typescript": "~4.4.0"
|
|
94
|
+
},
|
|
95
|
+
"dependencies": {
|
|
96
|
+
"semver": "^7.3.5"
|
|
97
|
+
},
|
|
98
|
+
"nyc": {
|
|
99
|
+
"extends": "./node_modules/@itwin/build-tools/.nycrc"
|
|
100
|
+
},
|
|
101
|
+
"eslintConfig": {
|
|
102
|
+
"plugins": [
|
|
103
|
+
"@itwin"
|
|
104
|
+
],
|
|
105
|
+
"extends": "plugin:@itwin/itwinjs-recommended",
|
|
106
|
+
"rules": {
|
|
107
|
+
"@itwin/no-internal": [
|
|
108
|
+
"warn",
|
|
109
|
+
{
|
|
110
|
+
"tag": [
|
|
111
|
+
"internal"
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
"parserOptions": {
|
|
117
|
+
"project": "./tsconfig.json"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|