@basemaps/cli 6.28.0 → 6.30.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 +55 -0
- package/README.md +62 -13
- package/build/cli/aws/__tests__/action.aws.test.d.ts +2 -0
- package/build/cli/aws/__tests__/action.aws.test.d.ts.map +1 -0
- package/build/cli/aws/__tests__/action.aws.test.js +59 -0
- package/build/cli/aws/__tests__/action.aws.test.js.map +1 -0
- package/build/cli/aws/action.aws.list.d.ts +14 -0
- package/build/cli/aws/action.aws.list.d.ts.map +1 -0
- package/build/cli/aws/action.aws.list.js +106 -0
- package/build/cli/aws/action.aws.list.js.map +1 -0
- package/build/cli/base.cli.js +1 -0
- package/build/cli/base.cli.js.map +1 -0
- package/build/cli/bin.d.ts +2 -0
- package/build/cli/bin.d.ts.map +1 -0
- package/build/cli/bin.js +4 -0
- package/build/cli/bin.js.map +1 -0
- package/build/cli/cogify/__tests__/batch.job.test.js +49 -22
- package/build/cli/cogify/__tests__/batch.job.test.js.map +1 -0
- package/build/cli/cogify/__tests__/semver.test.js +1 -0
- package/build/cli/cogify/__tests__/semver.test.js.map +1 -0
- package/build/cli/cogify/action.cog.d.ts +2 -1
- package/build/cli/cogify/action.cog.d.ts.map +1 -1
- package/build/cli/cogify/action.cog.js +50 -42
- package/build/cli/cogify/action.cog.js.map +1 -0
- package/build/cli/cogify/action.job.d.ts +1 -1
- package/build/cli/cogify/action.job.d.ts.map +1 -1
- package/build/cli/cogify/action.job.js +2 -1
- package/build/cli/cogify/action.job.js.map +1 -0
- package/build/cli/cogify/batch.job.d.ts +6 -4
- package/build/cli/cogify/batch.job.d.ts.map +1 -1
- package/build/cli/cogify/batch.job.js +64 -49
- package/build/cli/cogify/batch.job.js.map +1 -0
- package/build/cli/cogify/imagery.config.d.ts.map +1 -1
- package/build/cli/cogify/imagery.config.js +1 -2
- package/build/cli/cogify/imagery.config.js.map +1 -0
- package/build/cli/cogify/semver.util.js +1 -0
- package/build/cli/cogify/semver.util.js.map +1 -0
- package/build/cli/config/action.bundle.assets.d.ts +15 -0
- package/build/cli/config/action.bundle.assets.d.ts.map +1 -0
- package/build/cli/config/action.bundle.assets.js +86 -0
- package/build/cli/config/action.bundle.assets.js.map +1 -0
- package/build/cli/config/action.bundle.d.ts +12 -0
- package/build/cli/config/action.bundle.d.ts.map +1 -0
- package/build/cli/config/action.bundle.js +46 -0
- package/build/cli/config/action.bundle.js.map +1 -0
- package/build/cli/config/action.import.d.ts +17 -0
- package/build/cli/config/action.import.d.ts.map +1 -0
- package/build/cli/config/action.import.js +99 -0
- package/build/cli/config/action.import.js.map +1 -0
- package/build/cli/config/config.diff.d.ts +10 -0
- package/build/cli/config/config.diff.d.ts.map +1 -0
- package/build/cli/config/config.diff.js +50 -0
- package/build/cli/config/config.diff.js.map +1 -0
- package/build/cli/config/config.update.d.ts +25 -0
- package/build/cli/config/config.update.d.ts.map +1 -0
- package/build/cli/config/config.update.js +78 -0
- package/build/cli/config/config.update.js.map +1 -0
- package/build/cli/folder.js +1 -0
- package/build/cli/folder.js.map +1 -0
- package/build/cli/{cogify/index.d.ts → index.d.ts} +1 -1
- package/build/cli/index.d.ts.map +1 -0
- package/build/cli/index.js +30 -0
- package/build/cli/index.js.map +1 -0
- package/build/cli/screenshot/action.screenshot.d.ts +66 -0
- package/build/cli/screenshot/action.screenshot.d.ts.map +1 -0
- package/build/cli/screenshot/action.screenshot.js +131 -0
- package/build/cli/screenshot/action.screenshot.js.map +1 -0
- package/build/cli/server/action.serve.d.ts +10 -0
- package/build/cli/server/action.serve.d.ts.map +1 -0
- package/build/cli/server/action.serve.js +46 -0
- package/build/cli/server/action.serve.js.map +1 -0
- package/build/cli/sprites/action.sprites.d.ts +11 -0
- package/build/cli/sprites/action.sprites.d.ts.map +1 -0
- package/build/cli/sprites/action.sprites.js +42 -0
- package/build/cli/sprites/action.sprites.js.map +1 -0
- package/build/cli/util.js +1 -0
- package/build/cli/util.js.map +1 -0
- package/build/cog/__tests__/builder.test.js +1 -0
- package/build/cog/__tests__/builder.test.js.map +1 -0
- package/build/cog/__tests__/cog.stac.job.test.js +1 -0
- package/build/cog/__tests__/cog.stac.job.test.js.map +1 -0
- package/build/cog/__tests__/cog.test.js +1 -0
- package/build/cog/__tests__/cog.test.js.map +1 -0
- package/build/cog/__tests__/cog.vrt.test.js +1 -0
- package/build/cog/__tests__/cog.vrt.test.js.map +1 -0
- package/build/cog/__tests__/cutline.test.js +1 -0
- package/build/cog/__tests__/cutline.test.js.map +1 -0
- package/build/cog/__tests__/projection.loader.test.js +1 -0
- package/build/cog/__tests__/projection.loader.test.js.map +1 -0
- package/build/cog/__tests__/source.tiff.testhelper.js +1 -0
- package/build/cog/__tests__/source.tiff.testhelper.js.map +1 -0
- package/build/cog/builder.js +1 -0
- package/build/cog/builder.js.map +1 -0
- package/build/cog/cog.js +1 -0
- package/build/cog/cog.js.map +1 -0
- package/build/cog/cog.stac.job.js +1 -0
- package/build/cog/cog.stac.job.js.map +1 -0
- package/build/cog/cog.vrt.js +1 -0
- package/build/cog/cog.vrt.js.map +1 -0
- package/build/cog/constants.js +1 -0
- package/build/cog/constants.js.map +1 -0
- package/build/cog/cutline.js +1 -0
- package/build/cog/cutline.js.map +1 -0
- package/build/cog/job.factory.d.ts.map +1 -1
- package/build/cog/job.factory.js +13 -4
- package/build/cog/job.factory.js.map +1 -0
- package/build/cog/projection.loader.js +1 -0
- package/build/cog/projection.loader.js.map +1 -0
- package/build/cog/stac.js +1 -0
- package/build/cog/stac.js.map +1 -0
- package/build/cog/types.js +1 -0
- package/build/cog/types.js.map +1 -0
- package/build/gdal/__tests__/gdal.progress.test.js +1 -0
- package/build/gdal/__tests__/gdal.progress.test.js.map +1 -0
- package/build/gdal/__tests__/gdal.test.js +1 -0
- package/build/gdal/__tests__/gdal.test.js.map +1 -0
- package/build/gdal/gdal.cog.js +1 -0
- package/build/gdal/gdal.cog.js.map +1 -0
- package/build/gdal/gdal.command.js +1 -0
- package/build/gdal/gdal.command.js.map +1 -0
- package/build/gdal/gdal.config.js +1 -0
- package/build/gdal/gdal.config.js.map +1 -0
- package/build/gdal/gdal.docker.js +1 -0
- package/build/gdal/gdal.docker.js.map +1 -0
- package/build/gdal/gdal.js +1 -0
- package/build/gdal/gdal.js.map +1 -0
- package/build/gdal/gdal.local.js +1 -0
- package/build/gdal/gdal.local.js.map +1 -0
- package/build/gdal/gdal.progress.js +1 -0
- package/build/gdal/gdal.progress.js.map +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -0
- package/package.json +20 -11
- package/build/cli/cogify/index.d.ts.map +0 -1
- package/build/cli/cogify/index.js +0 -16
- package/cogify.js +0 -3
|
@@ -12,7 +12,7 @@ import path from 'path';
|
|
|
12
12
|
import { insertConfigImagery, insertConfigTileSet } from './imagery.config.js';
|
|
13
13
|
import { JobStatus } from '@basemaps/config';
|
|
14
14
|
import { prepareUrl } from '../util.js';
|
|
15
|
-
export class
|
|
15
|
+
export class CommandCogCreate extends CommandLineAction {
|
|
16
16
|
constructor() {
|
|
17
17
|
super({
|
|
18
18
|
actionName: 'cog',
|
|
@@ -55,12 +55,12 @@ export class ActionCogCreate extends CommandLineAction {
|
|
|
55
55
|
return output;
|
|
56
56
|
}
|
|
57
57
|
async onExecute() {
|
|
58
|
-
var _a, _b, _c
|
|
59
|
-
const
|
|
60
|
-
if (
|
|
58
|
+
var _a, _b, _c;
|
|
59
|
+
const jobLocation = (_a = this.job) === null || _a === void 0 ? void 0 : _a.value;
|
|
60
|
+
if (jobLocation == null)
|
|
61
61
|
throw new Error('Missing job name');
|
|
62
|
-
const job = await CogStacJob.load(jobFn);
|
|
63
62
|
const isCommit = (_c = (_b = this.commit) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : false;
|
|
63
|
+
const job = await CogStacJob.load(jobLocation);
|
|
64
64
|
const logger = LogConfig.get().child({
|
|
65
65
|
correlationId: job.id,
|
|
66
66
|
imageryName: job.name,
|
|
@@ -69,49 +69,15 @@ export class ActionCogCreate extends CommandLineAction {
|
|
|
69
69
|
LogConfig.set(logger);
|
|
70
70
|
logger.info('CogCreate:Start');
|
|
71
71
|
const gdalVersion = await Gdal.version(logger);
|
|
72
|
-
logger.info({
|
|
72
|
+
logger.info({ gdalVersion }, 'CogCreate:GdalVersion');
|
|
73
73
|
const names = this.getNames(job);
|
|
74
74
|
if (names == null || names.size === 0)
|
|
75
75
|
return;
|
|
76
76
|
const tmpFolder = await makeTempFolder(`basemaps-${job.id}-${CliId}`);
|
|
77
77
|
try {
|
|
78
78
|
for (const name of names) {
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
fsa.configure(job.output.location);
|
|
82
|
-
const outputExists = await fsa.exists(targetPath);
|
|
83
|
-
logger.info({ targetPath, outputExists }, 'CogCreate:CheckExists');
|
|
84
|
-
// Output file exists don't try and overwrite it
|
|
85
|
-
if (outputExists) {
|
|
86
|
-
logger.warn({ targetPath }, 'CogCreate:OutputExists');
|
|
87
|
-
await this.checkJobStatus(job, logger);
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
let cutlineJson;
|
|
91
|
-
if (job.output.cutline != null) {
|
|
92
|
-
const cutlinePath = job.getJobPath('cutline.geojson.gz');
|
|
93
|
-
logger.info({ path: cutlinePath }, 'CogCreate:UsingCutLine');
|
|
94
|
-
cutlineJson = await Cutline.loadCutline(cutlinePath);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
logger.warn('NoCutLine');
|
|
98
|
-
}
|
|
99
|
-
const cutline = new Cutline(job.tileMatrix, cutlineJson, (_d = job.output.cutline) === null || _d === void 0 ? void 0 : _d.blend, job.output.oneCogCovering);
|
|
100
|
-
const tmpVrtPath = await CogVrt.buildVrt(tiffFolder, job, cutline, name, logger);
|
|
101
|
-
if (tmpVrtPath == null) {
|
|
102
|
-
logger.warn({ name }, 'CogCreate:NoMatchingSourceImagery');
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
const tmpTiff = fsa.join(tiffFolder, `${name}.tiff`);
|
|
106
|
-
await buildCogForName(job, name, tmpVrtPath, tmpTiff, logger, isCommit);
|
|
107
|
-
logger.info({ target: targetPath }, 'CogCreate:StoreTiff');
|
|
108
|
-
if (isCommit) {
|
|
109
|
-
await fsa.write(targetPath, createReadStream(tmpTiff));
|
|
110
|
-
await this.checkJobStatus(job, logger);
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
logger.warn({ name }, 'DryRun:Done');
|
|
114
|
-
}
|
|
79
|
+
const tiffJob = await CogStacJob.load(jobLocation);
|
|
80
|
+
await this.processTiff(tiffJob, name, tmpFolder, isCommit, logger.child({ tiffName: name }));
|
|
115
81
|
}
|
|
116
82
|
}
|
|
117
83
|
catch (e) {
|
|
@@ -129,12 +95,53 @@ export class ActionCogCreate extends CommandLineAction {
|
|
|
129
95
|
else
|
|
130
96
|
throw new Error('Unable update the Processing Job status:' + jobFailed.id);
|
|
131
97
|
}
|
|
98
|
+
// Ensure the error is thrown
|
|
99
|
+
throw e;
|
|
132
100
|
}
|
|
133
101
|
finally {
|
|
134
102
|
// Cleanup!
|
|
135
103
|
await fs.rm(tmpFolder, { recursive: true });
|
|
136
104
|
}
|
|
137
105
|
}
|
|
106
|
+
async processTiff(job, tiffName, tmpFolder, isCommit, logger) {
|
|
107
|
+
var _a;
|
|
108
|
+
const tiffFolder = await makeTiffFolder(tmpFolder, tiffName);
|
|
109
|
+
const targetPath = job.getJobPath(`${tiffName}.tiff`);
|
|
110
|
+
fsa.configure(job.output.location);
|
|
111
|
+
const outputExists = await fsa.exists(targetPath);
|
|
112
|
+
logger.info({ targetPath, outputExists }, 'CogCreate:CheckExists');
|
|
113
|
+
// Output file exists don't try and overwrite it
|
|
114
|
+
if (outputExists) {
|
|
115
|
+
logger.warn({ targetPath }, 'CogCreate:OutputExists');
|
|
116
|
+
await this.checkJobStatus(job, logger);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
let cutlineJson;
|
|
120
|
+
if (job.output.cutline != null) {
|
|
121
|
+
const cutlinePath = job.getJobPath('cutline.geojson.gz');
|
|
122
|
+
logger.info({ path: cutlinePath }, 'CogCreate:UsingCutLine');
|
|
123
|
+
cutlineJson = await Cutline.loadCutline(cutlinePath);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
logger.warn('CutLine:Skip');
|
|
127
|
+
}
|
|
128
|
+
const cutline = new Cutline(job.tileMatrix, cutlineJson, (_a = job.output.cutline) === null || _a === void 0 ? void 0 : _a.blend, job.output.oneCogCovering);
|
|
129
|
+
const tmpVrtPath = await CogVrt.buildVrt(tiffFolder, job, cutline, tiffName, logger);
|
|
130
|
+
if (tmpVrtPath == null) {
|
|
131
|
+
logger.warn('CogCreate:NoMatchingSourceImagery');
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const tmpTiff = fsa.join(tiffFolder, `${tiffName}.tiff`);
|
|
135
|
+
await buildCogForName(job, tiffName, tmpVrtPath, tmpTiff, logger, isCommit);
|
|
136
|
+
logger.info({ target: targetPath }, 'CogCreate:StoreTiff');
|
|
137
|
+
if (isCommit) {
|
|
138
|
+
await fsa.write(targetPath, createReadStream(tmpTiff));
|
|
139
|
+
await this.checkJobStatus(job, logger);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
logger.warn('DryRun:Done');
|
|
143
|
+
}
|
|
144
|
+
}
|
|
138
145
|
/** Check to see how many tiffs are remaining in the job */
|
|
139
146
|
async checkJobStatus(job, logger) {
|
|
140
147
|
const basePath = job.getJobPath();
|
|
@@ -200,3 +207,4 @@ export class ActionCogCreate extends CommandLineAction {
|
|
|
200
207
|
});
|
|
201
208
|
}
|
|
202
209
|
}
|
|
210
|
+
//# sourceMappingURL=action.cog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.cog.js","sourceRoot":"","sources":["../../../src/cli/cogify/action.cog.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export declare class CLiInputData {
|
|
|
6
6
|
externalId: CommandLineStringParameter;
|
|
7
7
|
constructor(parent: CommandLineAction, prefix: string);
|
|
8
8
|
}
|
|
9
|
-
export declare class
|
|
9
|
+
export declare class CommandJobCreate extends CommandLineAction {
|
|
10
10
|
private source;
|
|
11
11
|
private output;
|
|
12
12
|
private maxConcurrency;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.job.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/action.job.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,iBAAiB,EAGjB,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AAMpC,qBAAa,YAAY;IACvB,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE,0BAA0B,CAAC;IACpC,UAAU,EAAE,0BAA0B,CAAC;gBAE3B,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM;CAsBtD;AAED,qBAAa,
|
|
1
|
+
{"version":3,"file":"action.job.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/action.job.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,iBAAiB,EAGjB,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AAMpC,qBAAa,YAAY;IACvB,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE,0BAA0B,CAAC;IACpC,UAAU,EAAE,0BAA0B,CAAC;gBAE3B,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM;CAsBtD;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB;IACrD,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,YAAY,CAA6B;;IAUjD,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU;IAkBpC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0DhC,SAAS,CAAC,kBAAkB,IAAI,IAAI;CAyFrC"}
|
|
@@ -26,7 +26,7 @@ export class CLiInputData {
|
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
export class
|
|
29
|
+
export class CommandJobCreate extends CommandLineAction {
|
|
30
30
|
constructor() {
|
|
31
31
|
super({
|
|
32
32
|
actionName: 'job',
|
|
@@ -180,3 +180,4 @@ export class ActionJobCreate extends CommandLineAction {
|
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
|
+
//# sourceMappingURL=action.job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.job.js","sourceRoot":"","sources":["../../../src/cli/cogify/action.job.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ import { CogJob } from '../../cog/types.js';
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function extractResolutionFromName(name: string): number;
|
|
11
11
|
export declare class BatchJob {
|
|
12
|
+
static _batch: Batch;
|
|
13
|
+
static get batch(): Batch;
|
|
12
14
|
/**
|
|
13
15
|
* Create a id for a job
|
|
14
16
|
*
|
|
@@ -17,8 +19,8 @@ export declare class BatchJob {
|
|
|
17
19
|
* @param fileNames output filename
|
|
18
20
|
* @returns job id
|
|
19
21
|
*/
|
|
20
|
-
static id(job: CogJob, fileNames
|
|
21
|
-
static batchOne(jobPath: string, job: CogJob,
|
|
22
|
+
static id(job: CogJob, fileNames?: string[]): string;
|
|
23
|
+
static batchOne(jobPath: string, job: CogJob, names: string[], isCommit: boolean): Promise<{
|
|
22
24
|
jobName: string;
|
|
23
25
|
jobId: string;
|
|
24
26
|
memory: number;
|
|
@@ -27,12 +29,12 @@ export declare class BatchJob {
|
|
|
27
29
|
* List all the current jobs in batch and their statuses
|
|
28
30
|
* @returns a map of JobName to if their status is "ok" (not failed)
|
|
29
31
|
*/
|
|
30
|
-
static getCurrentJobList(
|
|
32
|
+
static getCurrentJobList(job: CogJob, logger: LogType): Promise<Set<string>>;
|
|
31
33
|
static batchJob(job: CogJob, commit: boolean | undefined, logger: LogType): Promise<void>;
|
|
32
34
|
/**
|
|
33
35
|
* Prepare the jobs from job files, and chunk the small images into single
|
|
34
36
|
* @returns List of jobs including single job and chunk jobs.
|
|
35
37
|
*/
|
|
36
|
-
static getJobs(job: CogJob
|
|
38
|
+
static getJobs(job: CogJob, existing: Set<string>, log: LogType): string[][];
|
|
37
39
|
}
|
|
38
40
|
//# sourceMappingURL=batch.job.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.job.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/batch.job.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,OAAO,EAAc,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"batch.job.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/batch.job.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,OAAO,EAAc,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,MAAM,0BAA0B,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAa5C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,qBAAa,QAAQ;IACnB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IACrB,MAAM,KAAK,KAAK,IAAI,KAAK,CAKxB;IACD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;WAQvC,QAAQ,CACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAmC9D;;;OAGG;WACU,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;WA0CrE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,qBAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA+ClF;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,EAAE;CAkC7E"}
|
|
@@ -2,6 +2,7 @@ import { TileMatrixSet } from '@basemaps/geo';
|
|
|
2
2
|
import { Env, fsa, LogConfig, Projection } from '@basemaps/shared';
|
|
3
3
|
import Batch from 'aws-sdk/clients/batch.js';
|
|
4
4
|
import { createHash } from 'crypto';
|
|
5
|
+
import { basename } from 'path';
|
|
5
6
|
const JobQueue = 'CogBatchJobQueue';
|
|
6
7
|
const JobDefinition = 'CogBatchJob';
|
|
7
8
|
const ChunkJobMax = 1000;
|
|
@@ -24,6 +25,14 @@ export function extractResolutionFromName(name) {
|
|
|
24
25
|
return parseFloat(matches[1].replace('-', '.')) * 1000;
|
|
25
26
|
}
|
|
26
27
|
export class BatchJob {
|
|
28
|
+
static get batch() {
|
|
29
|
+
var _a, _b;
|
|
30
|
+
if (this._batch)
|
|
31
|
+
return this._batch;
|
|
32
|
+
const region = (_b = (_a = Env.get('AWS_REGION')) !== null && _a !== void 0 ? _a : Env.get('AWS_DEFAULT_REGION')) !== null && _b !== void 0 ? _b : 'ap-southeast-2';
|
|
33
|
+
this._batch = new Batch({ region });
|
|
34
|
+
return this._batch;
|
|
35
|
+
}
|
|
27
36
|
/**
|
|
28
37
|
* Create a id for a job
|
|
29
38
|
*
|
|
@@ -35,10 +44,12 @@ export class BatchJob {
|
|
|
35
44
|
static id(job, fileNames) {
|
|
36
45
|
// Job names are uncontrolled so hash the name and grab a small slice to use as a identifier
|
|
37
46
|
const jobName = createHash('sha256').update(job.name).digest('hex').slice(0, 16);
|
|
47
|
+
if (fileNames == null)
|
|
48
|
+
return `${job.id}-${jobName}-`;
|
|
38
49
|
fileNames.sort((a, b) => a.localeCompare(b));
|
|
39
|
-
return `${job.id}-${jobName}-${fileNames.join('_')}`.slice(0, 128);
|
|
50
|
+
return `${job.id}-${jobName}-${fileNames.length}x-${fileNames.join('_')}`.slice(0, 128);
|
|
40
51
|
}
|
|
41
|
-
static async batchOne(jobPath, job,
|
|
52
|
+
static async batchOne(jobPath, job, names, isCommit) {
|
|
42
53
|
const jobName = BatchJob.id(job, names);
|
|
43
54
|
let memory = 3900;
|
|
44
55
|
if (names.length === 1) {
|
|
@@ -55,7 +66,7 @@ export class BatchJob {
|
|
|
55
66
|
let commandStr = ['-V', 'cog', '--job', jobPath, '--commit'];
|
|
56
67
|
for (const name of names)
|
|
57
68
|
commandStr = commandStr.concat(['--name', name]);
|
|
58
|
-
const batchJob = await batch
|
|
69
|
+
const batchJob = await this.batch
|
|
59
70
|
.submitJob({
|
|
60
71
|
jobName,
|
|
61
72
|
jobQueue: JobQueue,
|
|
@@ -73,77 +84,75 @@ export class BatchJob {
|
|
|
73
84
|
* List all the current jobs in batch and their statuses
|
|
74
85
|
* @returns a map of JobName to if their status is "ok" (not failed)
|
|
75
86
|
*/
|
|
76
|
-
static async getCurrentJobList(
|
|
87
|
+
static async getCurrentJobList(job, logger) {
|
|
88
|
+
var _a;
|
|
89
|
+
const jobPrefix = BatchJob.id(job);
|
|
77
90
|
// For some reason AWS only lets us query one status at a time.
|
|
78
|
-
const allStatuses = ['SUBMITTED', 'PENDING', 'RUNNABLE', 'STARTING', 'RUNNING'
|
|
79
|
-
|
|
80
|
-
const
|
|
91
|
+
const allStatuses = ['SUBMITTED', 'PENDING', 'RUNNABLE', 'STARTING', 'RUNNING' /* 'SUCCEEDED' */];
|
|
92
|
+
// Succeeded is not needed as we check to see if the output file exists, if it succeeds and the output file doesn't exist then something has gone wrong
|
|
93
|
+
const allJobs = await Promise.all(allStatuses.map((jobStatus) => this.batch.listJobs({ jobQueue: JobQueue, jobStatus }).promise()));
|
|
94
|
+
const jobIds = new Set();
|
|
95
|
+
// Find all the relevant jobs that start with our job prefix
|
|
81
96
|
for (const status of allJobs) {
|
|
82
97
|
for (const job of status.jobSummaryList) {
|
|
83
|
-
if (job.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
98
|
+
if (!job.jobName.startsWith(jobPrefix))
|
|
99
|
+
continue;
|
|
100
|
+
jobIds.add(job.jobId);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Inspect all the jobs for what files are being "processed"
|
|
104
|
+
const tiffs = new Set();
|
|
105
|
+
let allJobIds = [...jobIds];
|
|
106
|
+
while (allJobIds.length > 0) {
|
|
107
|
+
logger.info({ jobCount: allJobIds.length }, 'JobFetch');
|
|
108
|
+
const jobList = allJobIds.slice(0, 100);
|
|
109
|
+
allJobIds = allJobIds.slice(100);
|
|
110
|
+
const describedJobs = await this.batch.describeJobs({ jobs: jobList }).promise();
|
|
111
|
+
if (describedJobs.jobs == null)
|
|
112
|
+
continue;
|
|
113
|
+
for (const job of describedJobs.jobs) {
|
|
114
|
+
const jobCommand = (_a = job.container) === null || _a === void 0 ? void 0 : _a.command;
|
|
115
|
+
if (jobCommand == null)
|
|
116
|
+
continue;
|
|
117
|
+
// Extract the tiff names from the job command
|
|
118
|
+
for (let i = 0; i < jobCommand.length; i++) {
|
|
119
|
+
if (jobCommand[i] === '--name')
|
|
120
|
+
tiffs.add(jobCommand[i + 1]);
|
|
88
121
|
}
|
|
89
122
|
}
|
|
90
123
|
}
|
|
91
|
-
return
|
|
124
|
+
return tiffs;
|
|
92
125
|
}
|
|
93
126
|
static async batchJob(job, commit = false, logger) {
|
|
94
|
-
var _a;
|
|
95
127
|
const jobPath = job.getJobPath('job.json');
|
|
96
128
|
if (!jobPath.startsWith('s3://')) {
|
|
97
129
|
throw new Error(`AWS Batch collection.json have to be in S3, jobPath:${jobPath}`);
|
|
98
130
|
}
|
|
99
131
|
LogConfig.set(logger.child({ correlationId: job.id, imageryName: job.name }));
|
|
100
|
-
const region = (_a = Env.get('AWS_DEFAULT_REGION')) !== null && _a !== void 0 ? _a : 'ap-southeast-2';
|
|
101
|
-
const batch = new Batch({ region });
|
|
102
132
|
fsa.configure(job.output.location);
|
|
103
|
-
const runningJobs = await BatchJob.getCurrentJobList(batch);
|
|
104
|
-
// Prepare chunk job and individual jobs based on imagery size.
|
|
105
|
-
const jobs = await this.getJobs(job);
|
|
106
133
|
// Get all the existing output tiffs
|
|
107
|
-
const
|
|
108
|
-
const existTiffs = [];
|
|
134
|
+
const existTiffs = new Set();
|
|
109
135
|
for await (const fileName of fsa.list(job.getJobPath())) {
|
|
110
136
|
if (fileName.endsWith('.tiff'))
|
|
111
|
-
existTiffs.
|
|
137
|
+
existTiffs.add(basename(fileName));
|
|
112
138
|
}
|
|
113
|
-
const
|
|
114
|
-
for (const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
logger.info({ jobName }, 'JobRunning');
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
// Check existence of all the output tiffs.
|
|
123
|
-
let allExists = true;
|
|
124
|
-
for (const name of names) {
|
|
125
|
-
if (!existTiffs.includes(job.getJobPath(`${name}.tiff`)))
|
|
126
|
-
allExists = false;
|
|
127
|
-
}
|
|
128
|
-
if (allExists) {
|
|
129
|
-
logger.info({ targetPath, names }, 'FileExists');
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
// Ready to submit
|
|
133
|
-
toSubmit.push(names);
|
|
134
|
-
}
|
|
135
|
-
if (toSubmit.length === 0) {
|
|
139
|
+
const runningJobs = await this.getCurrentJobList(job, logger);
|
|
140
|
+
for (const tiffName of runningJobs)
|
|
141
|
+
existTiffs.add(`${tiffName}.tiff`);
|
|
142
|
+
// Prepare chunk job and individual jobs based on imagery size.
|
|
143
|
+
const jobs = await this.getJobs(job, existTiffs, logger);
|
|
144
|
+
if (jobs.length === 0) {
|
|
136
145
|
logger.info('NoJobs');
|
|
137
146
|
return;
|
|
138
147
|
}
|
|
139
148
|
logger.info({
|
|
140
149
|
jobTotal: job.output.files.length,
|
|
141
|
-
jobLeft:
|
|
150
|
+
jobLeft: jobs.length,
|
|
142
151
|
jobQueue: JobQueue,
|
|
143
152
|
jobDefinition: JobDefinition,
|
|
144
153
|
}, 'JobSubmit');
|
|
145
|
-
for (const names of
|
|
146
|
-
const jobStatus = await BatchJob.batchOne(jobPath, job,
|
|
154
|
+
for (const names of jobs) {
|
|
155
|
+
const jobStatus = await BatchJob.batchOne(jobPath, job, names, commit);
|
|
147
156
|
logger.info(jobStatus, 'JobSubmitted');
|
|
148
157
|
}
|
|
149
158
|
if (!commit) {
|
|
@@ -155,11 +164,16 @@ export class BatchJob {
|
|
|
155
164
|
* Prepare the jobs from job files, and chunk the small images into single
|
|
156
165
|
* @returns List of jobs including single job and chunk jobs.
|
|
157
166
|
*/
|
|
158
|
-
static
|
|
167
|
+
static getJobs(job, existing, log) {
|
|
159
168
|
const jobs = [];
|
|
160
169
|
let chunkJob = [];
|
|
161
170
|
let chunkUnit = 0; // Calculate the chunkUnit based on the size
|
|
162
171
|
for (const file of job.output.files) {
|
|
172
|
+
const outputFile = `${file.name}.tiff`;
|
|
173
|
+
if (existing.has(outputFile)) {
|
|
174
|
+
log.debug({ fileName: outputFile }, 'Skip:Exists');
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
163
177
|
const imageSize = file.width / job.output.gsd;
|
|
164
178
|
if (imageSize > 16385) {
|
|
165
179
|
jobs.push([file.name]);
|
|
@@ -187,3 +201,4 @@ export class BatchJob {
|
|
|
187
201
|
return jobs;
|
|
188
202
|
}
|
|
189
203
|
}
|
|
204
|
+
//# sourceMappingURL=batch.job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch.job.js","sourceRoot":"","sources":["../../../src/cli/cogify/batch.job.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imagery.config.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/imagery.config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"imagery.config.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/imagery.config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAezF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAezF"}
|
|
@@ -10,7 +10,6 @@ export async function insertConfigImagery(job, logger) {
|
|
|
10
10
|
const configImagery = {
|
|
11
11
|
id: imgId,
|
|
12
12
|
name: job.name,
|
|
13
|
-
createdAt: now,
|
|
14
13
|
updatedAt: now,
|
|
15
14
|
projection: job.tileMatrix.projection.code,
|
|
16
15
|
tileMatrix: job.tileMatrix.identifier,
|
|
@@ -37,10 +36,10 @@ export async function insertConfigTileSet(job, logger) {
|
|
|
37
36
|
name: job.name,
|
|
38
37
|
layers: [{ [job.tileMatrix.projection.code]: imId, name: job.name, minZoom: 0, maxZoom: 32 }],
|
|
39
38
|
background: { r: 0, g: 0, b: 0, alpha: 0 },
|
|
40
|
-
createdAt: now,
|
|
41
39
|
updatedAt: now,
|
|
42
40
|
};
|
|
43
41
|
if (Config.TileSet.isWriteable())
|
|
44
42
|
Config.TileSet.put(tileSet);
|
|
45
43
|
logger.info({ tsId }, 'CogCreate:InsertConfigTileSet');
|
|
46
44
|
}
|
|
45
|
+
//# sourceMappingURL=imagery.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imagery.config.js","sourceRoot":"","sources":["../../../src/cli/cogify/imagery.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgC,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAe,EAAE,MAAe;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxC,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,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;QAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACpE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAe,EAAE,MAAe;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,OAAO,GAAkB;QAC7B,IAAI,EAAE,WAAW,CAAC,MAAM;QACxB,MAAM,EAAE,WAAW,CAAC,IAAI;QACxB,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC7F,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,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;QAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,+BAA+B,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.util.js","sourceRoot":"","sources":["../../../src/cli/cogify/semver.util.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,2DAA2D;AAC3D,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,iDAAiD;AACjD,MAAM,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,CAAS;QAChB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;QAEzF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,KAAK,EAAE;gBAAE,MAAM;YAExB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,GAAG,GAAG,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC;YAE5F,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;SACrD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,CAAS;QAClB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;QACpC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;QACpC,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC;QAC5B,OAAO,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,EAAU,EAAE,EAAU;QAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { CommandLineAction, CommandLineStringParameter } from '@rushstack/ts-command-line';
|
|
3
|
+
import { CotarIndexOptions } from '@cotar/core';
|
|
4
|
+
import { LogType } from '@basemaps/shared';
|
|
5
|
+
export declare class CommandBundleAssets extends CommandLineAction {
|
|
6
|
+
assets: CommandLineStringParameter;
|
|
7
|
+
output: CommandLineStringParameter;
|
|
8
|
+
constructor();
|
|
9
|
+
protected onDefineParameters(): void;
|
|
10
|
+
protected onExecute(): Promise<void>;
|
|
11
|
+
buildTar(input: string, output: string, logger: LogType): Promise<string>;
|
|
12
|
+
buildTarCo(input: string, output: string, logger: LogType): Promise<string>;
|
|
13
|
+
toTarIndex(filename: string, indexFileName: string, opts: CotarIndexOptions, logger: LogType): Promise<Buffer>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=action.bundle.assets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.bundle.assets.d.ts","sourceRoot":"","sources":["../../../src/cli/config/action.bundle.assets.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAuC,iBAAiB,EAAa,MAAM,aAAa,CAAC;AAChG,OAAO,EAAa,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAStD,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,MAAM,EAAE,0BAA0B,CAAC;IACnC,MAAM,EAAE,0BAA0B,CAAC;;IAUnC,SAAS,CAAC,kBAAkB,IAAI,IAAI;cAcpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAapC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBzE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB3E,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAarH"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
2
|
+
import { SourceMemory } from '@chunkd/core';
|
|
3
|
+
import { CotarIndexBinary, CotarIndexBuilder, TarReader } from '@cotar/core';
|
|
4
|
+
import { LogConfig } from '@basemaps/shared';
|
|
5
|
+
import { promises as fs } from 'fs';
|
|
6
|
+
import { TarBuilder } from '@cotar/tar';
|
|
7
|
+
import { fsa } from '@chunkd/fs';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
const Packing = 25; // Packing factor for the hash map
|
|
10
|
+
const MaxSearch = 50; // Max search factor
|
|
11
|
+
export class CommandBundleAssets extends CommandLineAction {
|
|
12
|
+
constructor() {
|
|
13
|
+
super({
|
|
14
|
+
actionName: 'bundle-assets',
|
|
15
|
+
summary: 'Cli tool to create cotar file for the config assets',
|
|
16
|
+
documentation: 'Create a cotar file from a directory',
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
onDefineParameters() {
|
|
20
|
+
this.assets = this.defineStringParameter({
|
|
21
|
+
argumentName: 'ASSETS',
|
|
22
|
+
parameterLongName: '--assets',
|
|
23
|
+
description: 'Paths to the input assets files, must contain assets/sprites/ and assets/fonts.',
|
|
24
|
+
});
|
|
25
|
+
this.output = this.defineStringParameter({
|
|
26
|
+
argumentName: 'OUTPUT',
|
|
27
|
+
parameterLongName: '--output',
|
|
28
|
+
description: 'Paths of the output co tar file.',
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async onExecute() {
|
|
32
|
+
const logger = LogConfig.get();
|
|
33
|
+
const assets = this.assets.value;
|
|
34
|
+
const output = this.output.value;
|
|
35
|
+
if (assets == null || output == null)
|
|
36
|
+
throw new Error('Please provide a input or ouput path');
|
|
37
|
+
if (!output.endsWith('.tar.co'))
|
|
38
|
+
throw new Error(`Invalid output, needs to be .tar.co :"${output}"`);
|
|
39
|
+
logger.info({ indput: assets }, 'BundleAssets:Start');
|
|
40
|
+
const tarFile = await this.buildTar(assets, output, logger);
|
|
41
|
+
const cotarFile = await this.buildTarCo(tarFile, output, logger);
|
|
42
|
+
logger.info({ output: cotarFile }, 'BundleAssets:Finish');
|
|
43
|
+
}
|
|
44
|
+
async buildTar(input, output, logger) {
|
|
45
|
+
const startTime = Date.now();
|
|
46
|
+
const outputTar = output.split('.co')[0];
|
|
47
|
+
const tarBuilder = new TarBuilder(outputTar);
|
|
48
|
+
const files = await fsa.toArray(fsa.list(input));
|
|
49
|
+
// Ensure files are put into the same order
|
|
50
|
+
files.sort((a, b) => a.localeCompare(b));
|
|
51
|
+
logger.info({ output: outputTar, files: files.length }, 'Tar:Create');
|
|
52
|
+
const basePath = path.resolve(input);
|
|
53
|
+
for (const file of files) {
|
|
54
|
+
const filePath = file.replace(basePath, '').slice(1); // Remove the leading '/'
|
|
55
|
+
await tarBuilder.write(filePath, await fsa.read(file));
|
|
56
|
+
}
|
|
57
|
+
await tarBuilder.close();
|
|
58
|
+
logger.info({ output: outputTar, stats: tarBuilder.stats, duration: Date.now() - startTime }, 'Tar:Create:Done');
|
|
59
|
+
return outputTar;
|
|
60
|
+
}
|
|
61
|
+
async buildTarCo(input, output, logger) {
|
|
62
|
+
logger.info({ output }, 'Cotar:Create');
|
|
63
|
+
const opts = { packingFactor: 1 + Packing / 100, maxSearch: MaxSearch };
|
|
64
|
+
const indexFile = input + '.index';
|
|
65
|
+
const startTime = Date.now();
|
|
66
|
+
const buf = await this.toTarIndex(input, indexFile, opts, logger);
|
|
67
|
+
logger.info({ output }, 'Cotar:Craete:WriteTar');
|
|
68
|
+
await fs.copyFile(input, output);
|
|
69
|
+
await fs.appendFile(output, buf);
|
|
70
|
+
const duration = Date.now() - startTime;
|
|
71
|
+
logger.info({ output, duration }, 'Cotar:Created');
|
|
72
|
+
return output;
|
|
73
|
+
}
|
|
74
|
+
async toTarIndex(filename, indexFileName, opts, logger) {
|
|
75
|
+
const fd = await fs.open(filename, 'r');
|
|
76
|
+
logger.info({ index: indexFileName }, 'Cotar.Index:Start');
|
|
77
|
+
const startTime = Date.now();
|
|
78
|
+
const { buffer, count } = await CotarIndexBuilder.create(fd, opts);
|
|
79
|
+
logger.info({ count, size: buffer.length, duration: Date.now() - startTime }, 'Cotar.Index:Created');
|
|
80
|
+
const index = await CotarIndexBinary.create(new SourceMemory('index', buffer));
|
|
81
|
+
await TarReader.validate(fd, index);
|
|
82
|
+
await fd.close();
|
|
83
|
+
return buffer;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=action.bundle.assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.bundle.assets.js","sourceRoot":"","sources":["../../../src/cli/config/action.bundle.assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAqB,SAAS,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,SAAS,EAAW,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,kCAAkC;AACtD,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,oBAAoB;AAE1C,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IAIxD;QACE,KAAK,CAAC;YACJ,UAAU,EAAE,eAAe;YAC3B,OAAO,EAAE,qDAAqD;YAC9D,aAAa,EAAE,sCAAsC;SACtD,CAAC,CAAC;IACL,CAAC;IAES,kBAAkB;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC;YACvC,YAAY,EAAE,QAAQ;YACtB,iBAAiB,EAAE,UAAU;YAC7B,WAAW,EAAE,iFAAiF;SAC/F,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC;YACvC,YAAY,EAAE,QAAQ;YACtB,iBAAiB,EAAE,UAAU;YAC7B,WAAW,EAAE,kCAAkC;SAChD,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,SAAS;QACvB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,GAAG,CAAC,CAAC;QAErG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,MAAe;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QAE7C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,2CAA2C;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;YAC/E,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACxD;QAED,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAEzB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACjH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,MAAc,EAAE,MAAe;QAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC;QAExC,MAAM,IAAI,GAAsB,EAAE,aAAa,EAAE,CAAC,GAAG,OAAO,GAAG,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAE3F,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAElE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,aAAqB,EAAE,IAAuB,EAAE,MAAe;QAChG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEnE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACrG,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/E,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
2
|
+
export declare const DefaultConfig = "config/";
|
|
3
|
+
export declare const DefaultOutput = "config/config.json";
|
|
4
|
+
export declare class CommandBundle extends CommandLineAction {
|
|
5
|
+
private config;
|
|
6
|
+
private output;
|
|
7
|
+
private assets;
|
|
8
|
+
constructor();
|
|
9
|
+
protected onDefineParameters(): void;
|
|
10
|
+
onExecute(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=action.bundle.d.ts.map
|