@itwin/workspace-editor 3.3.0-dev.5 → 3.3.0-dev.50
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/README.md +466 -69
- package/lib/WorkspaceEditor.js +483 -142
- package/package.json +15 -14
- package/.rush/temp/package-deps_build +0 -0
- package/.rush/temp/package-deps_cover.json +0 -13
- package/.rush/temp/package-deps_docs.json +0 -13
- package/.rush/temp/package-deps_lint.json +0 -13
- package/.rush/temp/package-deps_webpack +0 -0
- package/.rush/temp/shrinkwrap-deps.json +0 -178
- package/CHANGELOG.json +0 -59
- package/CHANGELOG.md +0 -46
- package/lib/WorkspaceEditor.d.ts +0 -2
- package/lib/WorkspaceEditor.d.ts.map +0 -1
- package/lib/WorkspaceEditor.js.map +0 -1
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/src/WorkspaceEditor.ts +0 -366
- package/tsconfig.json +0 -7
- package/workspace-editor.build.log +0 -0
package/package.json
CHANGED
|
@@ -1,32 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/workspace-editor",
|
|
3
|
-
"private": false,
|
|
4
3
|
"license": "MIT",
|
|
5
4
|
"main": "lib/WorkspaceEditor.js",
|
|
6
|
-
"version": "3.3.0-dev.
|
|
5
|
+
"version": "3.3.0-dev.50",
|
|
7
6
|
"bin": {
|
|
8
7
|
"WorkspaceEditor": "./lib/WorkspaceEditor.js"
|
|
9
8
|
},
|
|
9
|
+
"files": [
|
|
10
|
+
"/lib/*.js"
|
|
11
|
+
],
|
|
10
12
|
"repository": {
|
|
11
13
|
"type": "git",
|
|
12
14
|
"url": "https://github.com/iTwin/itwinjs-core/tree/master/utils/workspace-editor"
|
|
13
15
|
},
|
|
14
16
|
"dependencies": {
|
|
15
|
-
"@itwin/core-bentley": "3.3.0-dev.
|
|
16
|
-
"@itwin/core-common": "3.3.0-dev.
|
|
17
|
-
"@itwin/core-backend": "3.3.0-dev.
|
|
17
|
+
"@itwin/core-bentley": "3.3.0-dev.50",
|
|
18
|
+
"@itwin/core-common": "3.3.0-dev.50",
|
|
19
|
+
"@itwin/core-backend": "3.3.0-dev.50",
|
|
18
20
|
"glob": "^7.1.2",
|
|
19
|
-
"yargs": "^
|
|
21
|
+
"yargs": "^17.4.0"
|
|
20
22
|
},
|
|
21
23
|
"devDependencies": {
|
|
22
|
-
"@itwin/build-tools": "3.3.0-dev.
|
|
23
|
-
"@itwin/eslint-plugin": "3.3.0-dev.
|
|
24
|
-
"@types/chai": "
|
|
24
|
+
"@itwin/build-tools": "3.3.0-dev.50",
|
|
25
|
+
"@itwin/eslint-plugin": "3.3.0-dev.50",
|
|
26
|
+
"@types/chai": "4.3.1",
|
|
25
27
|
"@types/mocha": "^8.2.2",
|
|
26
|
-
"@types/yargs": "^
|
|
28
|
+
"@types/yargs": "^17.0.10",
|
|
27
29
|
"@types/glob": "^5.0.35",
|
|
28
30
|
"eslint": "^7.11.0",
|
|
29
|
-
"mocha": "^
|
|
31
|
+
"mocha": "^10.0.0",
|
|
30
32
|
"rimraf": "^3.0.2",
|
|
31
33
|
"typescript": "~4.4.0"
|
|
32
34
|
},
|
|
@@ -42,9 +44,8 @@
|
|
|
42
44
|
"clean": "rimraf lib .rush/temp/package-deps*.json",
|
|
43
45
|
"cover": "",
|
|
44
46
|
"docs": "",
|
|
45
|
-
"lint": "eslint
|
|
46
|
-
"start": "node ./lib/Main.js",
|
|
47
|
+
"lint": "eslint -f visualstudio \"./src/**/*.ts\" 1>&2",
|
|
47
48
|
"test": ""
|
|
48
49
|
},
|
|
49
|
-
"readme": "# WorkspaceEditor\r\n\r\n**WorkspaceEditor** is a command line utility for creating and editing `WorkspaceResources` in iTwin `WorkspaceDb`s, and for uploading and downloading `WorkspaceDb`s to cloud `WorkspaceContainer`s.\r\n\r\nAn iTwin `WorkspaceDb` may hold many `WorkSpaceResources`, each with a `WorkspaceResourceName` and `WorkspaceResourceType`. `WorkspaceEditor` adds, updates, deletes, and extracts *local files* into/from a `WorkspaceDb`.\r\n\r\n## Workspace Resource Types\r\n\r\nThere are 3 `WorkspaceResourceType`s that may be accessed by `@itwin-backend` applications at runtime via the `WorkspaceContainer` api:\r\n\r\n 1. `string` accessed via the `getString` method\r\n 2. `blob` binary data accessed via the `getBlob` method\r\n 3. `file` extracted to a local file via the `getFile` method\r\n\r\nSeveral `WorkspaceEditor` commands require a `--type` argument to specify which `WorkspaceResourceType` to use.\r\n\r\n## The WorkspaceContainer Directory\r\n\r\n`WorkspaceDb`s are located by iTwin.js inside a `WorkspaceContainer` subdirectory within the `WorkspaceContainerDir` directory. `WorkspaceContainerDir` is specified as a directory name in the `workspace.containerDir` member on the `configuration` argument of `IModelHost.startup`. The default value is `%localappdata%/iTwin/Workspace`. WorkspaceEditor will normally create and edit `WorkspaceDb`s in the default directory, but if you wish to use a different directory, supply the `--directory` option to specify a different `WorkspaceContainerDir` location.\r\n\r\n## Workspace dbName\r\n\r\nThe WorkspaceEditor commands all take a `dbName` option to specify the `WorkspaceDb` on which to operate. The WorkspaceDb is located inside the `WorkspaceContainerId` specified with the --containerId argument. `WorkspaceDbName`s must be less than 255 characters, may not have leading or trailing whitespace, and may not use any reserved path specification characters (see documentation for `WorkspaceDbName` for details.) The `WorkspaceDb` filename is formed via: `${WorkspaceContainerDir}/${WorkspaceContainerId}/${WorkspaceDbName}.itwin-workspace`.\r\n\r\n## WorkspaceEditor Config file\r\n\r\n`WorkspaceEditor` accepts the `--config` option to specify the name of a JSON file that holds values for `WorkspaceEditor` options. By default, `WorkspaceEditor` looks in the current directory for a file named `workspaceEditor.json`.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEdit --config myConfig.json list db1\r\n...\r\n```\r\n\r\n```json\r\n> cat myConfig.json\r\n{\r\n \"directory\": \"d:/projData/112/\",\r\n \"containerId\": \"proj112\",\r\n \"accountName\": \"smsblob1\",\r\n \"sasToken\": \"<valid token here>\"\r\n}\r\n```\r\n\r\n> Note: config files **must** have a `.json` extension.\r\n\r\n## WorkspaceEditor Commands\r\n\r\nThe following WorkspaceEditor commands are available:\r\n\r\n### Create\r\n\r\nCreate a new empty `WorkspaceDb`.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEdit create proj\r\ncreated WorkspaceDb C:\\Users\\User.Name\\AppData\\Local\\iTwin\\Workspace\\proj112\\proj.itwin-workspace\r\n```\r\n\r\n### Add\r\n\r\nAdd one or more local files as resources into a `WorkspaceDb`.\r\n\r\n`--type` specifies the type of resource(s) to add. Required\r\n`--name` specifies the name of the resource. Defaults to the name of the local file.\r\n`--root` specifies a root directory when adding multiple files. The parts of the path after the root are saved in the resource name (see example below.)\r\n`--update` indicates that an existing resource should be updated (i.e. replaced.)\r\n\r\n> Note: `--name` is only applicable when adding a single file.\r\n\r\nExamples:\r\n\r\n```sh\r\n> WorkspaceEditor add proj -n equipment-data D:\\data\\equip.dat\r\nWorkspaceDb [C:\\Users\\User.Name\\AppData\\Local\\iTwin\\Workspace\\proj112\\proj.itwin-workspace]\r\n added \"D:\\data\\equip.dat\" as file resource [equipment-data]\r\n```\r\n\r\n```sh\r\n> WorkspaceEditor add proj -string *.json\r\nWorkspaceDb [C:\\Users\\User.Name\\AppData\\Local\\iTwin\\Workspace\\proj112\\proj.itwin-workspace]\r\n added \"specs.json\" as string resource [specs.json]\r\n added \"vendor.json\" as string resource [vendor.json]\r\n ```\r\n\r\n```sh\r\n > WorkspaceEditor add proj -t blob -r d:\\projData\\112\\ **\\*.dict\r\nWorkspaceDb [C:\\Users\\User.Name\\AppData\\Local\\iTwin\\Workspace\\proj112\\proj.itwin-workspace]\r\n added \"d:\\projData\\112\\TernKit\\KDEO5814.dict\" as blob resource [TernKit/KDEO5814.dict]\r\n added \"d:\\projData\\112\\TernKit\\KDEO5815.dict\" as blob resource [TernKit/KDEO5815.dict]\r\n added \"d:\\projData\\112\\UniSpace\\KDEO5814.dict\" as blob resource [UniSpace/KDEO5814.dict]\r\n added \"d:\\projData\\112\\UniSpace\\KDEO5815.dict\" as blob resource [UniSpace/KDEO5815.dict]\r\n added \"d:\\projData\\112\\Sparks\\KDEO5814.dict\" as blob resource [Sparks/KDEO5814.dict]\r\n added \"d:\\projData\\112\\Sparks\\KDEO5815.dict\" as blob resource [Sparks/KDEO5815.dict]\r\n added \"d:\\projData\\112\\Sparks\\KDEO5816.dict\" as blob resource [Sparks/KDEO5816.dict]\r\n ```\r\n\r\n### List\r\n\r\nList the contents of a `WorkspaceDb`. By default it will show all 3 resource types. To limit the output to specific types, supply the `--strings`, `--blobs`, or `--files` options.\r\n\r\nExamples:\r\n\r\n```sh\r\n> WorkspaceEditor list proj\r\nWorkspaceDb [C:\\Users\\User.Name\\AppData\\Local\\iTwin\\Workspace\\proj112\\proj.itwin-workspace]\r\n strings:\r\n name=[specs.json], size=12050\r\n name=[vendor.json], size=31335\r\n blobs:\r\n name=[TernKit/KDEO5814.dict], size=144221\r\n name=[TernKit/KDEO5815.dict], size=89600\r\n name=[UniSpace/KDEO5814.dict], size=144384\r\n name=[UniSpace/KDEO5815.dict], size=89600\r\n name=[Sparks/KDEO5814.dict], size=144384\r\n name=[Sparks/KDEO5815.dict], size=109056\r\n name=[Sparks/KDEO5816.dict], size=70144\r\n files:\r\n name=[equipment-data], size=14484, ext=\"dat\", date=Thu Mar 12 2015 13:52:51 GMT-0400\r\n```\r\n\r\n```sh\r\n> WorkspaceEditor list proj --strings\r\nWorkspaceDb [C:\\Users\\User.Name\\AppData\\Local\\iTwin\\Workspace\\proj112\\proj.itwin-workspace]\r\n strings:\r\n name=[specs.json], size=12050\r\n name=[vendor.json], size=31335\r\n```\r\n\r\n### Extract\r\n\r\nExtract a `WorkspaceResource` from a `WorkspaceDb` into a local file.\r\n\r\nExample:\r\n```sh\r\n> WorkspaceEditor extract proj -t blob UniSpace/KDEO5815.dict d:\\temp\\kd.dict\r\nWorkspaceDb [C:\\Users\\User.Name\\AppData\\Local\\iTwin\\Workspace\\proj112\\proj.itwin-workspace]\r\n blob resource [UniSpace/KDEO5815.dict] extracted to \"d:\\temp\\kd.dict\"\r\n```\r\n\r\n### Delete\r\n\r\nDelete an existing `WorkspaceResource` from a `WorkspaceDb`.\r\n\r\nExample:\r\n```sh\r\n> WorkspaceEditor delete proj -t blob UniSpace/KDEO5815.dict\r\nWorkspaceDb [C:\\Users\\User.Name\\AppData\\Local\\iTwin\\Workspace\\proj112\\proj.itwin-workspace]\r\n deleted blob resource [UniSpace/KDEO5815.dict]\r\n```\r\n\r\n### Vacuum\r\n\r\n[Vacuum](https://www.sqlite.org/lang_vacuum.html) a `WorkspaceDb`. This can make a `WorkspaceDb` smaller and more efficient to access.\r\n\r\nExample:\r\n```sh\r\n> WorkspaceEditor vacuum proj\r\nWorkspaceDb [C:\\Users\\User.Name\\AppData\\Local\\iTwin\\Workspace\\proj112\\proj.itwin-workspace] vacuumed\r\n```\r\n"
|
|
50
|
+
"readme": "# WorkspaceEditor\r\n\r\n**WorkspaceEditor** is a command line utility for creating and editing `WorkspaceResources` in iTwin `WorkspaceDb`s, and for uploading, downloading, and editing `WorkspaceDb`s in cloud `WorkspaceContainer`s.\r\n\r\nAn iTwin `WorkspaceDb` may hold many `WorkSpaceResources`, each with a `WorkspaceResource.Name` and type. `WorkspaceEditor` adds, updates, deletes, and extracts *local files* into/from a `WorkspaceDb`.\r\n\r\n## Workspace Resource Types\r\n\r\nThere are 3 `WorkspaceResourceType`s that may be accessed by `@itwin-backend` applications at runtime via the `WorkspaceDb` api:\r\n\r\n 1. `string` accessed via the `getString` method\r\n 2. `blob` binary data accessed via the `getBlob` method\r\n 3. `file` extracted to a local file via the `getFile` method\r\n\r\nSeveral `WorkspaceEditor` commands require a `--type` argument to specify which `WorkspaceResourceType` to use.\r\n\r\n## The WorkspaceContainer Directory\r\n\r\n`WorkspaceDb`s may be either local files or from cloud `WorkspaceContainers`. When creating new `WorkspaceDb`s, it is sometimes useful to just work with a local file until all resources have been imported, before uploading the WorkspaceDb to the cloud container.\r\n\r\n`WorkspaceDb`s are located by iTwin.js inside a `WorkspaceContainer` subdirectory within the `WorkspaceContainerDir` directory. `WorkspaceContainerDir` is specified as a directory name in the `workspace.containerDir` member on the `configuration` argument of `IModelHost.startup`. The default value is `%localappdata%/iTwin/Workspace`.\r\n\r\nWorkspaceEditor will normally create and edit `WorkspaceDb`s in the default directory, but if you wish to use a different directory, supply the `--directory` option to specify a different `WorkspaceContainerDir` location.\r\n\r\n## Workspace dbName\r\n\r\nThe WorkspaceEditor commands all take a `dbName` option to specify the `WorkspaceDb` on which to operate. The WorkspaceDb is located inside the `WorkspaceContainer` specified with the --containerId argument. `WorkspaceDbName`s must be less than 255 characters, may not have leading or trailing whitespace, and may not use any reserved path specification characters (see documentation for `WorkspaceDbName` for details.) The `WorkspaceDb` filename is formed via: `${WorkspaceContainerDir}/${WorkspaceContainerId}/${WorkspaceDbName}.itwin-workspace`.\r\n\r\n## WorkspaceEditor Config file\r\n\r\n`WorkspaceEditor` accepts the `--config` option to specify the name of a JSON file that holds values for `WorkspaceEditor` options. By default, `WorkspaceEditor` looks in the current directory for a file named `workspaceEditor.json`.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor --config myConfig.json listDb db1\r\n...\r\n```\r\n\r\n```json\r\nmyConfig.json:\r\n\r\n{\r\n \"containerId\": \"5d385232-a2ec-4f31-b74b-8201c027848d\",\r\n \"accessName\": \"smsblob1\",\r\n \"storageType\": \"azure?sas=1\",\r\n \"user\": \"workspace editor example\",\r\n \"accessToken\": \"<valid token here>\"\r\n}\r\n```\r\n\r\n> config files *must* have a `.json` extension.\r\n\r\n## WORKSPACE_EDITOR_xxx Environment Variables\r\n\r\nAny command line option may also be specified by setting a shell environment variable with the option's name after the prefix `WORKSPACE_EDITOR_`.\r\n\r\nFor example, config files may also be specified by setting the environment variable `WORKSPACE_EDITOR_CONFIG`.\r\n\r\n```cmd\r\nset WORKSPACE_EDITOR_CONFIG=d:\\projData\\config.json\r\n```\r\n\r\nTo specify camelCase options, separate the words with an underbar, e.g.:\r\n\r\n```cmd\r\nset WORKSPACE_EDITOR_ACCESS_TOKEN=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==\r\n```\r\n\r\n> `WORKSPACE_EDITOR_` environment variable names are *case sensitive* and must be ALL CAPS\r\n\r\n## WorkspaceEditor Commands\r\n\r\nThe following WorkspaceEditor commands are available:\r\n\r\n```sh\r\n> WorkspaceEditor\r\n\r\nEdits or lists contents of a WorkspaceDb\r\n\r\nCommands:\r\n WorkspaceEditor add <dbName> <files> add files into a WorkspaceDb\r\n WorkspaceEditor replace <dbName> <files> replace files in a WorkspaceDb\r\n WorkspaceEditor remove <dbName> <rscName> remove a resource from a WorkspaceDb\r\n WorkspaceEditor extract <dbName> <rscName> <fileName> extract a resource from a WorkspaceDb into a local file\r\n WorkspaceEditor listDb <dbName> list the contents of a WorkspaceDb\r\n WorkspaceEditor deleteDb <dbName> delete a WorkspaceDb from a cloud container\r\n WorkspaceEditor createDb <dbName> create a new WorkspaceDb\r\n WorkspaceEditor copyDb <dbName> <newDbName> make a copy of a WorkspaceDb in a cloud container with a new name\r\n WorkspaceEditor versionDb <dbName> make a new version of a WorkspaceDb\r\n WorkspaceEditor vacuumDb <dbName> vacuum a WorkspaceDb\r\n WorkspaceEditor importDb <dbName> <localFileName> import a WorkspaceDb into a cloud container\r\n WorkspaceEditor exportDb <dbName> <localFileName> export a WorkspaceDb from a cloud container to a local file\r\n WorkspaceEditor queryDbs [like] query the list of WorkspaceDbs in a cloud container\r\n WorkspaceEditor acquireLock acquire the write lock for a cloud container\r\n WorkspaceEditor releaseLock release the write lock for a cloud container\r\n WorkspaceEditor clearWriteLock clear the write lock for a cloud container. Note: this can be dangerous!\r\n WorkspaceEditor purgeWorkspace purge deleted blocks from a WorkspaceContainer\r\n WorkspaceEditor initializeWorkspace initialize a WorkspaceContainer (empties if already initialized)\r\n```\r\n\r\n## Commands that operate on WorkspaceDbs\r\n\r\nAll of the examples in this section use `local.json` for config:\r\n\r\n```\r\nset WORKSPACE_EDITOR_CONFIG=r:\\local.json\r\n```\r\n\r\n```json\r\nr:\\local.json:\r\n{\r\n \"directory\": \"r:/workspaces\",\r\n \"containerId\": \"proj112\"\r\n}\r\n```\r\n\r\nThe name of the `WorkspaceDb` is supplied with the `dbName` argument. For cloud-based `WorkspaceContainers`, `dbName` may either include the version number (e.g. `pipe-spec:1.3.2`) or, if no version is supplied, the highest version is used.\r\n\r\n### createDb \\<dbName>\r\n\r\nCreate a new empty `WorkspaceDb`.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor createDb proj\r\ncreated WorkspaceDb r:\\workspaces\\proj112\\proj.itwin-workspace\r\n```\r\n\r\n### add \\<dbName> \\<files>\r\n\r\nAdd one or more local files as resources into a `WorkspaceDb`.\r\n\r\n`--rscName` specifies the name of the resource. Defaults to the name of the local file.\r\n`--root` specifies a root directory when adding multiple files. The parts of the path after the root are saved in the resource name (see example below.)\r\n`--type` specifies the type of resource(s) to add. Required\r\n\r\n> Note: `--rscName` is only applicable when adding a single file.\r\n\r\nExamples:\r\n\r\n```sh\r\n> WorkspaceEditor add proj --rscName=equipment-data --type=file r:\\data\\equip.dat\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n added \"r:/data/equip.dat\" as file resource [equipment-data]\r\n\r\n> WorkspaceEditor add proj --type=string --root=r:\\json *\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n added \"r:\\json\\contracts.json\" as string resource [contracts.json]\r\n added \"r:\\json\\firecode.json\" as string resource [firecode.json]\r\n added \"r:\\json\\specs.json\" as string resource [specs.json]\r\n added \"r:\\json\\vendor.json\" as string resource [vendor.json]\r\n\r\n > WorkspaceEditor add proj --type=blob --root=r:\\dict **\\*.dict\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n added \"r:\\dict\\Sparks\\KDE05814.dict\" as blob resource [Sparks/KDE05814.dict]\r\n added \"r:\\dict\\Sparks\\KDE05815.dict\" as blob resource [Sparks/KDE05815.dict]\r\n added \"r:\\dict\\Sparks\\KDE05816.dict\" as blob resource [Sparks/KDE05816.dict]\r\n added \"r:\\dict\\Sparks\\KDE05922.dict\" as blob resource [Sparks/KDE05922.dict]\r\n added \"r:\\dict\\Sparks\\KDE05929.dict\" as blob resource [Sparks/KDE05929.dict]\r\n added \"r:\\dict\\TernKit\\TRN02324.dict\" as blob resource [TernKit/TRN02324.dict]\r\n added \"r:\\dict\\TernKit\\TRN05314.dict\" as blob resource [TernKit/TRN05314.dict]\r\n added \"r:\\dict\\TernKit\\TRN05814.dict\" as blob resource [TernKit/TRN05814.dict]\r\n added \"r:\\dict\\TernKit\\TRN09911.dict\" as blob resource [TernKit/TRN09911.dict]\r\n added \"r:\\dict\\UniSpace\\KRT05554.dict\" as blob resource [UniSpace/KRT05554.dict]\r\n added \"r:\\dict\\UniSpace\\KRT05800.dict\" as blob resource [UniSpace/KRT05800.dict]\r\n added \"r:\\dict\\UniSpace\\KRT05814.dict\" as blob resource [UniSpace/KRT05814.dict]\r\n added \"r:\\dict\\UniSpace\\KRT05820.dict\" as blob resource [UniSpace/KRT05820.dict]\r\n added \"r:\\dict\\UniSpace\\KRT06519.dict\" as blob resource [UniSpace/KRT06519.dict]\r\n```\r\n\r\n### replace \\<dbName> \\<files>\r\n\r\nReplace an existing resource in a `WorkspaceDb` with a new version.\r\n\r\nTakes the same arguments as `add`.\r\n\r\n### remove \\<dbName> \\<rscName>\r\n\r\nRemove an existing `WorkspaceResource` from a `WorkspaceDb`.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor remove proj --type blob UniSpace/KRT06519.dict\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n removed blob resource [UniSpace/KRT06519.dict]\r\n```\r\n\r\n### extract \\<dbName> \\<rscName> \\<fileName>\r\n\r\nExtract a `WorkspaceResource` from a `WorkspaceDb` into a local file, leaving the `WorkspaceResource` unchanged in the `WorkspaceDb`.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor extract proj -t blob UniSpace/KRT05820.dict d:\\temp\\kd.dict\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n blob resource [UniSpace/KRT05820.dict] extracted to \"d:\\temp\\kd.dict\"\r\n```\r\n\r\n### listDb \\<dbName>\r\n\r\nList the contents of a `WorkspaceDb`. By default it will show all 3 resource types. To limit the output to specific types, supply the `--strings`, `--blobs`, or `--files` options.\r\n\r\nExamples:\r\n\r\n```sh\r\n> WorkspaceEditor list proj\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n strings:\r\n name=contracts.json, size=17K\r\n name=firecode.json, size=3K\r\n name=specs.json, size=8K\r\n name=vendor.json, size=46K\r\n blobs:\r\n name=Sparks/KDE05814.dict, size=224K\r\n name=Sparks/KDE05815.dict, size=307K\r\n name=Sparks/KDE05816.dict, size=32K\r\n name=Sparks/KDE05922.dict, size=56K\r\n name=Sparks/KDE05929.dict, size=15K\r\n name=TernKit/TRN02324.dict, size=405\r\n name=TernKit/TRN05314.dict, size=67K\r\n name=TernKit/TRN05814.dict, size=7K\r\n name=TernKit/TRN09911.dict, size=3K\r\n name=UniSpace/KRT05554.dict, size=2K\r\n name=UniSpace/KRT05800.dict, size=5K\r\n name=UniSpace/KRT05814.dict, size=13K\r\n name=UniSpace/KRT05820.dict, size=7K\r\n files:\r\n name=equipment-data, size=134K, ext=\"dat\", date=Tue Jul 08 2021 13:55:19 GMT-0400 (Eastern Daylight Time)\r\n\r\n> WorkspaceEditor list proj --strings\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n strings:\r\n name=contracts.json, size=17K\r\n name=firecode.json, size=3K\r\n name=specs.json, size=8K\r\n name=vendor.json, size=46K\r\n```\r\n\r\n### vacuumDb\r\n\r\n[Vacuum](https://www.sqlite.org/lang_vacuum.html) a `WorkspaceDb`. This can make a `WorkspaceDb` smaller and more efficient to access.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor vacuumDb proj\r\nVacuuming r:\\workspaces\\proj112\\proj.itwin-workspace ... done\r\n```\r\n\r\n## Commands that operate on Cloud WorkspaceContainers\r\n\r\nThe following `WorkspaceEditor` commands work only on cloud-based `WorkspaceContainers`.\r\n\r\nAll of the examples in this section use `cloud.json` for config:\r\n\r\n```\r\nset WORKSPACE_EDITOR_CONFIG=r:\\cloud.json\r\n```\r\n\r\n```json\r\nr:\\cloud.json:\r\n{\r\n \"directory\": \"r:/workspaces\",\r\n \"accessName\": \"<storage account name here>\",\r\n \"accessToken\": \"<storage account key here>\",\r\n \"storageType\": \"azure?sas=0\",\r\n \"containerId\": \"5d385232-a2ec-4f31-b74b-8201c027848d\",\r\n \"user\": \"Example editor admin\"\r\n}\r\n```\r\n\r\nWhen operating on cloud `WorkspaceContainer`s, WorkspaceEditor must first [obtain the write lock](#acquirelock) on the container. If successful, the lock is held on the container and all changes are only made locally (i.e. not visible to users) until [the write lock is released](#releaselock). Only a single administrator may be editing a cloud WorkspaceContainer at a time. Most WorkspaceEditor commands will fail if the write lock is not held.\r\n\r\nThe normal workflow for changing a `WorkspaceDb` in a cloud `WorkspaceContainer` involves running WorkspaceEditor multiple times to:\r\n\r\n1. Acquire the write lock on the container using [acquireLock](#acquirelock)\r\n2. Create a new version (major, minor, or patch) of the `WorkspaceDb` using [versionDb](#versiondb-dbname)\r\n3. Edit the new version using one or more [add](#add-dbname-files), [replace](#replace-dbname-files), or [remove](#remove-dbname-rscname) resource commands.\r\n4. Release the write lock using [releaselock](#releaselock)\r\n\r\n### initializeWorkspace\r\n\r\nInitialize or empty the contents of a cloud `WorkspaceContainer`. This command should be used after a cloud storage container is first created, or to empty an existing previously-initialized storage container.\r\n\r\nSince this command will destroy any existing contents of the container, should be used with care. There is an `Are you sure...` prompt to avoid accidents. The `--noPrompt` option can be used from scripts.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor initializeWorkspace\r\nAre you sure you want to initialize container [5d385232-a2ec-4f31-b74b-8201c027848d]\"? [y/n]: y\r\ncontainer \"5d385232-a2ec-4f31-b74b-8201c027848d initialized\r\n\r\n -or-\r\n\r\n> WorkspaceEditor initializeWorkspace --noPrompt\r\ncontainer \"5d385232-a2ec-4f31-b74b-8201c027848d initialized\r\n```\r\n\r\n### acquireLock\r\n\r\nAttempt to acquire the write lock for the cloud `WorkspaceContainer`. This command places the value of the `--user` argument in the lock state of cloud container, so if another user attempts to acquire the write lock before it is released, they will see an error message indicating that the lock is currently held and by whom.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor acquireLock\r\nacquired lock for container [5d385232-a2ec-4f31-b74b-8201c027848d]\r\n```\r\n\r\n> While the write lock is held, all changes to the `WorkspaceContainer` are stored locally and cannot be seen by users until the lock is released.\r\n\r\n> The write lock expires after one hour and may thereafter be acquired by others. If no other editor has acquired the lock, it may be re-acquired. However, if someone else acquires the lock, all local changes are lost and must be abandoned.\r\n\r\n### releaseLock\r\n\r\nAttempt to upload any local changes to the cloud `WorkspaceContainer` and, upon success, release the write lock.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor releaseLock\r\nreleased lock for container [5d385232-a2ec-4f31-b74b-8201c027848d]\r\n```\r\n\r\n### clearWriteLock\r\n\r\nClear the write lock currently held by another (failed) editor. This command \"steals\" the lock away from its current owner. After this command, the original holder of the write lock will fail when/if it attempts to release its lock and will lose all its changes.\r\n\r\n> This command is not normally ever needed, and should only be used in extreme cases when it is know to be safe.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor clearWriteLock\r\nwrite lock cleared for container [5d385232-a2ec-4f31-b74b-8201c027848d]\r\n```\r\n\r\n### importDb \\<dbName> \\<localFileName>\r\n\r\nImport a locally-created `WorkspaceDb` file into a cloud container. The first argument determines the name of the WorkspaceDb within the cloud container. If you don't supply an initial version number, in the form \":major.minor.patch\", it will be \"1.0.0\". The second argument is the name of the local file (without the \".itwin-workspace\" extension), including the local container name (since local container names often differ from cloud container names).\r\n\r\nExamples:\r\n\r\n```sh\r\n> WorkspaceEditor importDb project proj112\\proj\r\nVacuuming r:\\workspaces\\proj112\\proj.itwin-workspace ... done\r\nimport r:\\workspaces\\proj112\\proj.itwin-workspace, container=5d385232-a2ec-4f31-b74b-8201c027848d, dbName=project:1.0.0 : complete, 0.044 seconds\r\n\r\n- or -\r\n\r\n> WorkspaceEditor importDb project:2.0.2 proj112\\proj\r\nVacuuming r:\\workspaces\\proj112\\proj.itwin-workspace ... done\r\nimport r:\\workspaces\\proj112\\proj.itwin-workspace, container=5d385232-a2ec-4f31-b74b-8201c027848d, dbName=project:2.0.2 : complete, 0.044 seconds\r\n```\r\n\r\n### versionDb \\<dbName>\r\n\r\nCreate a new version of an existing WorkspaceDb so it may be edited. All of the resource editing commands will only work after the `versionDb` command and before the `releaseLock` command.\r\n\r\nAfter creating a new version of a WorkspaceDb, you must release the write lock for the new version to be visible to users. After the write lock is released on a version of a `WorkspaceDb` **it becomes immutable** and may never be modified again.\r\n\r\n`dBName` indicates the source database from which the new version is created. `dbName` may include the source version number (e.g. `pipe-spec:1.3.2`). If no version is supplied the highest version is used.\r\n\r\nThe `--versionType` option determines how the current version number is incremented (default is \"patch\").\r\n\r\nFor example, suppose the latest version is `pipe-spec:1.3.2`:\r\n\r\n```sh\r\n\r\n> WorkspaceEditor versionDb pipe-spec --versionType=major\r\ncreated new version: [pipe-spec:2.0.0] from [pipe-spec:1.3.2] in container [5d385232-a2ec-4f31-b74b-8201c027848d]\r\n\r\n - or -\r\n\r\n> WorkspaceEditor versionDb pipe-spec:1.3.2 --versionType=minor\r\ncreated new version: [pipe-spec:1.4.0] from [pipe-spec:1.3.2] in container [5d385232-a2ec-4f31-b74b-8201c027848d]\r\n\r\n - or -\r\n\r\n> WorkspaceEditor versionDb pipe-spec --versionType=patch\r\ncreated new version: [pipe-spec:1.3.3] from [pipe-spec:1.3.2] in container [5d385232-a2ec-4f31-b74b-8201c027848d]\r\n\r\n - or -\r\n\r\n> WorkspaceEditor versionDb pipe-spec\r\ncreated new version: [pipe-spec:1.3.3] from [pipe-spec:1.3.2] in container [5d385232-a2ec-4f31-b74b-8201c027848d]\r\n\r\n```\r\n\r\n> The examples above are not intended to illustrate sequential commands. Once you make a new version of a WorkspaceDb, you may begin editing it. But you cannot make another version until you release the write lock.\r\n\r\n### queryDbs [glob]\r\n\r\nShow a list of all `WorkspaceDb` in a cloud `WorkspaceContainer`.\r\n\r\nThe optional `glob` argument can be used to filter the results using the SQLite [GLOB](https://www.sqlite.org/lang_expr.html#glob) operator.\r\n\r\nExamples:\r\n\r\n```sh\r\n> WorkspaceEditor queryDbs\r\nWorkspaceDbs in container [5d385232-a2ec-4f31-b74b-8201c027848d], writeLocked, has local changes\r\n \"ame-ria:1.0.0\", size=24M, 0M downloaded (0%)\r\n \"base-data:1.0.0\", size=144M, 0M downloaded (0%)\r\n \"base-data:1.0.1\", size=144M, 12M downloaded (9%)\r\n \"proj:1.0.0\", size=4M, 4M downloaded (100%)\r\n \"proj:1.0.1\", size=4M, 4M downloaded (100%)\r\n \"proj:1.1.0\", size=4M, 4M downloaded (100%), editable\r\n\r\n> WorkspaceEditor queryDbs b*\r\nWorkspaceDbs in container [5d385232-a2ec-4f31-b74b-8201c027848d], writeLocked, has local changes\r\n \"base-data:1.0.0\", size=144M, 0M downloaded (0%)\r\n \"base-data:1.0.1\", size=144M, 12M downloaded (9%)\r\n```\r\n\r\nThe output also shows:\r\n\r\n- whether the write lock is held\r\n- whether there are local changes to be uploaded\r\n- whether there are garbage blocks that can be purged\r\n- for each `WorkspaceDb`:\r\n - its full name with version\r\n - its total size\r\n - number of bytes downloaded and percentage\r\n - whether the database is editable\r\n\r\n### exportDb \\<dbName> \\<localFileName>\r\n\r\nExport a `WorkspaceDb` from a cloud `WorkspaceContainer` into a local file.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor exportDb proj:1.0.1 d:\\temp\\proj\r\nexport d:\\temp\\proj.itwin-workspace, container=5d385232-a2ec-4f31-b74b-8201c027848d, dbName=proj:1.0.1 : complete, 0.013 seconds\r\n```\r\n\r\n> `dbName` must include a version number.\r\n\r\n### deleteDb \\<dbName>\r\n\r\nDelete a `WorkspaceDb` from a cloud `WorkspaceContainer`.\r\n\r\nExample:\r\n\r\n```sh\r\n> WorkspaceEditor deleteDb proj3dt:2.0.0\r\ndeleted WorkspaceDb [proj3dt:2.0.0] from container [5d385232-a2ec-4f31-b74b-8201c027848d]\r\n```\r\n\r\nThis command is not normally used, since older versions of `WorkspaceDb`s may be used by existing or archived projects. It should *only* be used when it can be known that the `WorkspaceDb` is no longer needed for any purpose. Otherwise, leaving old versions in the cloud has very little downside.\r\n\r\n> `dbName` must include a version number.\r\n\r\n### purgeWorkspace\r\n\r\nDelete currently unused blocks from a cloud `WorkspaceContainer`. This is only necessary or useful after vacuuming databases.\r\n\r\n## @ scripts\r\n\r\nIt is sometimes necessary to run WorkspaceEditor in *batch mode*, for example during pipeline jobs. If the first argument to WorkspaceEditor begins with an \"@\", the rest of the argument is a file name from which WorkspaceEditor commands are executed in sequence.\r\n\r\nThe second argument can specify the config file for the script.\r\n\r\n> In @ scripts, anything after an **`#`** is treated as a comment and blank lines are ignored.\r\n\r\nFor example, to run the examples above:\r\n\r\nAssume a file called `importAll.txt` contains:\r\n\r\n```sh\r\n> cat importAll.txt\r\n\r\n# Create a new local WorkspaceDb file and import resources into it\r\n\r\ncreateDb proj # create a new blank WorkspaceDb\r\nadd proj --rscName=equipment-data --type=file r:\\data\\equip.dat # add file\r\nadd proj --type=string --root=r:\\json * # add strings\r\nadd proj --type=blob --root=r:\\dict **\\*.dict # add blob\r\nlistDb proj # so we can tell it worked\r\n```\r\n\r\nrun `importAll.txt` as an @ script using `local.json` as config:\r\n\r\n```sh\r\n> WorkspaceEditor @importAll.txt --config=r:\\local.json\r\ncreated WorkspaceDb r:\\workspaces\\proj112\\proj.itwin-workspace\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n added \"r:/data/equip.dat\" as file resource [equipment-data]\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n added \"r:\\json\\contracts.json\" as string resource [contracts.json]\r\n added \"r:\\json\\firecode.json\" as string resource [firecode.json]\r\n added \"r:\\json\\specs.json\" as string resource [specs.json]\r\n added \"r:\\json\\vendor.json\" as string resource [vendor.json]\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n added \"r:\\dict\\Sparks\\KDE05814.dict\" as blob resource [Sparks/KDE05814.dict]\r\n added \"r:\\dict\\Sparks\\KDE05815.dict\" as blob resource [Sparks/KDE05815.dict]\r\n added \"r:\\dict\\Sparks\\KDE05816.dict\" as blob resource [Sparks/KDE05816.dict]\r\n added \"r:\\dict\\Sparks\\KDE05922.dict\" as blob resource [Sparks/KDE05922.dict]\r\n added \"r:\\dict\\Sparks\\KDE05929.dict\" as blob resource [Sparks/KDE05929.dict]\r\n added \"r:\\dict\\TernKit\\TRN02324.dict\" as blob resource [TernKit/TRN02324.dict]\r\n added \"r:\\dict\\TernKit\\TRN05314.dict\" as blob resource [TernKit/TRN05314.dict]\r\n added \"r:\\dict\\TernKit\\TRN05814.dict\" as blob resource [TernKit/TRN05814.dict]\r\n added \"r:\\dict\\TernKit\\TRN09911.dict\" as blob resource [TernKit/TRN09911.dict]\r\n added \"r:\\dict\\UniSpace\\KRT05554.dict\" as blob resource [UniSpace/KRT05554.dict]\r\n added \"r:\\dict\\UniSpace\\KRT05800.dict\" as blob resource [UniSpace/KRT05800.dict]\r\n added \"r:\\dict\\UniSpace\\KRT05814.dict\" as blob resource [UniSpace/KRT05814.dict]\r\n added \"r:\\dict\\UniSpace\\KRT05820.dict\" as blob resource [UniSpace/KRT05820.dict]\r\n added \"r:\\dict\\UniSpace\\KRT06519.dict\" as blob resource [UniSpace/KRT06519.dict]\r\nWorkspaceDb [r:\\workspaces\\proj112\\proj.itwin-workspace]\r\n strings:\r\n name=contracts.json, size=17K\r\n name=firecode.json, size=3K\r\n name=specs.json, size=8K\r\n name=vendor.json, size=46K\r\n blobs:\r\n name=Sparks/KDE05814.dict, size=224K\r\n name=Sparks/KDE05815.dict, size=307K\r\n name=Sparks/KDE05816.dict, size=32K\r\n name=Sparks/KDE05922.dict, size=56K\r\n name=Sparks/KDE05929.dict, size=15K\r\n name=TernKit/TRN02324.dict, size=405\r\n name=TernKit/TRN05314.dict, size=67K\r\n name=TernKit/TRN05814.dict, size=7K\r\n name=TernKit/TRN09911.dict, size=3K\r\n name=UniSpace/KRT05554.dict, size=2K\r\n name=UniSpace/KRT05800.dict, size=5K\r\n name=UniSpace/KRT05814.dict, size=13K\r\n name=UniSpace/KRT05820.dict, size=7K\r\n name=UniSpace/KRT06519.dict, size=687\r\n files:\r\n name=equipment-data, size=134K, ext=\"dat\", date=Tue Jul 08 2014 13:55:19 GMT-0400 (Eastern Daylight Time)\r\n```\r\n\r\nThen, a separate file called `createCloud.txt` contains:\r\n\r\n```sh\r\n> cat createCloud.txt\r\n\r\n# initialize container and import WorkspaceDb from previous step\r\n\r\ninitializeWorkspace --noPrompt # don't prompt for yes/no\r\nimportDb project proj112\\proj # import WorkspaceDb from local directory into cloud container.\r\nqueryDbs # so we can tell it worked\r\n```\r\nrun `createCloud.txt` as an @ script using `cloud.json` for config:\r\n\r\n```sh\r\n> WorkspaceEditor @r:\\createCloud.txt --config=r:\\cloud.json\r\ncontainer \"5d385232-a2ec-4f31-b74b-8201c027848d initialized\r\nVacuuming r:\\workspaces\\proj112\\proj.itwin-workspace ... done\r\nimport r:\\workspaces\\proj112\\proj.itwin-workspace, container=5d385232-a2ec-4f31-b74b-8201c027848d, dbName=project:1.0.0 : complete, 0.047 seconds\r\nWorkspaceDbs in container [5d385232-a2ec-4f31-b74b-8201c027848d]\r\n \"project:1.0.0\", size=4M, 0M downloaded (0%)\r\n ```\r\n"
|
|
50
51
|
}
|
|
File without changes
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"files": {
|
|
3
|
-
"utils/workspace-editor/.rush/temp/shrinkwrap-deps.json": "c36a326486c4cae20e13b53461a11bc51fcf20fb",
|
|
4
|
-
"utils/workspace-editor/CHANGELOG.json": "e6728be13788eb5ffafb5a53e31934105ac47af3",
|
|
5
|
-
"utils/workspace-editor/CHANGELOG.md": "0bbe393379b9af7ddba8717006235147e9f66bde",
|
|
6
|
-
"utils/workspace-editor/LICENSE.md": "58020927a5ca5cf1a7670e5a88590763a75d946a",
|
|
7
|
-
"utils/workspace-editor/README.md": "1e98b9734d03aa211962205c46b5b99a104ace3f",
|
|
8
|
-
"utils/workspace-editor/package.json": "78248d72cb1e3ea6fc6d2aea798870dcd08df48a",
|
|
9
|
-
"utils/workspace-editor/src/WorkspaceEditor.ts": "23e89e181a1c1de2dab1883546ec5780c1f0dc73",
|
|
10
|
-
"utils/workspace-editor/tsconfig.json": "ac84231ea23f626145faa08df2e6dcab89ea9245"
|
|
11
|
-
},
|
|
12
|
-
"arguments": ""
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"files": {
|
|
3
|
-
"utils/workspace-editor/.rush/temp/shrinkwrap-deps.json": "c36a326486c4cae20e13b53461a11bc51fcf20fb",
|
|
4
|
-
"utils/workspace-editor/CHANGELOG.json": "e6728be13788eb5ffafb5a53e31934105ac47af3",
|
|
5
|
-
"utils/workspace-editor/CHANGELOG.md": "0bbe393379b9af7ddba8717006235147e9f66bde",
|
|
6
|
-
"utils/workspace-editor/LICENSE.md": "58020927a5ca5cf1a7670e5a88590763a75d946a",
|
|
7
|
-
"utils/workspace-editor/README.md": "1e98b9734d03aa211962205c46b5b99a104ace3f",
|
|
8
|
-
"utils/workspace-editor/package.json": "78248d72cb1e3ea6fc6d2aea798870dcd08df48a",
|
|
9
|
-
"utils/workspace-editor/src/WorkspaceEditor.ts": "23e89e181a1c1de2dab1883546ec5780c1f0dc73",
|
|
10
|
-
"utils/workspace-editor/tsconfig.json": "ac84231ea23f626145faa08df2e6dcab89ea9245"
|
|
11
|
-
},
|
|
12
|
-
"arguments": ""
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"files": {
|
|
3
|
-
"utils/workspace-editor/.rush/temp/shrinkwrap-deps.json": "c36a326486c4cae20e13b53461a11bc51fcf20fb",
|
|
4
|
-
"utils/workspace-editor/CHANGELOG.json": "e6728be13788eb5ffafb5a53e31934105ac47af3",
|
|
5
|
-
"utils/workspace-editor/CHANGELOG.md": "0bbe393379b9af7ddba8717006235147e9f66bde",
|
|
6
|
-
"utils/workspace-editor/LICENSE.md": "58020927a5ca5cf1a7670e5a88590763a75d946a",
|
|
7
|
-
"utils/workspace-editor/README.md": "1e98b9734d03aa211962205c46b5b99a104ace3f",
|
|
8
|
-
"utils/workspace-editor/package.json": "78248d72cb1e3ea6fc6d2aea798870dcd08df48a",
|
|
9
|
-
"utils/workspace-editor/src/WorkspaceEditor.ts": "23e89e181a1c1de2dab1883546ec5780c1f0dc73",
|
|
10
|
-
"utils/workspace-editor/tsconfig.json": "ac84231ea23f626145faa08df2e6dcab89ea9245"
|
|
11
|
-
},
|
|
12
|
-
"arguments": "eslint --max-warnings 0 \"./src/**/*.ts\" 1>&2 "
|
|
13
|
-
}
|
|
File without changes
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"../../utils/workspace-editor": "../../utils/workspace-editor:2zNVNQ8tl75r/Hk3k8JYGKb8IIRZSYxGDRFtWR995Ho=:",
|
|
3
|
-
"/@babel/code-frame/7.12.11": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
|
|
4
|
-
"/@babel/helper-validator-identifier/7.16.7": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
|
|
5
|
-
"/@babel/highlight/7.17.9": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
|
|
6
|
-
"/@eslint/eslintrc/0.4.3": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
|
|
7
|
-
"/@humanwhocodes/config-array/0.5.0": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
|
|
8
|
-
"/@humanwhocodes/object-schema/1.2.1": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
|
|
9
|
-
"/@types/chai/4.3.1": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==",
|
|
10
|
-
"/@types/glob/5.0.37": "sha512-ATA/xrS7CZ3A2WCPVY4eKdNpybq56zqlTirnHhhyOztZM/lPxJzusOBI3BsaXbu6FrUluqzvMlI4sZ6BDYMlMg==",
|
|
11
|
-
"/@types/minimatch/3.0.5": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
|
|
12
|
-
"/@types/mocha/8.2.3": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
|
|
13
|
-
"/@types/node/16.11.7": "sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==",
|
|
14
|
-
"/@types/yargs/12.0.20": "sha512-MjOKUoDmNattFOBJvAZng7X9KXIKSGy6XHoXY9mASkKwCn35X4Ckh+Ugv1DewXZXrWYXMNtLiXhlCfWlpcAV+Q==",
|
|
15
|
-
"/@ungap/promise-all-settled/1.1.2": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
|
|
16
|
-
"/acorn-jsx/5.3.2_acorn@7.4.1": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
|
|
17
|
-
"/acorn/7.4.1": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
|
|
18
|
-
"/ajv/6.12.6": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
|
19
|
-
"/ajv/8.11.0": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
|
20
|
-
"/ansi-colors/4.1.1": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
|
|
21
|
-
"/ansi-regex/3.0.1": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
|
|
22
|
-
"/ansi-regex/5.0.1": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
|
23
|
-
"/ansi-styles/3.2.1": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
|
24
|
-
"/ansi-styles/4.3.0": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
|
25
|
-
"/anymatch/3.1.2": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
|
|
26
|
-
"/argparse/1.0.10": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
|
27
|
-
"/argparse/2.0.1": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
|
28
|
-
"/astral-regex/2.0.0": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
|
|
29
|
-
"/balanced-match/1.0.2": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
|
30
|
-
"/binary-extensions/2.2.0": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
|
31
|
-
"/brace-expansion/1.1.11": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
|
32
|
-
"/braces/3.0.2": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
|
33
|
-
"/browser-stdout/1.3.1": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
|
|
34
|
-
"/callsites/3.1.0": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
|
|
35
|
-
"/camelcase/6.3.0": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
|
|
36
|
-
"/chalk/2.4.2": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
|
37
|
-
"/chalk/4.1.2": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
|
38
|
-
"/chokidar/3.5.1": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
|
|
39
|
-
"/cliui/7.0.4": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
|
|
40
|
-
"/color-convert/1.9.3": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
|
41
|
-
"/color-convert/2.0.1": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
|
42
|
-
"/color-name/1.1.3": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
|
43
|
-
"/color-name/1.1.4": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
|
44
|
-
"/concat-map/0.0.1": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
|
|
45
|
-
"/cross-spawn/7.0.3": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
|
|
46
|
-
"/debug/4.3.1_supports-color@8.1.1": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
|
|
47
|
-
"/debug/4.3.4": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
|
48
|
-
"/decamelize/4.0.0": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
|
|
49
|
-
"/deep-is/0.1.4": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
|
|
50
|
-
"/diff/5.0.0": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
|
|
51
|
-
"/doctrine/3.0.0": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
|
|
52
|
-
"/emoji-regex/8.0.0": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
|
53
|
-
"/enquirer/2.3.6": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
|
|
54
|
-
"/escalade/3.1.1": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
|
|
55
|
-
"/escape-string-regexp/1.0.5": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
|
56
|
-
"/escape-string-regexp/4.0.0": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
|
57
|
-
"/eslint-scope/5.1.1": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
|
|
58
|
-
"/eslint-utils/2.1.0": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
|
|
59
|
-
"/eslint-visitor-keys/1.3.0": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
|
|
60
|
-
"/eslint-visitor-keys/2.1.0": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
|
|
61
|
-
"/eslint/7.32.0": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
|
|
62
|
-
"/espree/7.3.1": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
|
|
63
|
-
"/esprima/4.0.1": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
|
64
|
-
"/esquery/1.4.0": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
|
|
65
|
-
"/esrecurse/4.3.0": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
|
|
66
|
-
"/estraverse/4.3.0": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
|
|
67
|
-
"/estraverse/5.3.0": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
|
68
|
-
"/esutils/2.0.3": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
|
69
|
-
"/fast-deep-equal/3.1.3": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
|
70
|
-
"/fast-json-stable-stringify/2.1.0": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
|
|
71
|
-
"/fast-levenshtein/2.0.6": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
|
|
72
|
-
"/file-entry-cache/6.0.1": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
|
|
73
|
-
"/fill-range/7.0.1": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
|
74
|
-
"/find-up/5.0.0": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
|
|
75
|
-
"/flat-cache/3.0.4": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
|
|
76
|
-
"/flat/5.0.2": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
|
|
77
|
-
"/flatted/3.2.5": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
|
|
78
|
-
"/fs.realpath/1.0.0": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
|
79
|
-
"/fsevents/2.3.2": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
|
80
|
-
"/functional-red-black-tree/1.0.1": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
|
|
81
|
-
"/get-caller-file/2.0.5": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
|
82
|
-
"/glob-parent/5.1.2": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
|
83
|
-
"/glob/7.1.6": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
|
84
|
-
"/glob/7.2.0": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
|
|
85
|
-
"/globals/13.14.0": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==",
|
|
86
|
-
"/growl/1.10.5": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
|
|
87
|
-
"/has-flag/3.0.0": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
|
|
88
|
-
"/has-flag/4.0.0": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
|
89
|
-
"/he/1.2.0": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
|
|
90
|
-
"/ignore/4.0.6": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
|
|
91
|
-
"/import-fresh/3.3.0": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
|
|
92
|
-
"/imurmurhash/0.1.4": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
|
|
93
|
-
"/inflight/1.0.6": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
|
94
|
-
"/inherits/2.0.4": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
|
95
|
-
"/is-binary-path/2.1.0": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
|
96
|
-
"/is-extglob/2.1.1": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
|
|
97
|
-
"/is-fullwidth-code-point/2.0.0": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
|
|
98
|
-
"/is-fullwidth-code-point/3.0.0": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
|
99
|
-
"/is-glob/4.0.3": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
|
100
|
-
"/is-number/7.0.0": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
|
101
|
-
"/is-plain-obj/2.1.0": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
|
|
102
|
-
"/isexe/2.0.0": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
|
|
103
|
-
"/js-tokens/4.0.0": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
|
104
|
-
"/js-yaml/3.14.1": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
|
105
|
-
"/js-yaml/4.0.0": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==",
|
|
106
|
-
"/json-schema-traverse/0.4.1": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
|
107
|
-
"/json-schema-traverse/1.0.0": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
|
108
|
-
"/json-stable-stringify-without-jsonify/1.0.1": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
|
|
109
|
-
"/levn/0.4.1": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
|
|
110
|
-
"/locate-path/6.0.0": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
|
|
111
|
-
"/lodash.merge/4.6.2": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
|
112
|
-
"/lodash.truncate/4.4.2": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
|
|
113
|
-
"/log-symbols/4.0.0": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
|
|
114
|
-
"/lru-cache/6.0.0": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
|
115
|
-
"/minimatch/3.0.4": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
|
116
|
-
"/minimatch/3.1.2": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
|
117
|
-
"/mocha/8.4.0": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==",
|
|
118
|
-
"/ms/2.1.2": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
|
119
|
-
"/ms/2.1.3": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
|
120
|
-
"/nanoid/3.1.20": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==",
|
|
121
|
-
"/natural-compare/1.4.0": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
|
|
122
|
-
"/normalize-path/3.0.0": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
|
123
|
-
"/once/1.4.0": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
|
124
|
-
"/optionator/0.9.1": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
|
|
125
|
-
"/p-limit/3.1.0": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
|
|
126
|
-
"/p-locate/5.0.0": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
|
|
127
|
-
"/parent-module/1.0.1": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
|
|
128
|
-
"/path-exists/4.0.0": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
|
|
129
|
-
"/path-is-absolute/1.0.1": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
|
|
130
|
-
"/path-key/3.1.1": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
|
131
|
-
"/picomatch/2.3.1": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
|
132
|
-
"/prelude-ls/1.2.1": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
|
|
133
|
-
"/progress/2.0.3": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
|
|
134
|
-
"/punycode/2.1.1": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
|
|
135
|
-
"/randombytes/2.1.0": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
|
|
136
|
-
"/readdirp/3.5.0": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
|
|
137
|
-
"/regexpp/3.2.0": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
|
|
138
|
-
"/require-directory/2.1.1": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
|
|
139
|
-
"/require-from-string/2.0.2": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
|
|
140
|
-
"/resolve-from/4.0.0": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
|
|
141
|
-
"/rimraf/3.0.2": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
|
142
|
-
"/safe-buffer/5.2.1": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
|
143
|
-
"/semver/7.3.7": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
|
144
|
-
"/serialize-javascript/5.0.1": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
|
|
145
|
-
"/shebang-command/2.0.0": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
|
146
|
-
"/shebang-regex/3.0.0": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
|
147
|
-
"/slice-ansi/4.0.0": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
|
|
148
|
-
"/sprintf-js/1.0.3": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
|
|
149
|
-
"/string-width/2.1.1": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
|
|
150
|
-
"/string-width/4.2.3": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
|
151
|
-
"/strip-ansi/4.0.0": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
|
|
152
|
-
"/strip-ansi/6.0.1": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
|
153
|
-
"/strip-json-comments/3.1.1": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
|
154
|
-
"/supports-color/5.5.0": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
|
155
|
-
"/supports-color/7.2.0": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
|
156
|
-
"/supports-color/8.1.1": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
|
157
|
-
"/table/6.8.0": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
|
|
158
|
-
"/text-table/0.2.0": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
|
|
159
|
-
"/to-regex-range/5.0.1": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
|
160
|
-
"/type-check/0.4.0": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
|
|
161
|
-
"/type-fest/0.20.2": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
|
162
|
-
"/typescript/4.4.4": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==",
|
|
163
|
-
"/uri-js/4.4.1": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
|
164
|
-
"/v8-compile-cache/2.3.0": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
|
|
165
|
-
"/which/2.0.2": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
|
166
|
-
"/wide-align/1.1.3": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
|
|
167
|
-
"/word-wrap/1.2.3": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
|
|
168
|
-
"/workerpool/6.1.0": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==",
|
|
169
|
-
"/wrap-ansi/7.0.0": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
|
170
|
-
"/wrappy/1.0.2": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
|
171
|
-
"/y18n/5.0.8": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
|
|
172
|
-
"/yallist/4.0.0": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
|
173
|
-
"/yargs-parser/20.2.4": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
|
|
174
|
-
"/yargs-parser/20.2.9": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
|
|
175
|
-
"/yargs-unparser/2.0.0": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
|
|
176
|
-
"/yargs/16.2.0": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
|
|
177
|
-
"/yocto-queue/0.1.0": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
|
|
178
|
-
}
|
package/CHANGELOG.json
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@itwin/workspace-editor",
|
|
3
|
-
"entries": [
|
|
4
|
-
{
|
|
5
|
-
"version": "3.1.3",
|
|
6
|
-
"tag": "@itwin/workspace-editor_v3.1.3",
|
|
7
|
-
"date": "Fri, 15 Apr 2022 13:49:25 GMT",
|
|
8
|
-
"comments": {}
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"version": "3.1.2",
|
|
12
|
-
"tag": "@itwin/workspace-editor_v3.1.2",
|
|
13
|
-
"date": "Wed, 06 Apr 2022 22:27:56 GMT",
|
|
14
|
-
"comments": {}
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"version": "3.1.1",
|
|
18
|
-
"tag": "@itwin/workspace-editor_v3.1.1",
|
|
19
|
-
"date": "Thu, 31 Mar 2022 15:55:48 GMT",
|
|
20
|
-
"comments": {}
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"version": "3.1.0",
|
|
24
|
-
"tag": "@itwin/workspace-editor_v3.1.0",
|
|
25
|
-
"date": "Tue, 29 Mar 2022 20:53:47 GMT",
|
|
26
|
-
"comments": {}
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"version": "3.0.3",
|
|
30
|
-
"tag": "@itwin/workspace-editor_v3.0.3",
|
|
31
|
-
"date": "Fri, 25 Mar 2022 15:10:02 GMT",
|
|
32
|
-
"comments": {}
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"version": "3.0.2",
|
|
36
|
-
"tag": "@itwin/workspace-editor_v3.0.2",
|
|
37
|
-
"date": "Thu, 10 Mar 2022 21:18:13 GMT",
|
|
38
|
-
"comments": {}
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"version": "3.0.1",
|
|
42
|
-
"tag": "@itwin/workspace-editor_v3.0.1",
|
|
43
|
-
"date": "Thu, 24 Feb 2022 15:26:55 GMT",
|
|
44
|
-
"comments": {}
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"version": "3.0.0",
|
|
48
|
-
"tag": "@itwin/workspace-editor_v3.0.0",
|
|
49
|
-
"date": "Mon, 24 Jan 2022 14:00:52 GMT",
|
|
50
|
-
"comments": {
|
|
51
|
-
"none": [
|
|
52
|
-
{
|
|
53
|
-
"comment": "new"
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# Change Log - @itwin/workspace-editor
|
|
2
|
-
|
|
3
|
-
This log was last generated on Fri, 15 Apr 2022 13:49:25 GMT and should not be manually modified.
|
|
4
|
-
|
|
5
|
-
## 3.1.3
|
|
6
|
-
Fri, 15 Apr 2022 13:49:25 GMT
|
|
7
|
-
|
|
8
|
-
_Version update only_
|
|
9
|
-
|
|
10
|
-
## 3.1.2
|
|
11
|
-
Wed, 06 Apr 2022 22:27:56 GMT
|
|
12
|
-
|
|
13
|
-
_Version update only_
|
|
14
|
-
|
|
15
|
-
## 3.1.1
|
|
16
|
-
Thu, 31 Mar 2022 15:55:48 GMT
|
|
17
|
-
|
|
18
|
-
_Version update only_
|
|
19
|
-
|
|
20
|
-
## 3.1.0
|
|
21
|
-
Tue, 29 Mar 2022 20:53:47 GMT
|
|
22
|
-
|
|
23
|
-
_Version update only_
|
|
24
|
-
|
|
25
|
-
## 3.0.3
|
|
26
|
-
Fri, 25 Mar 2022 15:10:02 GMT
|
|
27
|
-
|
|
28
|
-
_Version update only_
|
|
29
|
-
|
|
30
|
-
## 3.0.2
|
|
31
|
-
Thu, 10 Mar 2022 21:18:13 GMT
|
|
32
|
-
|
|
33
|
-
_Version update only_
|
|
34
|
-
|
|
35
|
-
## 3.0.1
|
|
36
|
-
Thu, 24 Feb 2022 15:26:55 GMT
|
|
37
|
-
|
|
38
|
-
_Version update only_
|
|
39
|
-
|
|
40
|
-
## 3.0.0
|
|
41
|
-
Mon, 24 Jan 2022 14:00:52 GMT
|
|
42
|
-
|
|
43
|
-
### Updates
|
|
44
|
-
|
|
45
|
-
- new
|
|
46
|
-
|
package/lib/WorkspaceEditor.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceEditor.d.ts","sourceRoot":"","sources":["../src/WorkspaceEditor.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceEditor.js","sourceRoot":"","sources":["../src/WorkspaceEditor.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as fs from \"fs\";\r\nimport * as glob from \"glob\";\r\nimport { join } from \"path\";\r\nimport * as readline from \"readline\";\r\nimport * as Yargs from \"yargs\";\r\nimport {\r\n CloudSqlite,\r\n EditableWorkspaceDb, IModelHost, IModelHostConfiguration, IModelJsFs, ITwinWorkspaceDb, WorkspaceContainerId, WorkspaceDbName,\r\n WorkspaceResourceName,\r\n} from \"@itwin/core-backend\";\r\nimport { DbResult, StopWatch } from \"@itwin/core-bentley\";\r\nimport { LocalDirName, LocalFileName } from \"@itwin/core-common\";\r\n\r\n// cspell:ignore nodir\r\n/* eslint-disable id-blacklist,no-console */\r\n\r\n/** Properties for accessing a blob storage account. */\r\ninterface BlobAccountProps {\r\n /** Token that provides required access (read/write/create/etc.) for blob store operation. */\r\n sasToken: string;\r\n /** Name for blob store user account */\r\n accountName: string;\r\n /** The string that identifies the storage type. Default = \"azure?sas=1\" */\r\n storageType: string;\r\n}\r\n\r\n/** Allows overriding the location of WorkspaceDbs. If not present, defaults to `${homedir}/iTwin/Workspace` */\r\ninterface EditorOpts extends BlobAccountProps {\r\n /** Directory for WorkspaceDbs */\r\n directory?: LocalDirName;\r\n containerId: WorkspaceContainerId;\r\n}\r\n\r\n/** Id of WorkspaceDb for operation */\r\ninterface WorkspaceDbOpt extends EditorOpts {\r\n dbName: WorkspaceDbName;\r\n}\r\n\r\n/** Resource type names */\r\ntype RscType = \"blob\" | \"string\" | \"file\";\r\n\r\n/** Options for adding, updating, extracting, or deleting resources from a WorkspaceDb */\r\ninterface ResourceOption extends WorkspaceDbOpt {\r\n rscName?: WorkspaceResourceName;\r\n update: boolean;\r\n type: RscType;\r\n}\r\n\r\n/** Options for deleting resources from a WorkspaceDb */\r\ninterface RemoveResourceOpts extends ResourceOption {\r\n rscName: WorkspaceResourceName;\r\n}\r\n\r\n/** Options for extracting resources from a WorkspaceDb */\r\ninterface ExtractResourceOpts extends ResourceOption {\r\n rscName: WorkspaceResourceName;\r\n fileName: LocalFileName;\r\n}\r\n\r\n/** Options for adding or updating local files as resources into a WorkspaceDb */\r\ninterface AddFileOptions extends ResourceOption {\r\n files: LocalFileName;\r\n root?: LocalDirName;\r\n}\r\n\r\n/** Options for listing the resources in a WorkspaceDb */\r\ninterface ListOptions extends WorkspaceDbOpt {\r\n strings?: boolean;\r\n files?: boolean;\r\n blobs?: boolean;\r\n}\r\n\r\ninterface TransferOptions extends BlobAccountProps, WorkspaceDbOpt {\r\n /** If present, name of local file for download. */\r\n localFile?: string;\r\n}\r\n\r\n/** Options for uploading a WorkspaceDb to blob storage */\r\ninterface UploadOptions extends TransferOptions {\r\n initialize: boolean;\r\n replace: boolean;\r\n}\r\n\r\n/** Create a new empty WorkspaceDb */\r\nasync function createWorkspaceDb(args: WorkspaceDbOpt) {\r\n const wsFile = new EditableWorkspaceDb(args.dbName, IModelHost.appWorkspace.getContainer(args));\r\n wsFile.create();\r\n console.log(`created WorkspaceDb ${wsFile.sqliteDb.nativeDb.getFilePath()}`);\r\n wsFile.close();\r\n}\r\n\r\n/** open, call a function to process, then close a WorkspaceDb */\r\nfunction processWorkspace<W extends ITwinWorkspaceDb, T extends WorkspaceDbOpt>(args: T, ws: W, fn: (ws: W, args: T) => void) {\r\n ws.open();\r\n console.log(`WorkspaceDb [${ws.sqliteDb.nativeDb.getFilePath()}]`);\r\n try {\r\n fn(ws, args);\r\n } finally {\r\n ws.close();\r\n }\r\n}\r\n\r\n/** Open for write, call a function to process, then close a WorkspaceDb */\r\nfunction editWorkspace<T extends WorkspaceDbOpt>(args: T, fn: (ws: EditableWorkspaceDb, args: T) => void) {\r\n processWorkspace(args, new EditableWorkspaceDb(args.dbName, IModelHost.appWorkspace.getContainer(args)), fn);\r\n}\r\n\r\n/** Open for read, call a function to process, then close a WorkspaceDb */\r\nfunction readWorkspace<T extends WorkspaceDbOpt>(args: T, fn: (ws: ITwinWorkspaceDb, args: T) => void) {\r\n processWorkspace(args, new ITwinWorkspaceDb(args.dbName, IModelHost.appWorkspace.getContainer(args)), fn);\r\n}\r\n\r\n/** List the contents of a WorkspaceDb */\r\nasync function listWorkspaceDb(args: ListOptions) {\r\n readWorkspace(args, (file, args) => {\r\n if (!args.strings && !args.blobs && !args.files)\r\n args.blobs = args.files = args.strings = true;\r\n\r\n if (args.strings) {\r\n console.log(\" strings:\");\r\n file.sqliteDb.withSqliteStatement(\"SELECT id,value FROM strings\", (stmt) => {\r\n while (DbResult.BE_SQLITE_ROW === stmt.step())\r\n console.log(` name=[${stmt.getValueString(0)}], size=${stmt.getValueString(1).length}`);\r\n });\r\n }\r\n if (args.blobs) {\r\n console.log(\" blobs:\");\r\n file.sqliteDb.withSqliteStatement(\"SELECT id,value FROM blobs\", (stmt) => {\r\n while (DbResult.BE_SQLITE_ROW === stmt.step())\r\n console.log(` name=[${stmt.getValueString(0)}], size=${stmt.getValueBlob(1).length}`);\r\n });\r\n }\r\n if (args.files) {\r\n console.log(\" files:\");\r\n file.sqliteDb.withSqliteStatement(\"SELECT name FROM be_EmbedFile\", (stmt) => {\r\n while (DbResult.BE_SQLITE_ROW === stmt.step()) {\r\n const embed = file.queryFileResource(stmt.getValueString(0));\r\n if (embed) {\r\n const info = embed.info;\r\n const date = new Date(info.date);\r\n console.log(` name=[${stmt.getValueString(0)}], size=${info.size}, ext=\"${info.fileExt}\", date=${date.toString()}`);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n}\r\n\r\n/** Add or Update files into a WorkspaceDb. */\r\nasync function addResource(args: AddFileOptions) {\r\n editWorkspace(args, (wsFile, args) => {\r\n glob.sync(args.files, { cwd: args.root ?? process.cwd(), nodir: true }).forEach((filePath) => {\r\n const file = args.root ? join(args.root, filePath) : filePath;\r\n if (!IModelJsFs.existsSync(file))\r\n throw new Error(`file [${file}] does not exist`);\r\n const name = args.rscName ?? filePath;\r\n try {\r\n if (args.type === \"string\") {\r\n const val = fs.readFileSync(file, \"utf-8\");\r\n wsFile[args.update ? \"updateString\" : \"addString\"](name, val);\r\n } else if (args.type === \"blob\") {\r\n const val = fs.readFileSync(file);\r\n wsFile[args.update ? \"updateBlob\" : \"addBlob\"](name, val);\r\n } else {\r\n wsFile[args.update ? \"updateFile\" : \"addFile\"](name, file);\r\n }\r\n console.log(` ${args.update ? \"updated\" : \"added\"} \"${file}\" as ${args.type} resource [${name}]`);\r\n } catch (e: any) {\r\n console.error(e.message);\r\n }\r\n });\r\n });\r\n}\r\n\r\n/** Extract a single resource from a WorkspaceDb into a local file */\r\nasync function extractResource(args: ExtractResourceOpts) {\r\n readWorkspace(args, (file, args) => {\r\n const verify = <T>(val: T | undefined): T => {\r\n if (val === undefined)\r\n throw new Error(` ${args.type} resource \"${args.rscName}\" does not exist`);\r\n return val;\r\n };\r\n\r\n if (args.type === \"string\") {\r\n fs.writeFileSync(args.fileName, verify(file.getString(args.rscName)));\r\n } else if (args.type === \"blob\") {\r\n fs.writeFileSync(args.fileName, verify(file.getBlob(args.rscName)));\r\n } else {\r\n verify(file.getFile(args.rscName, args.fileName));\r\n }\r\n console.log(` ${args.type} resource [${args.rscName}] extracted to \"${args.fileName}\"`);\r\n });\r\n}\r\n\r\n/** Remove a single resource from a WorkspaceDb */\r\nasync function removeResource(args: RemoveResourceOpts) {\r\n editWorkspace(args, (wsFile, args) => {\r\n if (args.type === \"string\")\r\n wsFile.removeString(args.rscName);\r\n else if (args.type === \"blob\")\r\n wsFile.removeBlob(args.rscName);\r\n else\r\n wsFile.removeFile(args.rscName);\r\n console.log(` removed ${args.type} resource [${args.rscName}]`);\r\n });\r\n}\r\n\r\nfunction getDbFileName(args: WorkspaceDbOpt): LocalFileName {\r\n return new ITwinWorkspaceDb(args.dbName, IModelHost.appWorkspace.getContainer(args)).localFile;\r\n}\r\n\r\n/** Vacuum a local WorkspaceDb file, usually immediately prior to uploading. */\r\nasync function vacuumWorkspaceDb(args: WorkspaceDbOpt) {\r\n const localFile = getDbFileName(args);\r\n IModelHost.platform.DgnDb.vacuum(localFile);\r\n console.log(`${localFile} vacuumed`);\r\n}\r\n\r\n/** Either upload or download a WorkspaceDb to/from a WorkspaceContainer. Shows progress % during transfer */\r\nasync function performTransfer(direction: CloudSqlite.TransferDirection, args: TransferOptions) {\r\n const localFile = args.localFile ?? getDbFileName(args);\r\n const info = `${direction} ${localFile}, containerId=${args.containerId}, WorkspaceDbName=${args.dbName} : `;\r\n\r\n let last = 0;\r\n const onProgress = (loaded: number, total: number) => {\r\n if (loaded > last) {\r\n last = loaded;\r\n const message = ` ${(loaded * 100 / total).toFixed(2)}%`;\r\n readline.cursorTo(process.stdout, info.length);\r\n process.stdout.write(message);\r\n }\r\n return 0;\r\n };\r\n process.stdout.write(info);\r\n const timer = new StopWatch(direction, true);\r\n await CloudSqlite.transferDb(direction, { ...args, localFile, onProgress });\r\n readline.cursorTo(process.stdout, info.length);\r\n process.stdout.write(`complete, ${timer.elapsedSeconds.toString()} seconds`);\r\n}\r\n\r\n/** Upload a WorkspaceDb to a WorkspaceContainer. */\r\nasync function uploadWorkspaceDb(args: UploadOptions) {\r\n if (args.initialize)\r\n await CloudSqlite.initializeContainer(args);\r\n return performTransfer(\"upload\", args);\r\n}\r\n\r\n/** Download a WorkspaceDb from a WorkspaceContainer. */\r\nasync function downloadWorkspaceDb(args: TransferOptions) {\r\n return performTransfer(\"download\", args);\r\n}\r\n\r\n/** Delete a WorkspaceDb from a WorkspaceContainer. */\r\nasync function deleteWorkspaceDb(args: BlobAccountProps & WorkspaceDbOpt) {\r\n await CloudSqlite.deleteDb(args);\r\n console.log(`deleted WorkspaceDb [${args.dbName}] from containerId: ${args.containerId}`);\r\n}\r\n\r\n/** Start `IModelHost`, then run a WorkspaceEditor command. Errors are logged to console. */\r\nfunction runCommand<T extends EditorOpts>(cmd: (args: T) => Promise<void>) {\r\n return async (args: T) => {\r\n try {\r\n const config = new IModelHostConfiguration();\r\n if (args.directory)\r\n config.workspace = { containerDir: args.directory };\r\n await IModelHost.startup(config);\r\n await cmd(args);\r\n } catch (e: any) {\r\n console.error(e.message);\r\n }\r\n };\r\n}\r\n\r\n/** Parse and execute WorkspaceEditor commands */\r\nasync function main() {\r\n const type = { alias: \"t\", describe: \"the type of resource\", choices: [\"blob\", \"string\", \"file\"], required: true };\r\n const update = { alias: \"u\", describe: \"update (i.e. replace) rather than add the files\", boolean: true, default: false };\r\n Yargs.usage(\"Edits or lists contents of a WorkspaceDb\");\r\n Yargs.wrap(Math.min(130, Yargs.terminalWidth()));\r\n Yargs.strict();\r\n Yargs.config();\r\n Yargs.default(\"config\", \"workspaceEditor.json\");\r\n Yargs.help();\r\n Yargs.version(\"V2.0\");\r\n Yargs.options({\r\n directory: { alias: \"d\", describe: \"directory to use for WorkspaceContainers\", string: true },\r\n containerId: { alias: \"c\", describe: \"WorkspaceContainerId for WorkspaceDb\", string: true, required: true },\r\n sasToken: { alias: \"s\", describe: \"shared access signature token\", string: true, default: \"\" },\r\n accountName: { alias: \"a\", describe: \"cloud storage account name for container\", string: true, default: \"\" },\r\n storageType: { describe: \"storage module type\", string: true, default: \"azure?sas=1\" },\r\n });\r\n Yargs.command({\r\n command: \"create <dbName>\",\r\n describe: \"create a new WorkspaceDb\",\r\n handler: runCommand(createWorkspaceDb),\r\n });\r\n Yargs.command({\r\n command: \"list <dbName>\",\r\n describe: \"list the contents of a WorkspaceDb\",\r\n builder: {\r\n strings: { alias: \"s\", describe: \"list string resources\", boolean: true, default: false },\r\n blobs: { alias: \"b\", describe: \"list blob resources\", boolean: true, default: false },\r\n files: { alias: \"f\", describe: \"list file resources\", boolean: true, default: false },\r\n },\r\n handler: runCommand(listWorkspaceDb),\r\n });\r\n Yargs.command({\r\n command: \"add <dbName> <files>\",\r\n describe: \"add or update files into a WorkspaceDb\",\r\n builder: {\r\n name: { alias: \"n\", describe: \"resource name for file\", string: true },\r\n root: { alias: \"r\", describe: \"root directory. Path parts after this will be saved in resource name\", string: true },\r\n update,\r\n type,\r\n },\r\n handler: runCommand(addResource),\r\n });\r\n Yargs.command({\r\n command: \"extract <dbName> <rscName> <fileName>\",\r\n describe: \"extract a resource from a WorkspaceDb into a local file\",\r\n builder: { type },\r\n handler: runCommand(extractResource),\r\n });\r\n Yargs.command({\r\n command: \"remove <dbName> <rscName>\",\r\n describe: \"remove a resource from a WorkspaceDb\",\r\n builder: { type },\r\n handler: runCommand(removeResource),\r\n });\r\n Yargs.command({\r\n command: \"upload <dbName>\",\r\n describe: \"upload a WorkspaceDb to cloud storage\",\r\n builder: {\r\n initialize: { alias: \"i\", describe: \"initialize container\", boolean: true, default: false },\r\n localFile: { alias: \"l\", describe: \"name of source local file\", string: true, required: false },\r\n },\r\n handler: runCommand(uploadWorkspaceDb),\r\n });\r\n Yargs.command({\r\n command: \"download <dbName>\",\r\n describe: \"download a WorkspaceDb from cloud storage to local file\",\r\n builder: {\r\n localFile: { alias: \"l\", describe: \"name of target local file\", string: true, required: false },\r\n },\r\n handler: runCommand(downloadWorkspaceDb),\r\n });\r\n Yargs.command({\r\n command: \"delete <dbName>\",\r\n describe: \"delete a WorkspaceDb from cloud storage\",\r\n handler: runCommand(deleteWorkspaceDb),\r\n });\r\n Yargs.command({\r\n command: \"vacuum <dbName>\",\r\n describe: \"vacuum a WorkspaceDb\",\r\n handler: runCommand(vacuumWorkspaceDb),\r\n });\r\n Yargs.demandCommand();\r\n Yargs.argv;\r\n}\r\n\r\nvoid main();\r\n"]}
|