@basemaps/cli 6.29.0 → 6.32.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 +61 -0
- package/README.md +16 -0
- 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.js +1 -0
- package/build/cli/bin.js.map +1 -0
- package/build/cli/cogify/__tests__/batch.job.test.js +1 -0
- 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.js +1 -0
- package/build/cli/cogify/action.cog.js.map +1 -0
- package/build/cli/cogify/action.job.js +1 -0
- package/build/cli/cogify/action.job.js.map +1 -0
- package/build/cli/cogify/batch.job.js +1 -0
- package/build/cli/cogify/batch.job.js.map +1 -0
- package/build/cli/cogify/imagery.config.js +3 -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 +17 -0
- package/build/cli/config/action.bundle.assets.d.ts.map +1 -0
- package/build/cli/config/action.bundle.assets.js +98 -0
- package/build/cli/config/action.bundle.assets.js.map +1 -0
- package/build/cli/config/action.bundle.d.ts +1 -0
- package/build/cli/config/action.bundle.d.ts.map +1 -1
- package/build/cli/config/action.bundle.js +11 -1
- package/build/cli/config/action.bundle.js.map +1 -0
- package/build/cli/config/action.import.d.ts +4 -1
- package/build/cli/config/action.import.d.ts.map +1 -1
- package/build/cli/config/action.import.js +42 -3
- package/build/cli/config/action.import.js.map +1 -0
- package/build/cli/config/config.diff.d.ts +1 -1
- package/build/cli/config/config.diff.d.ts.map +1 -1
- package/build/cli/config/config.diff.js +7 -4
- package/build/cli/config/config.diff.js.map +1 -0
- package/build/cli/config/config.update.d.ts +2 -0
- package/build/cli/config/config.update.d.ts.map +1 -1
- package/build/cli/config/config.update.js +9 -2
- 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/index.d.ts.map +1 -1
- package/build/cli/index.js +9 -0
- package/build/cli/index.js.map +1 -0
- package/build/cli/screenshot/action.screenshot.d.ts +7 -49
- package/build/cli/screenshot/action.screenshot.d.ts.map +1 -1
- package/build/cli/screenshot/action.screenshot.js +61 -67
- package/build/cli/screenshot/action.screenshot.js.map +1 -0
- package/build/cli/screenshot/test.tiles.d.ts +48 -0
- package/build/cli/screenshot/test.tiles.d.ts.map +1 -0
- package/build/cli/screenshot/test.tiles.js +75 -0
- package/build/cli/screenshot/test.tiles.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 +107 -149
- 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.d.ts.map +1 -1
- package/build/cog/builder.js +5 -2
- 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.js +1 -0
- 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 +10 -7
|
@@ -22,6 +22,11 @@ export class CommandBundle extends CommandLineAction {
|
|
|
22
22
|
parameterLongName: '--output',
|
|
23
23
|
description: 'Output of the bundle file',
|
|
24
24
|
});
|
|
25
|
+
this.assets = this.defineStringParameter({
|
|
26
|
+
argumentName: 'ASSETS',
|
|
27
|
+
parameterLongName: '--assets',
|
|
28
|
+
description: 'Add assets location into the config bundle file',
|
|
29
|
+
});
|
|
25
30
|
}
|
|
26
31
|
async onExecute() {
|
|
27
32
|
var _a, _b;
|
|
@@ -29,8 +34,13 @@ export class CommandBundle extends CommandLineAction {
|
|
|
29
34
|
const config = (_a = this.config.value) !== null && _a !== void 0 ? _a : DefaultConfig;
|
|
30
35
|
const bundle = (_b = this.output.value) !== null && _b !== void 0 ? _b : DefaultOutput;
|
|
31
36
|
const mem = await ConfigJson.fromPath(config, logger);
|
|
32
|
-
|
|
37
|
+
const configJson = mem.toJson();
|
|
38
|
+
const assets = this.assets.value;
|
|
39
|
+
if (assets)
|
|
40
|
+
configJson.assets = assets;
|
|
41
|
+
await fsa.writeJson(bundle, configJson);
|
|
33
42
|
logger.info({ path: bundle }, 'ConfigBundled');
|
|
34
43
|
return;
|
|
35
44
|
}
|
|
36
45
|
}
|
|
46
|
+
//# sourceMappingURL=action.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.bundle.js","sourceRoot":"","sources":["../../../src/cli/config/action.bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAA8B,MAAM,4BAA4B,CAAC;AAE3F,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAElD,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAKlD;QACE,KAAK,CAAC;YACJ,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,wCAAwC;YACjD,aAAa,EAAE,mEAAmE;SACnF,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,sBAAsB;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC;YACvC,YAAY,EAAE,QAAQ;YACtB,iBAAiB,EAAE,UAAU;YAC7B,WAAW,EAAE,2BAA2B;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC;YACvC,YAAY,EAAE,QAAQ;YACtB,iBAAiB,EAAE,UAAU;YAC7B,WAAW,EAAE,iDAAiD;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS;;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,mCAAI,aAAa,CAAC;QAClD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,mCAAI,aAAa,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,MAAM;YAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QACvC,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;CACF"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { BaseConfig } from '@basemaps/config';
|
|
1
|
+
import { BaseConfig, ConfigProviderMemory } from '@basemaps/config';
|
|
2
2
|
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
3
3
|
export declare class CommandImport extends CommandLineAction {
|
|
4
4
|
private config;
|
|
5
|
+
private backup;
|
|
5
6
|
private commit;
|
|
6
7
|
promises: Promise<boolean>[];
|
|
7
8
|
/** List of paths to invalidate at the end of the request */
|
|
8
9
|
invalidations: string[];
|
|
10
|
+
/** List of paths to invalidate at the end of the request */
|
|
11
|
+
backupConfig: ConfigProviderMemory;
|
|
9
12
|
constructor();
|
|
10
13
|
protected onDefineParameters(): void;
|
|
11
14
|
onExecute(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.import.d.ts","sourceRoot":"","sources":["../../../src/cli/config/action.import.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"action.import.d.ts","sourceRoot":"","sources":["../../../src/cli/config/action.import.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuC,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAwD,MAAM,4BAA4B,CAAC;AAKrH,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAA2B;IAEzC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAM;IAClC,4DAA4D;IAC5D,aAAa,EAAE,MAAM,EAAE,CAAM;IAC7B,4DAA4D;IAC5D,YAAY,EAAE,oBAAoB,CAA8B;;IAUhE,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAmB9B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAoEhC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;CAiBlD"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Env, fsa, LogConfig } from '@basemaps/shared';
|
|
2
|
-
import { ConfigProviderMemory } from '@basemaps/config';
|
|
2
|
+
import { Config, ConfigProviderMemory } from '@basemaps/config';
|
|
3
3
|
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
4
4
|
import { Q, Updater } from './config.update.js';
|
|
5
5
|
import { invalidateCache } from '../util.js';
|
|
6
|
+
import fetch from 'node-fetch';
|
|
6
7
|
export class CommandImport extends CommandLineAction {
|
|
7
8
|
constructor() {
|
|
8
9
|
super({
|
|
@@ -13,14 +14,21 @@ export class CommandImport extends CommandLineAction {
|
|
|
13
14
|
this.promises = [];
|
|
14
15
|
/** List of paths to invalidate at the end of the request */
|
|
15
16
|
this.invalidations = [];
|
|
17
|
+
/** List of paths to invalidate at the end of the request */
|
|
18
|
+
this.backupConfig = new ConfigProviderMemory();
|
|
16
19
|
}
|
|
17
20
|
onDefineParameters() {
|
|
18
21
|
this.config = this.defineStringParameter({
|
|
19
22
|
argumentName: 'CONFIG',
|
|
20
23
|
parameterLongName: '--config',
|
|
21
|
-
description: 'Path of config json',
|
|
24
|
+
description: 'Path of config json, this can be both a local path or s3 location',
|
|
22
25
|
required: true,
|
|
23
26
|
});
|
|
27
|
+
this.backup = this.defineStringParameter({
|
|
28
|
+
argumentName: 'BACKUP',
|
|
29
|
+
parameterLongName: '--backup',
|
|
30
|
+
description: 'Backup the old config into a config bundle json',
|
|
31
|
+
});
|
|
24
32
|
this.commit = this.defineFlagParameter({
|
|
25
33
|
parameterLongName: '--commit',
|
|
26
34
|
description: 'Actually start the import',
|
|
@@ -33,8 +41,12 @@ export class CommandImport extends CommandLineAction {
|
|
|
33
41
|
logger.level = 'trace';
|
|
34
42
|
const commit = (_a = this.commit.value) !== null && _a !== void 0 ? _a : false;
|
|
35
43
|
const config = this.config.value;
|
|
44
|
+
const backup = this.backup.value;
|
|
36
45
|
if (config == null)
|
|
37
46
|
throw new Error('Please provide a config json');
|
|
47
|
+
if (commit && !config.startsWith('s3://')) {
|
|
48
|
+
throw new Error('To actually import into dynamo has to use the config file from s3.');
|
|
49
|
+
}
|
|
38
50
|
const HostPrefix = Env.isProduction() ? '' : 'dev.';
|
|
39
51
|
const healthEndpoint = `https://${HostPrefix}basemaps.linz.govt.nz/v1/health`;
|
|
40
52
|
logger.info({ url: healthEndpoint }, 'Import:ValidateHealth');
|
|
@@ -51,6 +63,22 @@ export class CommandImport extends CommandLineAction {
|
|
|
51
63
|
for (const config of mem.objects.values())
|
|
52
64
|
this.update(config, commit);
|
|
53
65
|
await Promise.all(this.promises);
|
|
66
|
+
if (commit) {
|
|
67
|
+
const configBundle = {
|
|
68
|
+
id: Config.ConfigBundle.id(configJson.hash),
|
|
69
|
+
name: Config.ConfigBundle.id(`config-${configJson.hash}.json`),
|
|
70
|
+
path: config,
|
|
71
|
+
hash: configJson.hash,
|
|
72
|
+
};
|
|
73
|
+
logger.info({ config }, 'Import:ConfigBundle');
|
|
74
|
+
if (Config.ConfigBundle.isWriteable()) {
|
|
75
|
+
// Insert a cb_hash record for reference
|
|
76
|
+
await Config.ConfigBundle.put(configBundle);
|
|
77
|
+
// Update the cb_latest record
|
|
78
|
+
configBundle.id = Config.ConfigBundle.id('latest');
|
|
79
|
+
await Config.ConfigBundle.put(configBundle);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
54
82
|
if (commit && this.invalidations.length > 0) {
|
|
55
83
|
// Lots of invalidations just invalidate everything
|
|
56
84
|
if (this.invalidations.length > 10) {
|
|
@@ -64,6 +92,9 @@ export class CommandImport extends CommandLineAction {
|
|
|
64
92
|
if (!res.ok)
|
|
65
93
|
throw new Error('Basemaps is unhealthy');
|
|
66
94
|
}
|
|
95
|
+
if (backup) {
|
|
96
|
+
await fsa.writeJson(backup, this.backupConfig.toJson());
|
|
97
|
+
}
|
|
67
98
|
if (commit !== true)
|
|
68
99
|
logger.info('DryRun:Done');
|
|
69
100
|
}
|
|
@@ -71,10 +102,18 @@ export class CommandImport extends CommandLineAction {
|
|
|
71
102
|
const promise = Q(async () => {
|
|
72
103
|
const updater = new Updater(config, commit);
|
|
73
104
|
const hasChanges = await updater.reconcile();
|
|
74
|
-
if (hasChanges)
|
|
105
|
+
if (hasChanges) {
|
|
75
106
|
this.invalidations.push(updater.invalidatePath());
|
|
107
|
+
const oldData = await updater.getOldData();
|
|
108
|
+
if (oldData != null)
|
|
109
|
+
this.backupConfig.put(oldData); // No need to backup anything if there is new insert
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
this.backupConfig.put(config);
|
|
113
|
+
}
|
|
76
114
|
return true;
|
|
77
115
|
});
|
|
78
116
|
this.promises.push(promise);
|
|
79
117
|
}
|
|
80
118
|
}
|
|
119
|
+
//# sourceMappingURL=action.import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.import.js","sourceRoot":"","sources":["../../../src/cli/config/action.import.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { LogType } from '@basemaps/shared';
|
|
|
2
2
|
import diff from 'deep-diff';
|
|
3
3
|
export declare const IgnoredProperties: string[];
|
|
4
4
|
export declare class ConfigDiff {
|
|
5
|
-
static
|
|
5
|
+
static getDiff<T>(changes: diff.Diff<T, T>[]): string;
|
|
6
6
|
static showDiff<T extends {
|
|
7
7
|
id: string;
|
|
8
8
|
}>(type: string, oldData: T, newData: T, logger: LogType): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.diff.d.ts","sourceRoot":"","sources":["../../../src/cli/config/config.diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,eAAO,MAAM,iBAAiB,UAAyD,CAAC;AAExF,qBAAa,UAAU;IACrB,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"config.diff.d.ts","sourceRoot":"","sources":["../../../src/cli/config/config.diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,eAAO,MAAM,iBAAiB,UAAyD,CAAC;AAExF,qBAAa,UAAU;IACrB,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM;IA0BrD,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;CAW1G"}
|
|
@@ -2,14 +2,14 @@ import c from 'ansi-colors';
|
|
|
2
2
|
import diff from 'deep-diff';
|
|
3
3
|
export const IgnoredProperties = ['id', 'createdAt', 'updatedAt', 'year', 'resolution'];
|
|
4
4
|
export class ConfigDiff {
|
|
5
|
-
static
|
|
5
|
+
static getDiff(changes) {
|
|
6
6
|
let output = '';
|
|
7
7
|
let isArray = false;
|
|
8
8
|
for (const change of changes) {
|
|
9
9
|
if (change.kind === 'A') {
|
|
10
10
|
if (change.path)
|
|
11
11
|
output += change.path.join();
|
|
12
|
-
output += this.
|
|
12
|
+
output += this.getDiff([change.item]);
|
|
13
13
|
isArray = true; // Stop displaying the array changes for each line.
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
@@ -33,15 +33,18 @@ export class ConfigDiff {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
return output;
|
|
36
|
+
return output.trim();
|
|
37
37
|
}
|
|
38
38
|
static showDiff(type, oldData, newData, logger) {
|
|
39
39
|
const changes = diff.diff(oldData, newData, (_path, key) => IgnoredProperties.indexOf(key) >= 0);
|
|
40
40
|
if (changes) {
|
|
41
|
+
const changeDif = ConfigDiff.getDiff(changes);
|
|
41
42
|
logger.info({ type, record: newData.id }, 'Changes');
|
|
42
|
-
|
|
43
|
+
// eslint-disable-next-line no-console
|
|
44
|
+
console.log(changeDif);
|
|
43
45
|
return true;
|
|
44
46
|
}
|
|
45
47
|
return false;
|
|
46
48
|
}
|
|
47
49
|
}
|
|
50
|
+
//# sourceMappingURL=config.diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.diff.js","sourceRoot":"","sources":["../../../src/cli/config/config.diff.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,aAAa,CAAC;AAC5B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAExF,MAAM,OAAO,UAAU;IACrB,MAAM,CAAC,OAAO,CAAI,OAA0B;QAC1C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE;gBACvB,IAAI,MAAM,CAAC,IAAI;oBAAE,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtC,OAAO,GAAG,IAAI,CAAC,CAAC,mDAAmD;aACpE;iBAAM;gBACL,IAAI,OAAO;oBAAE,SAAS;gBACtB,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE;oBACvB,IAAI,MAAM,CAAC,IAAI;wBAAE,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9C,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtD,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;iBAC5D;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC9B,IAAI,MAAM,CAAC,IAAI;wBAAE,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9C,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;iBAC9D;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC9B,IAAI,MAAM,CAAC,IAAI;wBAAE,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9C,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;iBAC5D;aACF;SACF;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,QAAQ,CAA2B,IAAY,EAAE,OAAU,EAAE,OAAU,EAAE,MAAe;QAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,KAAe,EAAE,GAAW,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACnH,IAAI,OAAO,EAAE;YACX,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACrD,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -4,6 +4,7 @@ import { LogType } from '@basemaps/shared';
|
|
|
4
4
|
export declare const Q: import("p-limit").LimitFunction;
|
|
5
5
|
export declare class Updater<S extends BaseConfig = BaseConfig> {
|
|
6
6
|
config: S;
|
|
7
|
+
_oldData: Promise<ConfigImagery | ConfigTileSet | ConfigProvider | ConfigVectorStyle | null>;
|
|
7
8
|
prefix: string;
|
|
8
9
|
isCommit: boolean;
|
|
9
10
|
logger: LogType;
|
|
@@ -15,6 +16,7 @@ export declare class Updater<S extends BaseConfig = BaseConfig> {
|
|
|
15
16
|
getDB(): BasemapsConfigObject<ConfigTileSet | ConfigImagery | ConfigProvider | ConfigVectorStyle>;
|
|
16
17
|
getConfig(): ConfigTileSet | ConfigImagery | ConfigProvider | ConfigVectorStyle;
|
|
17
18
|
invalidatePath(): string;
|
|
19
|
+
getOldData(): Promise<ConfigImagery | ConfigTileSet | ConfigProvider | ConfigVectorStyle | null>;
|
|
18
20
|
/**
|
|
19
21
|
* Reconcile the differences between the config and the tile metadata DB and update if changed.
|
|
20
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.update.d.ts","sourceRoot":"","sources":["../../../src/cli/config/config.update.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAGV,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAa,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAItD,eAAO,MAAM,CAAC,iCAAa,CAAC;AAE5B,qBAAa,OAAO,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IACpD,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;gBACS,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO;IASxC,KAAK,IAAI,oBAAoB,CAAC,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB,CAAC;IAQjG,SAAS,IAAI,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB;IAQ/E,cAAc,IAAI,MAAM;IAMxB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config.update.d.ts","sourceRoot":"","sources":["../../../src/cli/config/config.update.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAGV,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAa,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAItD,eAAO,MAAM,CAAC,iCAAa,CAAC;AAE5B,qBAAa,OAAO,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IACpD,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;gBACS,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO;IASxC,KAAK,IAAI,oBAAoB,CAAC,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB,CAAC;IAQjG,SAAS,IAAI,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB;IAQ/E,cAAc,IAAI,MAAM;IAMxB,UAAU,IAAI,OAAO,CAAC,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAMhG;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAgBpC"}
|
|
@@ -47,13 +47,19 @@ export class Updater {
|
|
|
47
47
|
else
|
|
48
48
|
return `/v1/tiles/${this.config.id.slice(3)}/*`;
|
|
49
49
|
}
|
|
50
|
+
getOldData() {
|
|
51
|
+
if (this._oldData)
|
|
52
|
+
return this._oldData;
|
|
53
|
+
this._oldData = this.getDB().get(this.config.id);
|
|
54
|
+
return this._oldData;
|
|
55
|
+
}
|
|
50
56
|
/**
|
|
51
57
|
* Reconcile the differences between the config and the tile metadata DB and update if changed.
|
|
52
58
|
*/
|
|
53
59
|
async reconcile() {
|
|
54
|
-
const db = this.getDB();
|
|
55
|
-
const oldData = await db.get(this.config.id);
|
|
56
60
|
const newData = this.getConfig();
|
|
61
|
+
const db = this.getDB();
|
|
62
|
+
const oldData = await this.getOldData();
|
|
57
63
|
if (oldData == null || ConfigDiff.showDiff(db.prefix, oldData, newData, this.logger)) {
|
|
58
64
|
const operation = oldData == null ? 'Insert' : 'Update';
|
|
59
65
|
this.logger.info({ type: db.prefix, record: newData.id, commit: this.isCommit }, `Change:${operation}`);
|
|
@@ -69,3 +75,4 @@ export class Updater {
|
|
|
69
75
|
return false;
|
|
70
76
|
}
|
|
71
77
|
}
|
|
78
|
+
//# sourceMappingURL=config.update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.update.js","sourceRoot":"","sources":["../../../src/cli/config/config.update.ts"],"names":[],"mappings":"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"}
|
package/build/cli/folder.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folder.js","sourceRoot":"","sources":["../../src/cli/folder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc;;IACjD,MAAM,QAAQ,GAAG,MAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,mCAAI,MAAM,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE/C,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAiB,EAAE,IAAY;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE9C,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/build/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,gCAAgC,CAAC;AAWxC,qBAAa,yBAA0B,SAAQ,eAAe;;CAqB7D"}
|
package/build/cli/index.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { BaseCommandLine } from '@basemaps/shared/build/cli/base.js';
|
|
3
3
|
import 'source-map-support/register.js';
|
|
4
|
+
import { CommandList } from './aws/action.aws.list.js';
|
|
4
5
|
import { CommandCogCreate } from './cogify/action.cog.js';
|
|
5
6
|
import { CommandJobCreate } from './cogify/action.job.js';
|
|
7
|
+
import { CommandBundleAssets } from './config/action.bundle.assets.js';
|
|
6
8
|
import { CommandBundle } from './config/action.bundle.js';
|
|
7
9
|
import { CommandImport } from './config/action.import.js';
|
|
8
10
|
import { CommandScreenShot } from './screenshot/action.screenshot.js';
|
|
11
|
+
import { CommandServe } from './server/action.serve.js';
|
|
12
|
+
import { CommandSprites } from './sprites/action.sprites.js';
|
|
9
13
|
export class BasemapsConfigCommandLine extends BaseCommandLine {
|
|
10
14
|
constructor() {
|
|
11
15
|
super({
|
|
@@ -15,7 +19,12 @@ export class BasemapsConfigCommandLine extends BaseCommandLine {
|
|
|
15
19
|
this.addAction(new CommandCogCreate());
|
|
16
20
|
this.addAction(new CommandJobCreate());
|
|
17
21
|
this.addAction(new CommandBundle());
|
|
22
|
+
this.addAction(new CommandBundleAssets());
|
|
18
23
|
this.addAction(new CommandImport());
|
|
19
24
|
this.addAction(new CommandScreenShot());
|
|
25
|
+
this.addAction(new CommandSprites());
|
|
26
|
+
this.addAction(new CommandServe());
|
|
27
|
+
this.addAction(new CommandList());
|
|
20
28
|
}
|
|
21
29
|
}
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D;QACE,KAAK,CAAC;YACJ,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,+BAA+B;SACjD,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAEvC,IAAI,CAAC,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAExC,IAAI,CAAC,SAAS,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAEnC,IAAI,CAAC,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -1,61 +1,19 @@
|
|
|
1
1
|
import { LogType } from '@basemaps/shared';
|
|
2
|
-
import { Browser } from 'playwright';
|
|
3
2
|
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
4
|
-
import {
|
|
5
|
-
|
|
3
|
+
import { FastifyInstance } from 'fastify/types/instance';
|
|
4
|
+
import { Browser } from 'playwright';
|
|
6
5
|
export declare const DefaultHost = "basemaps.linz.govt.nz";
|
|
7
|
-
declare
|
|
8
|
-
Nztm2000Quad = "NZTM2000Quad",
|
|
9
|
-
Google = "WebMercatorQuad"
|
|
10
|
-
}
|
|
11
|
-
declare const zTileTest: z.ZodObject<{
|
|
12
|
-
name: z.ZodString;
|
|
13
|
-
tileMatrix: z.ZodNativeEnum<typeof TileMatrixIdentifier>;
|
|
14
|
-
location: z.ZodObject<{
|
|
15
|
-
lat: z.ZodNumber;
|
|
16
|
-
lng: z.ZodNumber;
|
|
17
|
-
z: z.ZodNumber;
|
|
18
|
-
}, "strip", z.ZodTypeAny, {
|
|
19
|
-
z: number;
|
|
20
|
-
lat: number;
|
|
21
|
-
lng: number;
|
|
22
|
-
}, {
|
|
23
|
-
z: number;
|
|
24
|
-
lat: number;
|
|
25
|
-
lng: number;
|
|
26
|
-
}>;
|
|
27
|
-
tileSet: z.ZodString;
|
|
28
|
-
style: z.ZodOptional<z.ZodString>;
|
|
29
|
-
}, "strip", z.ZodTypeAny, {
|
|
30
|
-
style?: string | undefined;
|
|
31
|
-
name: string;
|
|
32
|
-
location: {
|
|
33
|
-
z: number;
|
|
34
|
-
lat: number;
|
|
35
|
-
lng: number;
|
|
36
|
-
};
|
|
37
|
-
tileMatrix: TileMatrixIdentifier;
|
|
38
|
-
tileSet: string;
|
|
39
|
-
}, {
|
|
40
|
-
style?: string | undefined;
|
|
41
|
-
name: string;
|
|
42
|
-
location: {
|
|
43
|
-
z: number;
|
|
44
|
-
lat: number;
|
|
45
|
-
lng: number;
|
|
46
|
-
};
|
|
47
|
-
tileMatrix: TileMatrixIdentifier;
|
|
48
|
-
tileSet: string;
|
|
49
|
-
}>;
|
|
50
|
-
export declare type TileTestSchema = z.infer<typeof zTileTest>;
|
|
6
|
+
export declare const DefaultOutput = ".artifacts/visual-snapshots/";
|
|
51
7
|
export declare class CommandScreenShot extends CommandLineAction {
|
|
52
8
|
private config;
|
|
53
9
|
private host;
|
|
54
10
|
private tiles;
|
|
11
|
+
private assets;
|
|
12
|
+
private output;
|
|
55
13
|
constructor();
|
|
56
14
|
protected onDefineParameters(): void;
|
|
57
15
|
onExecute(): Promise<void>;
|
|
16
|
+
startServer(port: number, config: string, logger: LogType): Promise<FastifyInstance>;
|
|
17
|
+
takeScreenshots(host: string, chrome: Browser, logger: LogType): Promise<void>;
|
|
58
18
|
}
|
|
59
|
-
export declare function takeScreenshots(host: string, tiles: string, chrome: Browser, logger: LogType): Promise<void>;
|
|
60
|
-
export {};
|
|
61
19
|
//# sourceMappingURL=action.screenshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.screenshot.d.ts","sourceRoot":"","sources":["../../../src/cli/screenshot/action.screenshot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"action.screenshot.d.ts","sourceRoot":"","sources":["../../../src/cli/screenshot/action.screenshot.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAA8B,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AAG/C,eAAO,MAAM,WAAW,0BAA0B,CAAC;AACnD,eAAO,MAAM,aAAa,iCAAiC,CAAC;AAE5D,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAA6B;;IAU3C,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAiC9B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1B,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAMpF,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA0CrF"}
|
|
@@ -1,30 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { chromium } from 'playwright';
|
|
1
|
+
import { createServer } from '@basemaps/server';
|
|
2
|
+
import { Env, fsa, LogConfig } from '@basemaps/shared';
|
|
4
3
|
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
5
|
-
import {
|
|
4
|
+
import { mkdir } from 'fs/promises';
|
|
6
5
|
import getPort from 'get-port';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
export const DefaultTestTiles = './test-tiles/default.test.tiles.json';
|
|
6
|
+
import { chromium } from 'playwright';
|
|
7
|
+
import { DefaultTestTiles } from './test.tiles.js';
|
|
10
8
|
export const DefaultHost = 'basemaps.linz.govt.nz';
|
|
11
|
-
|
|
12
|
-
(function (TileMatrixIdentifier) {
|
|
13
|
-
TileMatrixIdentifier["Nztm2000Quad"] = "NZTM2000Quad";
|
|
14
|
-
TileMatrixIdentifier["Google"] = "WebMercatorQuad";
|
|
15
|
-
})(TileMatrixIdentifier || (TileMatrixIdentifier = {}));
|
|
16
|
-
const zLocation = z.object({
|
|
17
|
-
lat: z.number().gte(-90).lte(90),
|
|
18
|
-
lng: z.number().gte(-180).lte(180),
|
|
19
|
-
z: z.number().gte(0).lte(32),
|
|
20
|
-
});
|
|
21
|
-
const zTileTest = z.object({
|
|
22
|
-
name: z.string(),
|
|
23
|
-
tileMatrix: z.nativeEnum(TileMatrixIdentifier),
|
|
24
|
-
location: zLocation,
|
|
25
|
-
tileSet: z.string(),
|
|
26
|
-
style: z.string().optional(),
|
|
27
|
-
});
|
|
9
|
+
export const DefaultOutput = '.artifacts/visual-snapshots/';
|
|
28
10
|
export class CommandScreenShot extends CommandLineAction {
|
|
29
11
|
constructor() {
|
|
30
12
|
super({
|
|
@@ -49,28 +31,36 @@ export class CommandScreenShot extends CommandLineAction {
|
|
|
49
31
|
argumentName: 'TILES',
|
|
50
32
|
parameterLongName: '--tiles',
|
|
51
33
|
description: 'JSON file path for the test tiles',
|
|
52
|
-
|
|
34
|
+
});
|
|
35
|
+
this.assets = this.defineStringParameter({
|
|
36
|
+
argumentName: 'ASSETS',
|
|
37
|
+
parameterLongName: '--assets',
|
|
38
|
+
description: 'Where the assets (sprites, fonts) are located',
|
|
39
|
+
});
|
|
40
|
+
this.output = this.defineStringParameter({
|
|
41
|
+
argumentName: 'OUTPUT',
|
|
42
|
+
parameterLongName: '--output',
|
|
43
|
+
description: 'Output of the bundle file',
|
|
53
44
|
});
|
|
54
45
|
}
|
|
55
46
|
async onExecute() {
|
|
56
|
-
var _a, _b
|
|
47
|
+
var _a, _b;
|
|
57
48
|
const logger = LogConfig.get();
|
|
58
49
|
const config = this.config.value;
|
|
59
50
|
let host = (_a = this.host.value) !== null && _a !== void 0 ? _a : DefaultHost;
|
|
60
|
-
const tiles = (_b = this.tiles.value) !== null && _b !== void 0 ? _b : DefaultTestTiles;
|
|
61
51
|
let BasemapsServer = undefined;
|
|
62
52
|
if (config != null) {
|
|
63
53
|
const port = await getPort();
|
|
64
|
-
host = (
|
|
54
|
+
host = (_b = Env.get(Env.PublicUrlBase)) !== null && _b !== void 0 ? _b : `http://localhost:${port}`;
|
|
65
55
|
// Force a default url base so WMTS requests know their relative url
|
|
66
56
|
process.env[Env.PublicUrlBase] = host;
|
|
67
|
-
BasemapsServer = await startServer(port, config, logger);
|
|
57
|
+
BasemapsServer = await this.startServer(port, config, logger);
|
|
68
58
|
logger.info({ url: host }, 'Server:Started');
|
|
69
59
|
}
|
|
70
60
|
logger.info('Page:Launch');
|
|
71
61
|
const chrome = await chromium.launch();
|
|
72
62
|
try {
|
|
73
|
-
await takeScreenshots(host,
|
|
63
|
+
await this.takeScreenshots(host, chrome, logger);
|
|
74
64
|
}
|
|
75
65
|
finally {
|
|
76
66
|
await chrome.close();
|
|
@@ -78,44 +68,48 @@ export class CommandScreenShot extends CommandLineAction {
|
|
|
78
68
|
await BasemapsServer.close();
|
|
79
69
|
}
|
|
80
70
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
await mkdir(`.artifacts/visual-snapshots/`, { recursive: true });
|
|
94
|
-
let url = `${host}/?${searchParam.toString()}&debug=true&debug.screenshot=true#${loc}`;
|
|
95
|
-
if (!url.startsWith('http'))
|
|
96
|
-
url = `https://${url}`;
|
|
97
|
-
logger.info({ url, expected: fileName }, 'Page:Load');
|
|
98
|
-
await page.goto(url);
|
|
99
|
-
try {
|
|
100
|
-
await page.waitForSelector('div#map-loaded', { state: 'attached' });
|
|
101
|
-
await page.waitForTimeout(1000);
|
|
102
|
-
await page.waitForLoadState('networkidle');
|
|
103
|
-
await page.screenshot({ path: fileName });
|
|
71
|
+
async startServer(port, config, logger) {
|
|
72
|
+
// Start server
|
|
73
|
+
const server = await createServer({ config, assets: this.assets.value }, logger);
|
|
74
|
+
return await new Promise((resolve) => server.listen(port, '0.0.0.0', () => resolve(server)));
|
|
75
|
+
}
|
|
76
|
+
async takeScreenshots(host, chrome, logger) {
|
|
77
|
+
var _a;
|
|
78
|
+
const tiles = this.tiles.value;
|
|
79
|
+
const outputPath = (_a = this.output.value) !== null && _a !== void 0 ? _a : DefaultOutput;
|
|
80
|
+
let testTiles = DefaultTestTiles;
|
|
81
|
+
if (tiles) {
|
|
82
|
+
testTiles = await fsa.readJson(tiles);
|
|
104
83
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
84
|
+
for (const test of testTiles) {
|
|
85
|
+
const page = await chrome.newPage();
|
|
86
|
+
const searchParam = new URLSearchParams();
|
|
87
|
+
searchParam.set('p', test.tileMatrix);
|
|
88
|
+
searchParam.set('i', test.tileSet);
|
|
89
|
+
if (test.style)
|
|
90
|
+
searchParam.set('s', test.style);
|
|
91
|
+
const loc = `@${test.location.lat},${test.location.lng},z${test.location.z}`;
|
|
92
|
+
const fileName = test.name + '.png';
|
|
93
|
+
const output = fsa.join(outputPath, fileName);
|
|
94
|
+
await mkdir(`.artifacts/visual-snapshots/`, { recursive: true });
|
|
95
|
+
let url = `${host}/?${searchParam.toString()}&debug=true&debug.screenshot=true#${loc}`;
|
|
96
|
+
if (!url.startsWith('http'))
|
|
97
|
+
url = `https://${url}`;
|
|
98
|
+
logger.info({ url, expected: output }, 'Page:Load');
|
|
99
|
+
await page.goto(url);
|
|
100
|
+
try {
|
|
101
|
+
await page.waitForSelector('div#map-loaded', { state: 'attached' });
|
|
102
|
+
await page.waitForTimeout(1000);
|
|
103
|
+
await page.waitForLoadState('networkidle');
|
|
104
|
+
await page.screenshot({ path: output });
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
await page.screenshot({ path: output });
|
|
108
|
+
throw e;
|
|
109
|
+
}
|
|
110
|
+
logger.info({ url, expected: output }, 'Page:Load:Done');
|
|
111
|
+
await page.close();
|
|
108
112
|
}
|
|
109
|
-
logger.info({ url, expected: fileName }, 'Page:Load:Done');
|
|
110
|
-
await page.close();
|
|
111
113
|
}
|
|
112
114
|
}
|
|
113
|
-
|
|
114
|
-
// Bundle Config
|
|
115
|
-
const configJson = await fsa.readJson(config);
|
|
116
|
-
const mem = ConfigProviderMemory.fromJson(configJson);
|
|
117
|
-
Config.setConfigProvider(mem);
|
|
118
|
-
// Start server
|
|
119
|
-
const server = createServer(logger);
|
|
120
|
-
return await new Promise((resolve) => server.listen(port, '0.0.0.0', () => resolve(server)));
|
|
121
|
-
}
|
|
115
|
+
//# sourceMappingURL=action.screenshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.screenshot.js","sourceRoot":"","sources":["../../../src/cli/screenshot/action.screenshot.ts"],"names":[],"mappings":"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"}
|