@basemaps/cli 6.34.0 → 6.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -0
- package/README.md +12 -0
- package/build/cli/cogify/action.cog.d.ts +1 -0
- package/build/cli/cogify/action.cog.d.ts.map +1 -1
- package/build/cli/cogify/action.cog.js +29 -17
- package/build/cli/cogify/action.cog.js.map +1 -1
- package/build/cli/cogify/action.make.cog.d.ts +22 -0
- package/build/cli/cogify/action.make.cog.d.ts.map +1 -0
- package/build/cli/cogify/action.make.cog.js +191 -0
- package/build/cli/cogify/action.make.cog.js.map +1 -0
- package/build/cli/cogify/cutline.d.ts +5 -0
- package/build/cli/cogify/cutline.d.ts.map +1 -0
- package/build/cli/cogify/cutline.js +33 -0
- package/build/cli/cogify/cutline.js.map +1 -0
- package/build/cli/cogify/imagery.config.d.ts +3 -2
- package/build/cli/cogify/imagery.config.d.ts.map +1 -1
- package/build/cli/cogify/imagery.config.js +10 -10
- package/build/cli/cogify/imagery.config.js.map +1 -1
- package/build/cli/config/action.cog.mapsheet.d.ts +10 -0
- package/build/cli/config/action.cog.mapsheet.d.ts.map +1 -0
- package/build/cli/config/action.cog.mapsheet.js +89 -0
- package/build/cli/config/action.cog.mapsheet.js.map +1 -0
- package/build/cli/config/action.imagery.config.d.ts +1 -1
- package/build/cli/config/action.imagery.config.d.ts.map +1 -1
- package/build/cli/config/action.imagery.config.js +33 -21
- package/build/cli/config/action.imagery.config.js.map +1 -1
- package/build/cli/config/action.import.d.ts +14 -1
- package/build/cli/config/action.import.d.ts.map +1 -1
- package/build/cli/config/action.import.js +105 -10
- package/build/cli/config/action.import.js.map +1 -1
- package/build/cli/config/config.update.d.ts +3 -2
- package/build/cli/config/config.update.d.ts.map +1 -1
- package/build/cli/config/config.update.js +9 -7
- package/build/cli/config/config.update.js.map +1 -1
- package/build/cli/index.d.ts.map +1 -1
- package/build/cli/index.js +4 -4
- package/build/cli/index.js.map +1 -1
- package/build/cli/server/action.serve.d.ts.map +1 -1
- package/build/cli/server/action.serve.js +2 -8
- package/build/cli/server/action.serve.js.map +1 -1
- package/package.json +8 -8
- package/build/cli/aws/__tests__/action.aws.test.d.ts +0 -2
- package/build/cli/aws/__tests__/action.aws.test.d.ts.map +0 -1
- package/build/cli/aws/__tests__/action.aws.test.js +0 -78
- package/build/cli/aws/__tests__/action.aws.test.js.map +0 -1
- package/build/cli/aws/__tests__/size.test.d.ts +0 -2
- package/build/cli/aws/__tests__/size.test.d.ts.map +0 -1
- package/build/cli/aws/__tests__/size.test.js +0 -51
- package/build/cli/aws/__tests__/size.test.js.map +0 -1
- package/build/cli/aws/action.aws.list.d.ts +0 -22
- package/build/cli/aws/action.aws.list.d.ts.map +0 -1
- package/build/cli/aws/action.aws.list.js +0 -116
- package/build/cli/aws/action.aws.list.js.map +0 -1
- package/build/cli/aws/sizes.d.ts +0 -8
- package/build/cli/aws/sizes.d.ts.map +0 -1
- package/build/cli/aws/sizes.js +0 -30
- package/build/cli/aws/sizes.js.map +0 -1
- package/build/cli/screenshot/action.screenshot.d.ts +0 -19
- package/build/cli/screenshot/action.screenshot.d.ts.map +0 -1
- package/build/cli/screenshot/action.screenshot.js +0 -115
- package/build/cli/screenshot/action.screenshot.js.map +0 -1
- package/build/cli/screenshot/test.tiles.d.ts +0 -48
- package/build/cli/screenshot/test.tiles.d.ts.map +0 -1
- package/build/cli/screenshot/test.tiles.js +0 -115
- package/build/cli/screenshot/test.tiles.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,54 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [6.36.0](https://github.com/linz/basemaps/compare/v6.35.0...v6.36.0) (2022-10-18)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **cli:** Remove check list aws batch running jobs in the split job cli. ([#2507](https://github.com/linz/basemaps/issues/2507)) ([b376db5](https://github.com/linz/basemaps/commit/b376db56229f8dabbf9fd97d636dac2be11af046))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **cli:** Add asset into config bundle record BM-693 ([#2528](https://github.com/linz/basemaps/issues/2528)) ([72bdd9b](https://github.com/linz/basemaps/commit/72bdd9bbccf6b9d4c865c931f1fafb3f56c98729))
|
|
17
|
+
* **cli:** Allow empty string as null values in the make-cog cli. ([#2504](https://github.com/linz/basemaps/issues/2504)) ([05aadd7](https://github.com/linz/basemaps/commit/05aadd77a2aa4fe30fe4df996c6789abf264155e))
|
|
18
|
+
* **cli:** Find the source and output location with the aws role. ([#2510](https://github.com/linz/basemaps/issues/2510)) ([660a53d](https://github.com/linz/basemaps/commit/660a53da6bc40cdf27888fa0bef0decfd1942f65))
|
|
19
|
+
* **cli:** Make cog to limit the maxImageSize and support local output. ([#2514](https://github.com/linz/basemaps/issues/2514)) ([9673c86](https://github.com/linz/basemaps/commit/9673c86108a6f0475c2b17b50a838107cb0c5c5c))
|
|
20
|
+
* **cli:** Merge make-cog and split-job cli into one cli. ([#2508](https://github.com/linz/basemaps/issues/2508)) ([9599b14](https://github.com/linz/basemaps/commit/9599b14230a5a9749c3147fdccaf401c239b94e2))
|
|
21
|
+
* **cli:** New split job cli to chunk job.json into sub jobs. ([#2502](https://github.com/linz/basemaps/issues/2502)) ([a2ac1ee](https://github.com/linz/basemaps/commit/a2ac1eed03bc589623d9fbe2424be362137b9c32))
|
|
22
|
+
* **cli:** Prepare markdown for config changes to update the pull request BM-605 ([#2520](https://github.com/linz/basemaps/issues/2520)) ([be64a25](https://github.com/linz/basemaps/commit/be64a254ef070a2f8b9fd0841312376434925672))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# [6.35.0](https://github.com/linz/basemaps/compare/v6.34.0...v6.35.0) (2022-09-14)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* **cli:** Add a year at end of imagery name to fix the broken attribution ([#2455](https://github.com/linz/basemaps/issues/2455)) ([05b5ec8](https://github.com/linz/basemaps/commit/05b5ec8621244fe2b210a31e5495e6578bc3910f))
|
|
34
|
+
* **cli:** Filter out the removed layers with minZoom:32. ([#2477](https://github.com/linz/basemaps/issues/2477)) ([d3c9adb](https://github.com/linz/basemaps/commit/d3c9adb8e2f254731243d5bb29ce8d1fc8a8d261))
|
|
35
|
+
* **cli:** Fix the output url to include the -year at end, and add debug into url. ([#2467](https://github.com/linz/basemaps/issues/2467)) ([8481e8d](https://github.com/linz/basemaps/commit/8481e8db1a9eebbd4f10eee96294981468f71068))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
### Features
|
|
39
|
+
|
|
40
|
+
* **cli:** New cli to make cog and create job.json for it. ([#2497](https://github.com/linz/basemaps/issues/2497)) ([41f1379](https://github.com/linz/basemaps/commit/41f1379ca3265e985f316baa13c99546495a89e1))
|
|
41
|
+
* switch to aws role provider from chunkd ([#2473](https://github.com/linz/basemaps/issues/2473)) ([87be0e0](https://github.com/linz/basemaps/commit/87be0e08610f02003cb4ec3f6ced9b2051ee1617))
|
|
42
|
+
* **cli:** Add a output for written url to argo workflow output. ([#2459](https://github.com/linz/basemaps/issues/2459)) ([d1bcc95](https://github.com/linz/basemaps/commit/d1bcc95ca4c6b00dccb0ba0c3a70161890bfd1a2))
|
|
43
|
+
* **cli:** Config creation cli to include centre location in the output url. ([#2453](https://github.com/linz/basemaps/issues/2453)) ([06a9e5b](https://github.com/linz/basemaps/commit/06a9e5baacf57eb00e47c89b31585ba7ef14aea7))
|
|
44
|
+
* **cli:** include url for processed imagery ([#2447](https://github.com/linz/basemaps/issues/2447)) ([150550e](https://github.com/linz/basemaps/commit/150550e06b7ce0382157196b03ed9cfb36e49972))
|
|
45
|
+
* **cli:** move screenshot tool into linz/basemaps-screenshot ([#2429](https://github.com/linz/basemaps/issues/2429)) ([27463d3](https://github.com/linz/basemaps/commit/27463d35b424669d6f2e945184a0b15ca3067801))
|
|
46
|
+
* **cli:** New cli to create cog map sheet from a give fgb file and config. ([#2472](https://github.com/linz/basemaps/issues/2472)) ([6cf2563](https://github.com/linz/basemaps/commit/6cf25638e2ae4fe365aa78ab77cd0d319c02d7a0))
|
|
47
|
+
* **cli:** Remove the role config parameter as confusing with config, pass it with env. ([#2474](https://github.com/linz/basemaps/issues/2474)) ([79619ee](https://github.com/linz/basemaps/commit/79619ee2797563bc768abdd4ce20a0302149180f))
|
|
48
|
+
* allow loading config from ?config ([#2442](https://github.com/linz/basemaps/issues/2442)) ([8f946d8](https://github.com/linz/basemaps/commit/8f946d8ffb155304b80c26aca0faf4c64136390f))
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
6
54
|
# [6.34.0](https://github.com/linz/basemaps/compare/v6.33.0...v6.34.0) (2022-08-17)
|
|
7
55
|
|
|
8
56
|
|
package/README.md
CHANGED
|
@@ -82,6 +82,18 @@ Build a specific COG
|
|
|
82
82
|
./bin/bmc.js -V cog --job ./cogs/01DYREBEEFFXEPBAYBED2TMAFJ/job.json --name 1-2-3 --commit
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
+
Make cog job json
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
./bin/bmc.js -V make-cog --imagery s3://imagery_path --target destination_bucket --name imagery_name --tile-matrix NZTM2000Quad --output ./jobs.json
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Split make cog job into chunked sub-jobs
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
./bin/bmc.js -V split-job --job s3://imagery_path/job.json --output jobs.json
|
|
95
|
+
```
|
|
96
|
+
|
|
85
97
|
## Advanced Job creation
|
|
86
98
|
|
|
87
99
|
Useful configuration options for `cogify job`
|
|
@@ -8,6 +8,7 @@ export declare class CommandCogCreate extends CommandLineAction {
|
|
|
8
8
|
private commit?;
|
|
9
9
|
private cogIndex?;
|
|
10
10
|
constructor();
|
|
11
|
+
parseName(name: string): string[];
|
|
11
12
|
getNames(job: CogJob): Set<string> | null;
|
|
12
13
|
onExecute(): Promise<void>;
|
|
13
14
|
processTiff(job: CogStacJob, tiffName: string, tmpFolder: string, isCommit: boolean, logger: LogType): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.cog.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/action.cog.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"action.cog.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/action.cog.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEpG,OAAO,EACL,iBAAiB,EAKlB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAQ5C,qBAAa,gBAAiB,SAAQ,iBAAiB;IACrD,OAAO,CAAC,GAAG,CAAC,CAA6B;IACzC,OAAO,CAAC,IAAI,CAAC,CAAiC;IAC9C,OAAO,CAAC,MAAM,CAAC,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAAkC;;IAUnD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IASjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI;IA+CnC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD1B,WAAW,CACf,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC;IA2ChB,2DAA2D;IACrD,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCrE,SAAS,CAAC,kBAAkB,IAAI,IAAI;CA4BrC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Env, fsa, getDefaultConfig, LogConfig, LoggerFatalError } from '@basemaps/shared';
|
|
2
2
|
import { CliId } from '@basemaps/shared/build/cli/base.js';
|
|
3
3
|
import { CommandLineAction, } from '@rushstack/ts-command-line';
|
|
4
4
|
import { createReadStream, promises as fs } from 'fs';
|
|
@@ -20,6 +20,15 @@ export class CommandCogCreate extends CommandLineAction {
|
|
|
20
20
|
documentation: 'Create a COG for the specified cog name',
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
+
parseName(name) {
|
|
24
|
+
// Name could both be a string or a array type of string
|
|
25
|
+
try {
|
|
26
|
+
return JSON.parse(name);
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
return [name];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
23
32
|
getNames(job) {
|
|
24
33
|
var _a, _b;
|
|
25
34
|
const output = new Set();
|
|
@@ -45,12 +54,15 @@ export class CommandCogCreate extends CommandLineAction {
|
|
|
45
54
|
return output;
|
|
46
55
|
}
|
|
47
56
|
const names = (_b = this.name) === null || _b === void 0 ? void 0 : _b.values;
|
|
48
|
-
if (names
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
57
|
+
if (names != null) {
|
|
58
|
+
for (const nameStr of names) {
|
|
59
|
+
const nameArr = this.parseName(nameStr);
|
|
60
|
+
for (const name of nameArr) {
|
|
61
|
+
if (!files.find((r) => r.name === name))
|
|
62
|
+
throw new LoggerFatalError({ name, names: files.map((r) => r.name).join(', ') }, 'Name does not exist inside job');
|
|
63
|
+
output.add(name);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
54
66
|
}
|
|
55
67
|
return output;
|
|
56
68
|
}
|
|
@@ -59,6 +71,7 @@ export class CommandCogCreate extends CommandLineAction {
|
|
|
59
71
|
const jobLocation = (_a = this.job) === null || _a === void 0 ? void 0 : _a.value;
|
|
60
72
|
if (jobLocation == null)
|
|
61
73
|
throw new Error('Missing job name');
|
|
74
|
+
const cfg = getDefaultConfig();
|
|
62
75
|
const isCommit = (_c = (_b = this.commit) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : false;
|
|
63
76
|
const job = await CogStacJob.load(jobLocation);
|
|
64
77
|
const logger = LogConfig.get().child({
|
|
@@ -84,14 +97,14 @@ export class CommandCogCreate extends CommandLineAction {
|
|
|
84
97
|
const processingId = job.json.processingId;
|
|
85
98
|
if (processingId != null) {
|
|
86
99
|
// Update job status if this is the processing job.
|
|
87
|
-
const jobConfig = await
|
|
100
|
+
const jobConfig = await cfg.ProcessingJob.get(processingId);
|
|
88
101
|
if (jobConfig == null)
|
|
89
102
|
throw new Error('Unable to find Job Processing Config:' + processingId);
|
|
90
103
|
const jobFailed = jobConfig;
|
|
91
104
|
jobFailed.status = JobStatus.Fail;
|
|
92
105
|
jobFailed.error = String(e);
|
|
93
|
-
if (
|
|
94
|
-
await
|
|
106
|
+
if (cfg.ProcessingJob.isWriteable())
|
|
107
|
+
await cfg.ProcessingJob.put(jobFailed);
|
|
95
108
|
else
|
|
96
109
|
throw new Error('Unable update the Processing Job status:' + jobFailed.id);
|
|
97
110
|
}
|
|
@@ -156,24 +169,23 @@ export class CommandCogCreate extends CommandLineAction {
|
|
|
156
169
|
continue;
|
|
157
170
|
expectedTiffs.delete(basename);
|
|
158
171
|
}
|
|
172
|
+
const cfg = getDefaultConfig();
|
|
159
173
|
if (expectedTiffs.size === 0) {
|
|
160
174
|
// Insert Imagery and TileSet Config
|
|
161
|
-
await insertConfigImagery(job, logger);
|
|
162
|
-
await insertConfigTileSet(job, logger);
|
|
175
|
+
await insertConfigImagery(cfg, job, logger);
|
|
176
|
+
await insertConfigTileSet(cfg, job, logger);
|
|
163
177
|
// Update job status if this is the processing job.
|
|
164
178
|
const url = await prepareUrl(job);
|
|
165
179
|
const processingId = job.json.processingId;
|
|
166
180
|
if (processingId != null) {
|
|
167
|
-
const jobConfig = await
|
|
181
|
+
const jobConfig = await cfg.ProcessingJob.get(processingId);
|
|
168
182
|
if (jobConfig == null)
|
|
169
183
|
throw new Error('Unable to find Job Processing Config:' + processingId);
|
|
170
184
|
const jobComplete = jobConfig;
|
|
171
185
|
jobComplete.status = JobStatus.Complete;
|
|
172
186
|
jobComplete.url = url;
|
|
173
|
-
if (
|
|
174
|
-
await
|
|
175
|
-
else
|
|
176
|
-
throw new Error('Unable update the Processing Job status:' + jobConfig.id);
|
|
187
|
+
if (cfg.ProcessingJob.isWriteable())
|
|
188
|
+
await cfg.ProcessingJob.put(jobConfig);
|
|
177
189
|
}
|
|
178
190
|
logger.info({ tiffCount: jobSize, tiffTotal: jobSize, url }, 'CogCreate:JobComplete');
|
|
179
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.cog.js","sourceRoot":"","sources":["../../../src/cli/cogify/action.cog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"action.cog.js","sourceRoot":"","sources":["../../../src/cli/cogify/action.cog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TileMatrixSet } from '@basemaps/geo';
|
|
2
|
+
import { FileConfigS3Role, LogType } from '@basemaps/shared';
|
|
3
|
+
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
4
|
+
import { CogStacJob } from '../../cog/cog.stac.job.js';
|
|
5
|
+
export declare class CommandMakeCog extends CommandLineAction {
|
|
6
|
+
private imagery;
|
|
7
|
+
private tileMatrix;
|
|
8
|
+
private name;
|
|
9
|
+
private target;
|
|
10
|
+
private cutline;
|
|
11
|
+
private blend;
|
|
12
|
+
private maxPixelWidth;
|
|
13
|
+
private output;
|
|
14
|
+
private aws;
|
|
15
|
+
constructor();
|
|
16
|
+
protected onDefineParameters(): void;
|
|
17
|
+
onExecute(): Promise<void>;
|
|
18
|
+
makeCog(id: string, imageryName: string, tileMatrix: TileMatrixSet, uri: string): Promise<CogStacJob>;
|
|
19
|
+
splitJob(job: CogStacJob, logger: LogType): Promise<string[][]>;
|
|
20
|
+
findLocation(path: string): Promise<FileConfigS3Role>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=action.make.cog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.make.cog.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/action.make.cog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAkB,MAAM,eAAe,CAAC;AACpE,OAAO,EAAO,gBAAgB,EAAkB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EACL,iBAAiB,EAIlB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAsB,MAAM,2BAA2B,CAAC;AAc3E,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,GAAG,CAA2B;;IAUtC,SAAS,CAAC,kBAAkB,IAAI,IAAI;IA4D9B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAuC1B,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA6CrG,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAiB/D,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAS5D"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { Epsg, TileMatrixSets } from '@basemaps/geo';
|
|
2
|
+
import { Env, fsa, LogConfig } from '@basemaps/shared';
|
|
3
|
+
import { CommandLineAction, } from '@rushstack/ts-command-line';
|
|
4
|
+
import { ProjectionLoader } from '../../cog/projection.loader.js';
|
|
5
|
+
import * as ulid from 'ulid';
|
|
6
|
+
import { getCutline } from './cutline.js';
|
|
7
|
+
import { CogJobFactory } from '../../cog/job.factory.js';
|
|
8
|
+
import { basename } from 'path';
|
|
9
|
+
import { BatchJob } from './batch.job.js';
|
|
10
|
+
export class CommandMakeCog extends CommandLineAction {
|
|
11
|
+
constructor() {
|
|
12
|
+
super({
|
|
13
|
+
actionName: 'make-cog',
|
|
14
|
+
summary: 'Import Basemaps imagery from s3 buckets',
|
|
15
|
+
documentation: 'Given a valid path of raw imagery and import into basemaps',
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
onDefineParameters() {
|
|
19
|
+
this.imagery = this.defineStringParameter({
|
|
20
|
+
argumentName: 'IMAGERY',
|
|
21
|
+
parameterShortName: '-i',
|
|
22
|
+
parameterLongName: '--imagery',
|
|
23
|
+
description: 'Path of source imagery to import.',
|
|
24
|
+
required: true,
|
|
25
|
+
});
|
|
26
|
+
this.target = this.defineStringParameter({
|
|
27
|
+
argumentName: 'BUCKET',
|
|
28
|
+
parameterShortName: '-t',
|
|
29
|
+
parameterLongName: '--target',
|
|
30
|
+
description: 'Target bucket for job.json',
|
|
31
|
+
required: true,
|
|
32
|
+
});
|
|
33
|
+
this.name = this.defineStringParameter({
|
|
34
|
+
argumentName: 'NAME',
|
|
35
|
+
parameterShortName: '-n',
|
|
36
|
+
parameterLongName: '--name',
|
|
37
|
+
description: 'Custome imagery name',
|
|
38
|
+
required: false,
|
|
39
|
+
});
|
|
40
|
+
this.tileMatrix = this.defineStringParameter({
|
|
41
|
+
argumentName: 'TILE_MATRIX',
|
|
42
|
+
parameterLongName: '--tile-matrix',
|
|
43
|
+
description: 'Target tile matrix',
|
|
44
|
+
required: false,
|
|
45
|
+
});
|
|
46
|
+
this.cutline = this.defineStringParameter({
|
|
47
|
+
argumentName: 'CUTLINE',
|
|
48
|
+
parameterLongName: '--cutline',
|
|
49
|
+
description: 'Path of import cutline',
|
|
50
|
+
required: false,
|
|
51
|
+
});
|
|
52
|
+
this.blend = this.defineIntegerParameter({
|
|
53
|
+
argumentName: 'BLEND',
|
|
54
|
+
parameterLongName: '--blend',
|
|
55
|
+
description: 'Cutline blend',
|
|
56
|
+
required: false,
|
|
57
|
+
});
|
|
58
|
+
this.maxPixelWidth = this.defineIntegerParameter({
|
|
59
|
+
argumentName: 'MAX_PIXEL_WIDTH',
|
|
60
|
+
parameterLongName: '--max-pixel',
|
|
61
|
+
description: 'Maximum Pixel Width for the cogs',
|
|
62
|
+
required: false,
|
|
63
|
+
});
|
|
64
|
+
this.output = this.defineStringParameter({
|
|
65
|
+
argumentName: 'OUTPUT',
|
|
66
|
+
parameterShortName: '-o',
|
|
67
|
+
parameterLongName: '--output',
|
|
68
|
+
description: 'Output job.json path',
|
|
69
|
+
required: false,
|
|
70
|
+
});
|
|
71
|
+
this.aws = this.defineFlagParameter({
|
|
72
|
+
parameterLongName: '--aws',
|
|
73
|
+
description: 'Running the job on aws',
|
|
74
|
+
required: false,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
async onExecute() {
|
|
78
|
+
const logger = LogConfig.get();
|
|
79
|
+
const imagery = this.imagery.value;
|
|
80
|
+
let name = this.name.value === '' ? undefined : this.name.value;
|
|
81
|
+
if (imagery == null)
|
|
82
|
+
throw new Error('Please provide a valid imagery source');
|
|
83
|
+
await Promise.all([3791, 3790, 3789, 3788].map((code) => ProjectionLoader.load(code)));
|
|
84
|
+
const source = imagery.endsWith('/') ? imagery : imagery + '/';
|
|
85
|
+
logger.info({ imagery: source }, 'FindImagery');
|
|
86
|
+
if (name == null)
|
|
87
|
+
name = source.split('/').filter(Boolean).pop();
|
|
88
|
+
if (name == null)
|
|
89
|
+
throw new Error('Failed to find imagery set name');
|
|
90
|
+
let tileMatrixSets = [];
|
|
91
|
+
const tileMatrix = this.tileMatrix.value;
|
|
92
|
+
if (tileMatrix == null)
|
|
93
|
+
throw new Error('Please provide valid tile set matrix.');
|
|
94
|
+
if (tileMatrix.includes('/'))
|
|
95
|
+
tileMatrixSets = tileMatrixSets.concat(tileMatrix.split('/'));
|
|
96
|
+
else
|
|
97
|
+
tileMatrixSets.push(tileMatrix);
|
|
98
|
+
const outputs = [];
|
|
99
|
+
for (const identifier of tileMatrixSets) {
|
|
100
|
+
const id = ulid.ulid();
|
|
101
|
+
const tileMatrix = TileMatrixSets.find(identifier);
|
|
102
|
+
if (tileMatrix == null)
|
|
103
|
+
throw new Error(`Cannot find tile matrix: ${identifier}`);
|
|
104
|
+
logger.info({ id, tileMatrix: tileMatrix.identifier }, 'SetTileMatrix');
|
|
105
|
+
const job = await this.makeCog(id, name, tileMatrix, source);
|
|
106
|
+
const jobLocation = job.getJobPath('job.json');
|
|
107
|
+
// Split the jobs into chunked tasks
|
|
108
|
+
const chunkedJobs = await this.splitJob(job, logger);
|
|
109
|
+
for (const names of chunkedJobs) {
|
|
110
|
+
outputs.push({ job: jobLocation, names });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const output = this.output.value;
|
|
114
|
+
if (output) {
|
|
115
|
+
fsa.write(output, JSON.stringify(outputs));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async makeCog(id, imageryName, tileMatrix, uri) {
|
|
119
|
+
const bucket = this.target.value;
|
|
120
|
+
if (bucket == null && this.aws.value)
|
|
121
|
+
throw new Error('Please provide a validate bucket for output job.json');
|
|
122
|
+
let resampling;
|
|
123
|
+
/** Process Gebco 2193 as one cog of full extent to avoid antimeridian problems */
|
|
124
|
+
if (tileMatrix.projection === Epsg.Nztm2000 && imageryName.includes('gebco')) {
|
|
125
|
+
resampling = {
|
|
126
|
+
warp: 'nearest',
|
|
127
|
+
overview: 'lanczos',
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
if (imageryName.includes('geographx')) {
|
|
131
|
+
resampling = {
|
|
132
|
+
warp: 'bilinear',
|
|
133
|
+
overview: 'bilinear',
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
// Prepare the cutline
|
|
137
|
+
let cutline;
|
|
138
|
+
const cutlinePath = this.cutline.value === '' ? undefined : this.cutline.value;
|
|
139
|
+
const blend = this.blend.value === 0 ? undefined : this.blend.value;
|
|
140
|
+
if (cutlinePath && blend)
|
|
141
|
+
cutline = { href: cutlinePath, blend };
|
|
142
|
+
else if (cutlinePath)
|
|
143
|
+
new Error('Please provide a blend for the cutline');
|
|
144
|
+
else
|
|
145
|
+
cutline = getCutline(imageryName);
|
|
146
|
+
if (cutline == null)
|
|
147
|
+
throw new Error(`Cannot found default cutline from imagery name: ${imageryName}`);
|
|
148
|
+
const ctx = {
|
|
149
|
+
imageryName,
|
|
150
|
+
override: { id, projection: Epsg.Nztm2000, resampling, maxImageSize: this.maxPixelWidth.value },
|
|
151
|
+
outputLocation: this.aws.value
|
|
152
|
+
? await this.findLocation(`s3://${bucket}/`)
|
|
153
|
+
: { type: 'local', path: '.' },
|
|
154
|
+
sourceLocation: await this.findLocation(uri),
|
|
155
|
+
cutline,
|
|
156
|
+
batch: false,
|
|
157
|
+
tileMatrix,
|
|
158
|
+
oneCogCovering: false,
|
|
159
|
+
};
|
|
160
|
+
const job = (await CogJobFactory.create(ctx));
|
|
161
|
+
return job;
|
|
162
|
+
}
|
|
163
|
+
async splitJob(job, logger) {
|
|
164
|
+
// Get all the existing output tiffs
|
|
165
|
+
const existTiffs = new Set();
|
|
166
|
+
for await (const fileName of fsa.list(job.getJobPath())) {
|
|
167
|
+
if (fileName.endsWith('.tiff'))
|
|
168
|
+
existTiffs.add(basename(fileName));
|
|
169
|
+
}
|
|
170
|
+
// Prepare chunk job and individual jobs based on imagery size.
|
|
171
|
+
const jobs = await BatchJob.getJobs(job, existTiffs, logger);
|
|
172
|
+
if (jobs.length === 0) {
|
|
173
|
+
logger.info('NoJobs');
|
|
174
|
+
return [];
|
|
175
|
+
}
|
|
176
|
+
logger.info({ jobTotal: job.output.files.length, jobLeft: jobs.length }, 'SplitJob:ChunkedJobs');
|
|
177
|
+
return jobs;
|
|
178
|
+
}
|
|
179
|
+
async findLocation(path) {
|
|
180
|
+
const configPath = Env.get(Env.AwsRoleConfigPath);
|
|
181
|
+
if (configPath == null)
|
|
182
|
+
throw new Error('No aws config path provided');
|
|
183
|
+
const configs = await fsa.readJson(configPath);
|
|
184
|
+
for (const prefix of configs.prefixes) {
|
|
185
|
+
if (path.startsWith(prefix.prefix))
|
|
186
|
+
return { type: 's3', path, roleArn: prefix.roleArn };
|
|
187
|
+
}
|
|
188
|
+
throw new Error(`No valid role to find the path: ${path}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=action.make.cog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.make.cog.js","sourceRoot":"","sources":["../../../src/cli/cogify/action.make.cog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cutline.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/cutline.ts"],"names":[],"mappings":"AA+BA,wBAAgB,UAAU,CAAC,WAAW,SAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAExF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const UrbanRuralCutLine = {
|
|
2
|
+
href: 's3://linz-basemaps-source/cutline/2020-05-07-cutline-nz-coasts-rural-and-urban.geojson',
|
|
3
|
+
blend: 20,
|
|
4
|
+
};
|
|
5
|
+
const DefaultCutlines = [
|
|
6
|
+
{
|
|
7
|
+
filter: 'sentinel',
|
|
8
|
+
cutline: { href: 's3://linz-basemaps-source/cutline/2020-05-12-cutline-nz-ci.geojson.gz', blend: 5 },
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
filter: 'chatham',
|
|
12
|
+
cutline: { href: 's3://linz-basemaps-source/cutline/2020-05-12-cutline-nz-ci.geojson.gz', blend: 5 },
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
filter: 'geographx',
|
|
16
|
+
cutline: {
|
|
17
|
+
href: 's3://linz-basemaps-source/cutline/2021-11-10-cutline-51153-nz-coastlines-and-islands-polygons-topo-150k.geojson.gz',
|
|
18
|
+
blend: 0,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
filter: 'topo50',
|
|
23
|
+
cutline: { href: 's3://linz-basemaps-source/cutline/2020-08-10-cutline-topo50.geojson.gz', blend: 0 },
|
|
24
|
+
},
|
|
25
|
+
{ filter: 'satellite', cutline: UrbanRuralCutLine },
|
|
26
|
+
{ filter: 'urban', cutline: UrbanRuralCutLine },
|
|
27
|
+
{ filter: 'rural', cutline: UrbanRuralCutLine },
|
|
28
|
+
];
|
|
29
|
+
export function getCutline(imageryName = '') {
|
|
30
|
+
var _a;
|
|
31
|
+
return (_a = DefaultCutlines.find((f) => imageryName.toLowerCase().includes(f.filter))) === null || _a === void 0 ? void 0 : _a.cutline;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=cutline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cutline.js","sourceRoot":"","sources":["../../../src/cli/cogify/cutline.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,wFAAwF;IAC9F,KAAK,EAAE,EAAE;CACV,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB;QACE,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,EAAE,IAAI,EAAE,uEAAuE,EAAE,KAAK,EAAE,CAAC,EAAE;KACrG;IACD;QACE,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,EAAE,IAAI,EAAE,uEAAuE,EAAE,KAAK,EAAE,CAAC,EAAE;KACrG;IACD;QACE,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE;YACP,IAAI,EAAE,oHAAoH;YAC1H,KAAK,EAAE,CAAC;SACT;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,EAAE,IAAI,EAAE,wEAAwE,EAAE,KAAK,EAAE,CAAC,EAAE;KACtG;IAED,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE;IACnD,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE;IAC/C,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE;CAChD,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,WAAW,GAAG,EAAE;;IACzC,OAAO,MAAA,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,0CAAE,OAAO,CAAC;AAC5F,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { BasemapsConfigProvider } from '@basemaps/config';
|
|
1
2
|
import { LogType } from '@basemaps/shared';
|
|
2
3
|
import { CogStacJob } from '../../cog/cog.stac.job';
|
|
3
4
|
/**
|
|
4
5
|
* Prepare and insert Imagery Config for the cog creation job.
|
|
5
6
|
* @returns
|
|
6
7
|
*/
|
|
7
|
-
export declare function insertConfigImagery(job: CogStacJob, logger: LogType): Promise<void>;
|
|
8
|
+
export declare function insertConfigImagery(cfg: BasemapsConfigProvider, job: CogStacJob, logger: LogType): Promise<void>;
|
|
8
9
|
/**
|
|
9
10
|
* Prepare and insert TileSet Config for the cog creation job.
|
|
10
11
|
* @returns
|
|
11
12
|
*/
|
|
12
|
-
export declare function insertConfigTileSet(job: CogStacJob, logger: LogType): Promise<void>;
|
|
13
|
+
export declare function insertConfigTileSet(cfg: BasemapsConfigProvider, job: CogStacJob, logger: LogType): Promise<void>;
|
|
13
14
|
//# sourceMappingURL=imagery.config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imagery.config.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/imagery.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"imagery.config.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/imagery.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA6C,MAAM,kBAAkB,CAAC;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,sBAAsB,EAC3B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,sBAAsB,EAC3B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TileSetType } from '@basemaps/config';
|
|
2
2
|
import { ImageFormat } from '@basemaps/geo';
|
|
3
3
|
/**
|
|
4
4
|
* Prepare and insert Imagery Config for the cog creation job.
|
|
5
5
|
* @returns
|
|
6
6
|
*/
|
|
7
|
-
export async function insertConfigImagery(job, logger) {
|
|
7
|
+
export async function insertConfigImagery(cfg, job, logger) {
|
|
8
8
|
const now = Date.now();
|
|
9
|
-
const imgId =
|
|
9
|
+
const imgId = cfg.Imagery.id(job.id);
|
|
10
10
|
const configImagery = {
|
|
11
11
|
id: imgId,
|
|
12
12
|
name: job.name,
|
|
@@ -17,18 +17,18 @@ export async function insertConfigImagery(job, logger) {
|
|
|
17
17
|
bounds: job.output.bounds,
|
|
18
18
|
files: job.output.files,
|
|
19
19
|
};
|
|
20
|
-
if (
|
|
21
|
-
|
|
20
|
+
if (cfg.Imagery.isWriteable())
|
|
21
|
+
cfg.Imagery.put(configImagery);
|
|
22
22
|
logger.info({ imgId }, 'CogCreate:InsertConfigImagery');
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Prepare and insert TileSet Config for the cog creation job.
|
|
26
26
|
* @returns
|
|
27
27
|
*/
|
|
28
|
-
export async function insertConfigTileSet(job, logger) {
|
|
28
|
+
export async function insertConfigTileSet(cfg, job, logger) {
|
|
29
29
|
const now = Date.now();
|
|
30
|
-
const tsId =
|
|
31
|
-
const imId =
|
|
30
|
+
const tsId = cfg.TileSet.id(job.id);
|
|
31
|
+
const imId = cfg.Imagery.id(job.id);
|
|
32
32
|
const tileSet = {
|
|
33
33
|
type: TileSetType.Raster,
|
|
34
34
|
format: ImageFormat.Webp,
|
|
@@ -38,8 +38,8 @@ export async function insertConfigTileSet(job, logger) {
|
|
|
38
38
|
background: { r: 0, g: 0, b: 0, alpha: 0 },
|
|
39
39
|
updatedAt: now,
|
|
40
40
|
};
|
|
41
|
-
if (
|
|
42
|
-
|
|
41
|
+
if (cfg.TileSet.isWriteable())
|
|
42
|
+
cfg.TileSet.put(tileSet);
|
|
43
43
|
logger.info({ tsId }, 'CogCreate:InsertConfigTileSet');
|
|
44
44
|
}
|
|
45
45
|
//# sourceMappingURL=imagery.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imagery.config.js","sourceRoot":"","sources":["../../../src/cli/cogify/imagery.config.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"imagery.config.js","sourceRoot":"","sources":["../../../src/cli/cogify/imagery.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAA2B,EAC3B,GAAe,EACf,MAAe;IAEf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,aAAa,GAAkB;QACnC,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI;QAC1C,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU;QACrC,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE;QACrB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;QACzB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;KACxB,CAAC;IACF,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE;QAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAA2B,EAC3B,GAAe,EACf,MAAe;IAEf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,OAAO,GAAkB;QAC7B,IAAI,EAAE,WAAW,CAAC,MAAM;QACxB,MAAM,EAAE,WAAW,CAAC,IAAI;QACxB,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,GAAG,CAAC,EAAE;QACZ,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC3F,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QAC1C,SAAS,EAAE,GAAG;KACf,CAAC;IACF,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE;QAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,+BAA+B,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
2
|
+
export declare class CommandCogMapSheet extends CommandLineAction {
|
|
3
|
+
private path;
|
|
4
|
+
private config;
|
|
5
|
+
private output;
|
|
6
|
+
constructor();
|
|
7
|
+
protected onDefineParameters(): void;
|
|
8
|
+
onExecute(): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=action.cog.mapsheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.cog.mapsheet.d.ts","sourceRoot":"","sources":["../../../src/cli/config/action.cog.mapsheet.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,4BAA4B,CAAC;AAS3F,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAA6B;;IAU3C,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAqB9B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAsDjC"}
|