@basemaps/cli 6.45.0 → 7.0.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.
Files changed (187) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +10 -108
  3. package/build/cli/config/action.bundle.d.ts.map +1 -1
  4. package/build/cli/config/action.bundle.js +2 -4
  5. package/build/cli/config/action.bundle.js.map +1 -1
  6. package/build/cli/config/action.import.d.ts +3 -3
  7. package/build/cli/config/action.import.d.ts.map +1 -1
  8. package/build/cli/config/action.import.js.map +1 -1
  9. package/build/cli/config/config.update.d.ts.map +1 -1
  10. package/build/cli/config/config.update.js +2 -2
  11. package/build/cli/config/config.update.js.map +1 -1
  12. package/build/cli/index.d.ts.map +1 -1
  13. package/build/cli/index.js +4 -13
  14. package/build/cli/index.js.map +1 -1
  15. package/build/cli/overview/action.create.overview.d.ts +2 -0
  16. package/build/cli/overview/action.create.overview.d.ts.map +1 -1
  17. package/build/cli/overview/action.create.overview.js +5 -1
  18. package/build/cli/overview/action.create.overview.js.map +1 -1
  19. package/build/cli/util.d.ts +1 -6
  20. package/build/cli/util.d.ts.map +1 -1
  21. package/build/cli/util.js +19 -27
  22. package/build/cli/util.js.map +1 -1
  23. package/build/cog/builder.d.ts +1 -1
  24. package/build/cog/builder.d.ts.map +1 -1
  25. package/build/cog/builder.js +1 -1
  26. package/build/cog/builder.js.map +1 -1
  27. package/build/cog/cutline.d.ts +1 -1
  28. package/build/cog/cutline.d.ts.map +1 -1
  29. package/build/cog/cutline.js +1 -1
  30. package/build/cog/cutline.js.map +1 -1
  31. package/package.json +10 -15
  32. package/build/cli/base.cli.d.ts +0 -1
  33. package/build/cli/base.cli.d.ts.map +0 -1
  34. package/build/cli/base.cli.js +0 -2
  35. package/build/cli/base.cli.js.map +0 -1
  36. package/build/cli/cogify/__tests__/batch.job.test.d.ts +0 -2
  37. package/build/cli/cogify/__tests__/batch.job.test.d.ts.map +0 -1
  38. package/build/cli/cogify/__tests__/batch.job.test.js +0 -92
  39. package/build/cli/cogify/__tests__/batch.job.test.js.map +0 -1
  40. package/build/cli/cogify/__tests__/semver.test.d.ts +0 -2
  41. package/build/cli/cogify/__tests__/semver.test.d.ts.map +0 -1
  42. package/build/cli/cogify/__tests__/semver.test.js +0 -62
  43. package/build/cli/cogify/__tests__/semver.test.js.map +0 -1
  44. package/build/cli/cogify/action.cog.d.ts +0 -20
  45. package/build/cli/cogify/action.cog.d.ts.map +0 -1
  46. package/build/cli/cogify/action.cog.js +0 -198
  47. package/build/cli/cogify/action.cog.js.map +0 -1
  48. package/build/cli/cogify/action.job.d.ts +0 -28
  49. package/build/cli/cogify/action.job.d.ts.map +0 -1
  50. package/build/cli/cogify/action.job.js +0 -176
  51. package/build/cli/cogify/action.job.js.map +0 -1
  52. package/build/cli/cogify/action.make.cog.d.ts +0 -23
  53. package/build/cli/cogify/action.make.cog.d.ts.map +0 -1
  54. package/build/cli/cogify/action.make.cog.js +0 -218
  55. package/build/cli/cogify/action.make.cog.js.map +0 -1
  56. package/build/cli/cogify/action.make.cog.pr.d.ts +0 -25
  57. package/build/cli/cogify/action.make.cog.pr.d.ts.map +0 -1
  58. package/build/cli/cogify/action.make.cog.pr.js +0 -96
  59. package/build/cli/cogify/action.make.cog.pr.js.map +0 -1
  60. package/build/cli/cogify/batch.job.d.ts +0 -40
  61. package/build/cli/cogify/batch.job.d.ts.map +0 -1
  62. package/build/cli/cogify/batch.job.js +0 -205
  63. package/build/cli/cogify/batch.job.js.map +0 -1
  64. package/build/cli/cogify/cutline.d.ts +0 -5
  65. package/build/cli/cogify/cutline.d.ts.map +0 -1
  66. package/build/cli/cogify/cutline.js +0 -33
  67. package/build/cli/cogify/cutline.js.map +0 -1
  68. package/build/cli/cogify/semver.util.d.ts +0 -24
  69. package/build/cli/cogify/semver.util.d.ts.map +0 -1
  70. package/build/cli/cogify/semver.util.js +0 -56
  71. package/build/cli/cogify/semver.util.js.map +0 -1
  72. package/build/cli/config/action.cog.mapsheet.d.ts +0 -12
  73. package/build/cli/config/action.cog.mapsheet.d.ts.map +0 -1
  74. package/build/cli/config/action.cog.mapsheet.js +0 -107
  75. package/build/cli/config/action.cog.mapsheet.js.map +0 -1
  76. package/build/cli/github/github.d.ts +0 -49
  77. package/build/cli/github/github.d.ts.map +0 -1
  78. package/build/cli/github/github.js +0 -107
  79. package/build/cli/github/github.js.map +0 -1
  80. package/build/cli/github/make.cog.pr.d.ts +0 -42
  81. package/build/cli/github/make.cog.pr.d.ts.map +0 -1
  82. package/build/cli/github/make.cog.pr.js +0 -173
  83. package/build/cli/github/make.cog.pr.js.map +0 -1
  84. package/build/cli/sprites/action.sprites.d.ts +0 -11
  85. package/build/cli/sprites/action.sprites.d.ts.map +0 -1
  86. package/build/cli/sprites/action.sprites.js +0 -42
  87. package/build/cli/sprites/action.sprites.js.map +0 -1
  88. package/build/cog/__tests__/builder.test.d.ts +0 -2
  89. package/build/cog/__tests__/builder.test.d.ts.map +0 -1
  90. package/build/cog/__tests__/builder.test.js +0 -81
  91. package/build/cog/__tests__/builder.test.js.map +0 -1
  92. package/build/cog/__tests__/cog.stac.job.test.d.ts +0 -2
  93. package/build/cog/__tests__/cog.stac.job.test.d.ts.map +0 -1
  94. package/build/cog/__tests__/cog.stac.job.test.js +0 -319
  95. package/build/cog/__tests__/cog.stac.job.test.js.map +0 -1
  96. package/build/cog/__tests__/cog.test.d.ts +0 -2
  97. package/build/cog/__tests__/cog.test.d.ts.map +0 -1
  98. package/build/cog/__tests__/cog.test.js +0 -91
  99. package/build/cog/__tests__/cog.test.js.map +0 -1
  100. package/build/cog/__tests__/cog.vrt.test.d.ts +0 -2
  101. package/build/cog/__tests__/cog.vrt.test.d.ts.map +0 -1
  102. package/build/cog/__tests__/cog.vrt.test.js +0 -229
  103. package/build/cog/__tests__/cog.vrt.test.js.map +0 -1
  104. package/build/cog/__tests__/cutline.test.d.ts +0 -2
  105. package/build/cog/__tests__/cutline.test.d.ts.map +0 -1
  106. package/build/cog/__tests__/cutline.test.js +0 -300
  107. package/build/cog/__tests__/cutline.test.js.map +0 -1
  108. package/build/cog/__tests__/projection.loader.test.d.ts +0 -2
  109. package/build/cog/__tests__/projection.loader.test.d.ts.map +0 -1
  110. package/build/cog/__tests__/projection.loader.test.js +0 -27
  111. package/build/cog/__tests__/projection.loader.test.js.map +0 -1
  112. package/build/cog/__tests__/source.tiff.testhelper.d.ts +0 -8
  113. package/build/cog/__tests__/source.tiff.testhelper.d.ts.map +0 -1
  114. package/build/cog/__tests__/source.tiff.testhelper.js +0 -41
  115. package/build/cog/__tests__/source.tiff.testhelper.js.map +0 -1
  116. package/build/cog/cog.d.ts +0 -22
  117. package/build/cog/cog.d.ts.map +0 -1
  118. package/build/cog/cog.js +0 -72
  119. package/build/cog/cog.js.map +0 -1
  120. package/build/cog/cog.stac.job.d.ts +0 -106
  121. package/build/cog/cog.stac.job.d.ts.map +0 -1
  122. package/build/cog/cog.stac.job.js +0 -257
  123. package/build/cog/cog.stac.job.js.map +0 -1
  124. package/build/cog/cog.vrt.d.ts +0 -18
  125. package/build/cog/cog.vrt.d.ts.map +0 -1
  126. package/build/cog/cog.vrt.js +0 -102
  127. package/build/cog/cog.vrt.js.map +0 -1
  128. package/build/cog/constants.d.ts +0 -5
  129. package/build/cog/constants.d.ts.map +0 -1
  130. package/build/cog/constants.js +0 -5
  131. package/build/cog/constants.js.map +0 -1
  132. package/build/cog/job.factory.d.ts +0 -10
  133. package/build/cog/job.factory.d.ts.map +0 -1
  134. package/build/cog/job.factory.js +0 -92
  135. package/build/cog/job.factory.js.map +0 -1
  136. package/build/cog/projection.loader.d.ts +0 -13
  137. package/build/cog/projection.loader.d.ts.map +0 -1
  138. package/build/cog/projection.loader.js +0 -27
  139. package/build/cog/projection.loader.js.map +0 -1
  140. package/build/cog/stac.d.ts +0 -32
  141. package/build/cog/stac.d.ts.map +0 -1
  142. package/build/cog/stac.js +0 -3
  143. package/build/cog/stac.js.map +0 -1
  144. package/build/cog/types.d.ts +0 -83
  145. package/build/cog/types.d.ts.map +0 -1
  146. package/build/cog/types.js +0 -2
  147. package/build/cog/types.js.map +0 -1
  148. package/build/gdal/__tests__/gdal.progress.test.d.ts +0 -2
  149. package/build/gdal/__tests__/gdal.progress.test.d.ts.map +0 -1
  150. package/build/gdal/__tests__/gdal.progress.test.js +0 -22
  151. package/build/gdal/__tests__/gdal.progress.test.js.map +0 -1
  152. package/build/gdal/__tests__/gdal.test.d.ts +0 -2
  153. package/build/gdal/__tests__/gdal.test.d.ts.map +0 -1
  154. package/build/gdal/__tests__/gdal.test.js +0 -52
  155. package/build/gdal/__tests__/gdal.test.js.map +0 -1
  156. package/build/gdal/gdal.cog.d.ts +0 -42
  157. package/build/gdal/gdal.cog.d.ts.map +0 -1
  158. package/build/gdal/gdal.cog.js +0 -108
  159. package/build/gdal/gdal.cog.js.map +0 -1
  160. package/build/gdal/gdal.command.d.ts +0 -44
  161. package/build/gdal/gdal.command.d.ts.map +0 -1
  162. package/build/gdal/gdal.command.js +0 -87
  163. package/build/gdal/gdal.command.js.map +0 -1
  164. package/build/gdal/gdal.config.d.ts +0 -51
  165. package/build/gdal/gdal.config.d.ts.map +0 -1
  166. package/build/gdal/gdal.config.js +0 -23
  167. package/build/gdal/gdal.config.js.map +0 -1
  168. package/build/gdal/gdal.d.ts +0 -19
  169. package/build/gdal/gdal.d.ts.map +0 -1
  170. package/build/gdal/gdal.docker.d.ts +0 -18
  171. package/build/gdal/gdal.docker.d.ts.map +0 -1
  172. package/build/gdal/gdal.docker.js +0 -82
  173. package/build/gdal/gdal.docker.js.map +0 -1
  174. package/build/gdal/gdal.js +0 -28
  175. package/build/gdal/gdal.js.map +0 -1
  176. package/build/gdal/gdal.local.d.ts +0 -10
  177. package/build/gdal/gdal.local.d.ts.map +0 -1
  178. package/build/gdal/gdal.local.js +0 -22
  179. package/build/gdal/gdal.local.js.map +0 -1
  180. package/build/gdal/gdal.progress.d.ts +0 -16
  181. package/build/gdal/gdal.progress.d.ts.map +0 -1
  182. package/build/gdal/gdal.progress.js +0 -50
  183. package/build/gdal/gdal.progress.js.map +0 -1
  184. package/build/index.d.ts +0 -6
  185. package/build/index.d.ts.map +0 -1
  186. package/build/index.js +0 -6
  187. package/build/index.js.map +0 -1
@@ -1,33 +0,0 @@
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
@@ -1 +0,0 @@
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,24 +0,0 @@
1
- export declare const SemVer: {
2
- /**
3
- * Encode a semver string into a number
4
- * @example
5
- * '0.0.1' => 1
6
- * 'v0.1.0' => 1024
7
- * @param v version to encode
8
- */
9
- toNumber(v: string): number;
10
- /**
11
- * Decoded a number encoded semver
12
- * @example 1 => '0.0.1'
13
- * @param v version to decode
14
- */
15
- fromNumber(v: number): string;
16
- /**
17
- * Compare two semver's
18
- * @param vA version A
19
- * @param vB version B
20
- * @returns 0 if equal, >0 if vA > vB, <0 otherwise
21
- */
22
- compare(vA: string, vB: string): number;
23
- };
24
- //# sourceMappingURL=semver.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semver.util.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/semver.util.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM;IACjB;;;;;;OAMG;gBACS,MAAM,GAAG,MAAM;IAmB3B;;;;OAIG;kBACW,MAAM,GAAG,MAAM;IAO7B;;;;;OAKG;gBACS,MAAM,MAAM,MAAM,GAAG,MAAM;CAGxC,CAAC"}
@@ -1,56 +0,0 @@
1
- /** major.minor.patch */
2
- const MaxLength = 3;
3
- /** fits into a int32 with out forcing a uint conversion */
4
- const EncodeBits = 10;
5
- /** Max size for a single semver number (1024) */
6
- const MaxEncode = 2 ** EncodeBits - 1;
7
- export const SemVer = {
8
- /**
9
- * Encode a semver string into a number
10
- * @example
11
- * '0.0.1' => 1
12
- * 'v0.1.0' => 1024
13
- * @param v version to encode
14
- */
15
- toNumber(v) {
16
- if (v.startsWith('v'))
17
- v = v.slice(1);
18
- const chunks = v.split('.');
19
- if (chunks.length > MaxLength)
20
- throw new Error(`Failed to parse semver "${v}" too long`);
21
- let output = 0;
22
- for (let i = 0; i < chunks.length; i++) {
23
- const chunk = chunks[i];
24
- if (chunk === '')
25
- break;
26
- const num = parseInt(chunk);
27
- if (isNaN(num))
28
- throw new Error(`Failed to parse semver "${v}"`);
29
- if (num > MaxEncode)
30
- throw new Error(`Failed to parse semver "${v}" ${chunk} is too large`);
31
- output |= num << ((MaxLength - i - 1) * EncodeBits);
32
- }
33
- return output;
34
- },
35
- /**
36
- * Decoded a number encoded semver
37
- * @example 1 => '0.0.1'
38
- * @param v version to decode
39
- */
40
- fromNumber(v) {
41
- const major = (v >> 20) & MaxEncode;
42
- const minor = (v >> 10) & MaxEncode;
43
- const patch = v & MaxEncode;
44
- return `${major}.${minor}.${patch}`;
45
- },
46
- /**
47
- * Compare two semver's
48
- * @param vA version A
49
- * @param vB version B
50
- * @returns 0 if equal, >0 if vA > vB, <0 otherwise
51
- */
52
- compare(vA, vB) {
53
- return SemVer.toNumber(vA) - SemVer.toNumber(vB);
54
- },
55
- };
56
- //# sourceMappingURL=semver.util.js.map
@@ -1 +0,0 @@
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"}
@@ -1,12 +0,0 @@
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
- private include;
7
- private exclude;
8
- constructor();
9
- protected onDefineParameters(): void;
10
- onExecute(): Promise<void>;
11
- }
12
- //# sourceMappingURL=action.cog.mapsheet.d.ts.map
@@ -1 +0,0 @@
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;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAA6B;;IAU5C,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAiC9B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CA2DjC"}
@@ -1,107 +0,0 @@
1
- import { ConfigProviderMemory } from '@basemaps/config';
2
- import { Bounds } from '@basemaps/geo';
3
- import { fsa, LogConfig } from '@basemaps/shared';
4
- import { CommandLineAction } from '@rushstack/ts-command-line';
5
- import * as fgb from 'flatgeobuf/lib/mjs/geojson.js';
6
- export class CommandCogMapSheet extends CommandLineAction {
7
- constructor() {
8
- super({
9
- actionName: 'create-mapsheet',
10
- summary: 'Create a cog mapsheet from provided flatgeobuf',
11
- documentation: 'Given a valid path of raw imagery and create a config bundle file',
12
- });
13
- }
14
- onDefineParameters() {
15
- this.path = this.defineStringParameter({
16
- argumentName: 'PATH',
17
- parameterLongName: '--path',
18
- description: 'Path of flatgeobuf, this can be both a local path or s3 location',
19
- required: true,
20
- });
21
- this.config = this.defineStringParameter({
22
- argumentName: 'CONFIG',
23
- parameterLongName: '--config',
24
- description: 'Path of basemaps config json, this can be both a local path or s3 location',
25
- required: true,
26
- });
27
- this.output = this.defineStringParameter({
28
- argumentName: 'OUTPUT',
29
- parameterLongName: '--output',
30
- description: 'Output of the mapsheet file',
31
- required: true,
32
- });
33
- this.include = this.defineStringParameter({
34
- argumentName: 'INCLUDE',
35
- parameterLongName: '--include',
36
- description: 'Include the layers with the pattern in the layer name.',
37
- required: false,
38
- });
39
- this.exclude = this.defineStringParameter({
40
- argumentName: 'EXCLUDE',
41
- parameterLongName: '--exclude',
42
- description: 'Exclude the layers with the pattern in the layer name.',
43
- required: false,
44
- });
45
- }
46
- async onExecute() {
47
- const logger = LogConfig.get();
48
- const path = this.path.value;
49
- if (path == null)
50
- throw new Error('Please provide valid a fgb path.');
51
- const config = this.config.value;
52
- if (config == null)
53
- throw new Error('Please provide valid a config path.');
54
- const include = this.include.value ? new RegExp(this.include.value.toLowerCase(), 'i') : undefined;
55
- const exclude = this.exclude.value ? new RegExp(this.exclude.value.toLowerCase(), 'i') : undefined;
56
- const outputPath = this.output.value;
57
- if (outputPath == null)
58
- throw new Error('Please provide valid a output path.');
59
- logger.info({ path }, 'MapSheet:LoadFgb');
60
- const buf = await fsa.read(path);
61
- logger.info({ config }, 'MapSheet:LoadConfig');
62
- const configJson = await fsa.readJson(config);
63
- const men = ConfigProviderMemory.fromJson(configJson);
64
- const rest = fgb.deserialize(buf);
65
- const aerial = await men.TileSet.get('ts_aerial');
66
- if (aerial == null)
67
- throw new Error('Invalid config file.');
68
- const layers = aerial.layers.filter((c) => c[2193] != null && (c.maxZoom == null || c.maxZoom > 19) && (c.minZoom == null || c.minZoom < 32));
69
- const imageryIds = new Set();
70
- for (const layer of layers) {
71
- if (exclude && exclude.test(layer.name))
72
- continue;
73
- if (include && !include.test(layer.name))
74
- continue;
75
- if (layer[2193] != null)
76
- imageryIds.add(layer[2193]);
77
- }
78
- const imagery = await men.Imagery.getAll(imageryIds);
79
- const output = [];
80
- logger.info({ path, config }, 'MapSheet:CreateMapSheet');
81
- for (const feature of rest.features) {
82
- if (feature.properties == null)
83
- continue;
84
- const sheetCode = feature.properties.sheet_code_id;
85
- const current = { sheetCode, files: [] };
86
- output.push(current);
87
- const bounds = Bounds.fromMultiPolygon(feature.geometry.coordinates);
88
- for (const layer of layers) {
89
- if (layer[2193] == null)
90
- continue;
91
- const img = imagery.get(layer[2193]);
92
- if (img == null)
93
- continue;
94
- if (img.bounds == null || Bounds.fromJson(img.bounds).intersects(bounds)) {
95
- for (const file of img.files) {
96
- if (bounds.intersects(Bounds.fromJson(file))) {
97
- current.files.push(`${img.uri}/${file.name}.tiff`);
98
- }
99
- }
100
- }
101
- }
102
- }
103
- logger.info({ outputPath }, 'MapSheet:WriteOutput');
104
- fsa.write(outputPath, JSON.stringify(output, null, 2));
105
- }
106
- }
107
- //# sourceMappingURL=action.cog.mapsheet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action.cog.mapsheet.js","sourceRoot":"","sources":["../../../src/cli/config/action.cog.mapsheet.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- import { LogType } from '@basemaps/shared';
2
- import { Api } from '@octokit/plugin-rest-endpoint-methods/dist-types/types.js';
3
- export declare class Github {
4
- repo: string;
5
- org: string;
6
- logger: LogType;
7
- repoName: string;
8
- octokit: Api;
9
- constructor(repo: string, logger: LogType);
10
- isOk: (s: number) => boolean;
11
- /**
12
- * Clone the repository
13
- *
14
- */
15
- clone(): void;
16
- /**
17
- * Get branch by name if exists, or create a new branch by name.
18
- *
19
- * @returns {branch} github references or the new created branch
20
- */
21
- getBranch(branch: string): string;
22
- /**
23
- * Config github user email and user name
24
- *
25
- */
26
- configUser(): void;
27
- /**
28
- * Commit the changes to current branch
29
- *
30
- */
31
- add(paths: string[]): void;
32
- /**
33
- * Commit the changes to current branch
34
- *
35
- */
36
- commit(message: string): void;
37
- /**
38
- * Push the local brach
39
- *
40
- */
41
- push(): void;
42
- /**
43
- * Create pull request
44
- * This needs to use github API to create Pull request by access token.
45
- *
46
- */
47
- createPullRequests(branch: string, title: string, draft: boolean): Promise<number>;
48
- }
49
- //# sourceMappingURL=github.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/cli/github/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,GAAG,EAAE,MAAM,2DAA2D,CAAC;AAGhF,qBAAa,MAAM;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;gBAED,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAazC,IAAI,MAAO,MAAM,KAAG,OAAO,CAAyB;IAEpD;;;OAGG;IACH,KAAK,IAAI,IAAI;IAMb;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAajC;;;OAGG;IACH,UAAU,IAAI,IAAI;IASlB;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAO1B;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK7B;;;OAGG;IACH,IAAI,IAAI,IAAI;IAKZ;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAczF"}
@@ -1,107 +0,0 @@
1
- import { Env } from '@basemaps/shared';
2
- import { execFileSync } from 'child_process';
3
- import { Octokit } from '@octokit/core';
4
- import { restEndpointMethods } from '@octokit/plugin-rest-endpoint-methods';
5
- export class Github {
6
- constructor(repo, logger) {
7
- this.isOk = (s) => s >= 200 && s <= 299;
8
- this.repo = repo;
9
- this.logger = logger;
10
- const [org, repoName] = repo.split('/');
11
- if (org == null || repoName == null)
12
- throw new Error(`Badly formatted repo name: ${repo}`);
13
- this.org = org;
14
- this.repoName = repoName;
15
- const token = Env.get(Env.GitHubToken);
16
- if (token == null)
17
- throw new Error('Please set up github token environment variable.');
18
- this.octokit = restEndpointMethods(new Octokit({ auth: token }));
19
- }
20
- /**
21
- * Clone the repository
22
- *
23
- */
24
- clone() {
25
- const ssh = `git@github.com:${this.repo}.git`;
26
- this.logger.info({ repository: this.repo }, 'GitHub: Clone');
27
- execFileSync('git', ['clone', ssh]).toString().trim();
28
- }
29
- /**
30
- * Get branch by name if exists, or create a new branch by name.
31
- *
32
- * @returns {branch} github references or the new created branch
33
- */
34
- getBranch(branch) {
35
- this.logger.info({ branch }, 'GitHub: Get branch');
36
- try {
37
- execFileSync('git', ['checkout', branch], { cwd: this.repoName }).toString().trim();
38
- this.logger.info({ branch }, 'GitHub: Branch Checkout');
39
- return branch;
40
- }
41
- catch (_a) {
42
- this.logger.info({ branch }, 'GitHub: Create New Branch');
43
- execFileSync('git', ['checkout', '-b', branch], { cwd: this.repoName }).toString().trim();
44
- return branch;
45
- }
46
- }
47
- /**
48
- * Config github user email and user name
49
- *
50
- */
51
- configUser() {
52
- var _a, _b;
53
- const email = (_a = Env.get('GIT_USER_EMAIL')) !== null && _a !== void 0 ? _a : 'basemaps@linz.govt.nz';
54
- const name = (_b = Env.get('GIT_USER_NAME')) !== null && _b !== void 0 ? _b : 'basemaps[bot]';
55
- this.logger.info({ repository: this.repo }, 'GitHub: Config User Email');
56
- execFileSync('git', ['config', 'user.email', email], { cwd: this.repoName }).toString().trim();
57
- this.logger.info({ repository: this.repo }, 'GitHub: Config User Name');
58
- execFileSync('git', ['config', 'user.name', name], { cwd: this.repoName }).toString().trim();
59
- }
60
- /**
61
- * Commit the changes to current branch
62
- *
63
- */
64
- add(paths) {
65
- this.logger.info({ repository: this.repo }, 'GitHub: Add Path');
66
- for (const path of paths) {
67
- execFileSync('git', ['add', path], { cwd: this.repoName }).toString().trim();
68
- }
69
- }
70
- /**
71
- * Commit the changes to current branch
72
- *
73
- */
74
- commit(message) {
75
- this.logger.info({ repository: this.repo }, 'GitHub: Commit all');
76
- execFileSync('git', ['commit', '-am', message], { cwd: this.repoName }).toString().trim();
77
- }
78
- /**
79
- * Push the local brach
80
- *
81
- */
82
- push() {
83
- this.logger.info({ repository: this.repo }, 'GitHub: Push');
84
- execFileSync('git', ['push', 'origin', 'HEAD'], { cwd: this.repoName }).toString().trim();
85
- }
86
- /**
87
- * Create pull request
88
- * This needs to use github API to create Pull request by access token.
89
- *
90
- */
91
- async createPullRequests(branch, title, draft) {
92
- // Create pull request from the give head
93
- const response = await this.octokit.rest.pulls.create({
94
- owner: this.org,
95
- repo: this.repoName,
96
- title,
97
- head: branch,
98
- base: 'master',
99
- draft,
100
- });
101
- if (!this.isOk(response.status))
102
- throw new Error('Failed to create pull request.');
103
- this.logger.info({ branch, url: response.data.html_url }, 'GitHub: Create Pull Request');
104
- return response.data.number;
105
- }
106
- }
107
- //# sourceMappingURL=github.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/cli/github/github.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import { ConfigLayer, ConfigTileSetRaster, ConfigTileSetVector } from '@basemaps/config';
2
- import { LogType } from '@basemaps/shared';
3
- import { Category } from '../cogify/action.make.cog.pr.js';
4
- import { Github } from './github.js';
5
- export declare class MakeCogGithub extends Github {
6
- imagery: string;
7
- _formatInstalled: boolean;
8
- constructor(imagery: string, repo: string, logger: LogType);
9
- /**
10
- * Install the dependencies for the cloned repo
11
- */
12
- npmInstall(): boolean;
13
- /**
14
- * Format the config files by prettier
15
- */
16
- formatConfigFile(path?: string): void;
17
- /**
18
- * Prepare and create pull request for the aerial tileset config
19
- */
20
- updateRasterTileSet(filename: string, layer: ConfigLayer, category: Category, individual: boolean): Promise<void>;
21
- /**
22
- * Set the default setting for the category
23
- */
24
- setDefaultConfig(layer: ConfigLayer, category: Category): ConfigLayer;
25
- /**
26
- * Add new layer at the bottom of related category
27
- */
28
- addLayer(layer: ConfigLayer, tileSet: ConfigTileSetRaster, category: Category): ConfigTileSetRaster;
29
- /**
30
- * Prepare raster tileSet config json
31
- */
32
- prepareRasterTileSetConfig(layer: ConfigLayer, tileSet: ConfigTileSetRaster, category: Category): Promise<ConfigTileSetRaster | undefined>;
33
- /**
34
- * Prepare and create pull request for the aerial tileset config
35
- */
36
- updateVectorTileSet(filename: string, layer: ConfigLayer): Promise<void>;
37
- /**
38
- * Prepare raster tileSet config json
39
- */
40
- prepareVectorTileSetConfig(layer: ConfigLayer, tileSet: ConfigTileSetVector): Promise<ConfigTileSetVector>;
41
- }
42
- //# sourceMappingURL=make.cog.pr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"make.cog.pr.d.ts","sourceRoot":"","sources":["../../../src/cli/github/make.cog.pr.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,mBAAmB,EACnB,mBAAmB,EAEpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAO,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAA0B,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,qBAAa,aAAc,SAAQ,MAAM;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,UAAS;gBACb,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAK1D;;OAEG;IACH,UAAU,IAAI,OAAO;IAMrB;;OAEG;IACH,gBAAgB,CAAC,IAAI,SAAc,GAAG,IAAI;IAM1C;;OAEG;IACG,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,IAAI,CAAC;IA4ChB;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW;IAOrE;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAG,mBAAmB;IAYnG;;OAEG;IACG,0BAA0B,CAC9B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAgC3C;;OAEG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9E;;OAEG;IACG,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAUjH"}
@@ -1,173 +0,0 @@
1
- import { ConfigId, ConfigPrefix, TileSetType, } from '@basemaps/config';
2
- import { fsa } from '@basemaps/shared';
3
- import { Category, DefaultCategorySetting } from '../cogify/action.make.cog.pr.js';
4
- import { Github } from './github.js';
5
- import { execFileSync } from 'child_process';
6
- export class MakeCogGithub extends Github {
7
- constructor(imagery, repo, logger) {
8
- super(repo, logger);
9
- this._formatInstalled = false;
10
- this.imagery = imagery;
11
- }
12
- /**
13
- * Install the dependencies for the cloned repo
14
- */
15
- npmInstall() {
16
- this.logger.info({ repository: this.repo }, 'GitHub: Npm Install');
17
- execFileSync('npm', ['install', '--include=dev'], { cwd: this.repoName });
18
- return true;
19
- }
20
- /**
21
- * Format the config files by prettier
22
- */
23
- formatConfigFile(path = './config/') {
24
- if (!this._formatInstalled)
25
- this._formatInstalled = this.npmInstall();
26
- this.logger.info({ repository: this.repo }, 'GitHub: Prettier');
27
- execFileSync('npx', ['prettier', '-w', path], { cwd: this.repoName });
28
- }
29
- /**
30
- * Prepare and create pull request for the aerial tileset config
31
- */
32
- async updateRasterTileSet(filename, layer, category, individual) {
33
- const branch = `feat/bot-config-raster-${this.imagery}`;
34
- // Clone the basemaps-config repo and checkout branch
35
- this.clone();
36
- this.configUser();
37
- this.getBranch(branch);
38
- this.logger.info({ imagery: this.imagery }, 'GitHub: Get the master TileSet config file');
39
- if (individual) {
40
- // Prepare new standalone tileset config
41
- const tileSet = {
42
- type: TileSetType.Raster,
43
- id: ConfigId.prefix(ConfigPrefix.TileSet, layer.name),
44
- title: layer.title,
45
- layers: [layer],
46
- };
47
- const tileSetPath = fsa.joinAll('config', 'tileset', 'individual', `${layer.name}.json`);
48
- const fullPath = fsa.join(this.repoName, tileSetPath);
49
- await fsa.write(fullPath, JSON.stringify(tileSet));
50
- // Format the config file by prettier
51
- this.formatConfigFile(tileSetPath);
52
- this.add([tileSetPath]);
53
- }
54
- else {
55
- // Prepare new aerial tileset config
56
- const tileSetPath = fsa.joinAll('config', 'tileset', `${filename}.json`);
57
- const fullPath = fsa.join(this.repoName, tileSetPath);
58
- const tileSet = await fsa.readJson(fullPath);
59
- const newTileSet = await this.prepareRasterTileSetConfig(layer, tileSet, category);
60
- // skip pull request if not an urban or rural imagery
61
- if (newTileSet == null)
62
- return;
63
- await fsa.write(fullPath, JSON.stringify(newTileSet));
64
- // Format the config file by prettier
65
- this.formatConfigFile(tileSetPath);
66
- this.add([tileSetPath]);
67
- }
68
- // Commit and push the changes
69
- const message = `config(raster): Add imagery ${this.imagery} to ${filename} config file.`;
70
- this.commit(message);
71
- this.push();
72
- await this.createPullRequests(branch, message, false);
73
- }
74
- /**
75
- * Set the default setting for the category
76
- */
77
- setDefaultConfig(layer, category) {
78
- layer.category = category;
79
- const defaultSetting = DefaultCategorySetting[category];
80
- if (defaultSetting.minZoom != null && layer.minZoom != null)
81
- layer.minZoom = defaultSetting.minZoom;
82
- return layer;
83
- }
84
- /**
85
- * Add new layer at the bottom of related category
86
- */
87
- addLayer(layer, tileSet, category) {
88
- for (let i = tileSet.layers.length - 1; i >= 0; i--) {
89
- // Add new layer at the end of category
90
- if (tileSet.layers[i].category === category) {
91
- // Find first valid category and insert new record above that.
92
- tileSet.layers.splice(i + 1, 0, layer);
93
- break;
94
- }
95
- }
96
- return tileSet;
97
- }
98
- /**
99
- * Prepare raster tileSet config json
100
- */
101
- async prepareRasterTileSetConfig(layer, tileSet, category) {
102
- // Reprocess existing layer
103
- for (let i = 0; i < tileSet.layers.length; i++) {
104
- if (tileSet.layers[i].name === layer.name) {
105
- tileSet.layers[i] = layer;
106
- return tileSet;
107
- }
108
- }
109
- // Set default Config if not existing layer
110
- this.setDefaultConfig(layer, category);
111
- // Set layer zoom level and add to latest order
112
- if (category === Category.Rural) {
113
- for (let i = 0; i < tileSet.layers.length; i++) {
114
- // Add new layer above the first Urban
115
- if (tileSet.layers[i].category === Category.Urban) {
116
- // Find first valid Urban and insert new record above that.
117
- tileSet.layers.splice(i, 0, layer);
118
- break;
119
- }
120
- }
121
- }
122
- else if (category === Category.Other) {
123
- // Add new layer at the bottom
124
- tileSet.layers.push(layer);
125
- }
126
- else {
127
- this.addLayer(layer, tileSet, category);
128
- }
129
- return tileSet;
130
- }
131
- /**
132
- * Prepare and create pull request for the aerial tileset config
133
- */
134
- async updateVectorTileSet(filename, layer) {
135
- const branch = `feat/bot-config-vector-${this.imagery}`;
136
- // Clone the basemaps-config repo and checkout branch
137
- this.clone();
138
- this.configUser();
139
- this.getBranch(branch);
140
- // Prepare new aerial tileset config
141
- this.logger.info({ imagery: this.imagery }, 'GitHub: Get the master TileSet config file');
142
- const tileSetPath = fsa.joinAll('config', 'tileset', `${filename}.json`);
143
- const fullPath = fsa.join(this.repoName, tileSetPath);
144
- const tileSet = await fsa.readJson(fullPath);
145
- const newTileSet = await this.prepareVectorTileSetConfig(layer, tileSet);
146
- // skip pull request if not an urban or rural imagery
147
- if (newTileSet == null)
148
- return;
149
- await fsa.write(fullPath, JSON.stringify(newTileSet));
150
- // Format the config file by prettier
151
- this.formatConfigFile(tileSetPath);
152
- // Commit and push the changes
153
- const message = `config(vector): Update the ${this.imagery} to ${filename} config file.`;
154
- this.add([tileSetPath]);
155
- this.commit(message);
156
- this.push();
157
- await this.createPullRequests(branch, message, false);
158
- }
159
- /**
160
- * Prepare raster tileSet config json
161
- */
162
- async prepareVectorTileSetConfig(layer, tileSet) {
163
- // Reprocess existing layer
164
- for (let i = 0; i < tileSet.layers.length; i++) {
165
- if (tileSet.layers[i].name === layer.name) {
166
- tileSet.layers[i] = layer;
167
- return tileSet;
168
- }
169
- }
170
- return tileSet;
171
- }
172
- }
173
- //# sourceMappingURL=make.cog.pr.js.map