@itwin/imodel-transformer 0.1.0 → 0.1.1-dev.1

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/CHANGELOG.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # Change Log - @itwin/imodel-transformer
2
2
 
3
- This log was last generated on Fri, 31 Mar 2023 20:21:22 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 31 Mar 2023 20:21:28 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
7
  ## 0.1.0
8
8
 
9
- Fri, 31 Mar 2023 20:21:22 GMT
9
+ Fri, 31 Mar 2023 20:21:28 GMT
10
10
 
11
11
  ### Minor changes
12
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/transformer.ts"],"names":[],"mappings":"AAIA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAmDpC;;;;;;GAMG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/transformer.ts"],"names":[],"mappings":"AAIA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAsDpC;;;;;;GAMG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG"}
@@ -24,10 +24,12 @@ const package_json_1 = require("@itwin/core-backend/package.json");
24
24
  // eslint-disable-next-line @typescript-eslint/no-var-requires
25
25
  const { version: ourVersion, name: ourName, peerDependencies } = require("../../package.json");
26
26
  const ourITwinCoreBackendDepRange = peerDependencies["@itwin/core-backend"];
27
- if (!semver.satisfies(package_json_1.version, ourITwinCoreBackendDepRange)) {
28
- const suggestEnvVarName = "SUGGEST_TRANSFORMER_VERSIONS";
27
+ const noStrictDepCheckEnvVar = "TRANSFORMER_NO_STRICT_DEP_CHECK";
28
+ const suggestEnvVarName = "SUGGEST_TRANSFORMER_VERSIONS";
29
+ if (process.env[noStrictDepCheckEnvVar] !== "1" && !semver.satisfies(package_json_1.version, ourITwinCoreBackendDepRange)) {
29
30
  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
+ + `but @itwin/core-backend${package_json_1.version} was resolved when looking for the peer dependency.\n`
32
+ + `If you know exactly what you are doing, you can disable this check by setting ${noStrictDepCheckEnvVar}=1 in the environment\n`;
31
33
  if (process.env[suggestEnvVarName]) {
32
34
  // let's not import https except in this case
33
35
  // eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -44,14 +46,14 @@ if (!semver.satisfies(package_json_1.version, ourITwinCoreBackendDepRange)) {
44
46
  .reverse();
45
47
  throw Error([
46
48
  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(""));
49
+ `You have ${suggestEnvVarName}=1 set in the environment, so we suggest one of the following versions.`,
50
+ `Be aware that older versions may be missing bug fixes.`,
51
+ ...latestFirstApplicableVersions,
52
+ ].join("\n"));
51
53
  });
52
54
  }
53
55
  else {
54
- throw Error(`${errHeader} You can rerun with the environment variable ${suggestEnvVarName}=1 to have this error suggest a version`);
56
+ throw Error(`${errHeader}You can rerun with the environment variable ${suggestEnvVarName}=1 to have this error suggest a version`);
55
57
  }
56
58
  }
57
59
  /** @docs-package-description
@@ -1 +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"]}
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,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AACjE,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAEzD,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAuB,EAAE,2BAA2B,CAAC,EAAE;IAE1H,MAAM,SAAS,GACb,GAAG,OAAO,IAAI,UAAU,sCAAsC,2BAA2B,IAAI;UAC3F,0BAA0B,sBAAuB,uDAAuD;UACxG,iFAAiF,sBAAsB,yBAAyB,CAAC;IAErI,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,yEAAyE;gBACtG,wDAAwD;gBACxD,GAAG,6BAA6B;aACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,KAAK,CACT,GAAG,SAAS,+CAA+C,iBAAiB,yCAAyC,CACtH,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\nconst noStrictDepCheckEnvVar = \"TRANSFORMER_NO_STRICT_DEP_CHECK\";\nconst suggestEnvVarName = \"SUGGEST_TRANSFORMER_VERSIONS\";\n\nif (process.env[noStrictDepCheckEnvVar] !== \"1\" && !semver.satisfies(iTwinCoreBackendVersion, ourITwinCoreBackendDepRange)) {\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 + `If you know exactly what you are doing, you can disable this check by setting ${noStrictDepCheckEnvVar}=1 in the environment\\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 `Be aware that older versions may be missing bug fixes.`,\n ...latestFirstApplicableVersions,\n ].join(\"\\n\"));\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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/imodel-transformer",
3
- "version": "0.1.0",
3
+ "version": "0.1.1-dev.1",
4
4
  "description": "API for exporting an iModel's parts and also importing them into another iModel",
5
5
  "main": "lib/cjs/transformer.js",
6
6
  "typings": "lib/cjs/transformer",
@@ -14,13 +14,13 @@
14
14
  "build:cjs": "tsc 1>&2 --outDir lib/cjs",
15
15
  "clean": "rimraf lib",
16
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",
17
+ "docs:changelog": "cpx ./CHANGELOG.md ../../build/docs/reference/imodel-transformer",
18
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",
19
+ "docs:reference": "cross-env RUSHSTACK_FILE_ERROR_BASE_FOLDER='../..' betools docs --includes=../../build/docs/extract --json=../../build/docs/reference/imodel-transformer/file.json --tsIndexFile=transformer.ts --onlyJson",
20
20
  "docs:extract": "betools extract --fileExt=ts --extractFrom=./src/test --recursive --out=../../build/docs/extract",
21
21
  "copy:test-assets": "cpx \"./src/test/assets/**/*\" ./lib/cjs/test/assets",
22
22
  "cover": "nyc npm -s test",
23
- "extract-api": "betools extract-api --entry=transformer",
23
+ "extract-api": "betools extract-api --entry=imodel-transformer",
24
24
  "lint": "eslint -f visualstudio \"./src/**/*.ts\" 1>&2",
25
25
  "lint:no-tests": "eslint -f visualstudio \"./src/*.ts\" 1>&2",
26
26
  "lint:fix": "eslint --fix -f visualstudio \"./src/**/*.ts\" 1>&2",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "repository": {
31
31
  "type": "git",
32
- "url": "https://github.com/iTwin/transformer.git",
32
+ "url": "https://github.com/iTwin/imodel-transformer.git",
33
33
  "directory": "packages/transformer"
34
34
  },
35
35
  "keywords": [