@basemaps/cli 6.46.0 → 7.1.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 (233) hide show
  1. package/README.md +10 -108
  2. package/build/cli/__tests__/util.test.d.ts +0 -1
  3. package/build/cli/__tests__/util.test.js +11 -10
  4. package/build/cli/__tests__/util.test.js.map +1 -1
  5. package/build/cli/bin.d.ts +0 -1
  6. package/build/cli/config/action.bundle.assets.d.ts +5 -7
  7. package/build/cli/config/action.bundle.assets.js +34 -21
  8. package/build/cli/config/action.bundle.assets.js.map +1 -1
  9. package/build/cli/config/action.bundle.d.ts +1 -1
  10. package/build/cli/config/action.bundle.js +40 -12
  11. package/build/cli/config/action.bundle.js.map +1 -1
  12. package/build/cli/config/action.import.d.ts +4 -9
  13. package/build/cli/config/action.import.js +131 -110
  14. package/build/cli/config/action.import.js.map +1 -1
  15. package/build/cli/config/config.diff.d.ts +2 -2
  16. package/build/cli/config/config.diff.js +6 -4
  17. package/build/cli/config/config.diff.js.map +1 -1
  18. package/build/cli/config/config.update.d.ts +3 -5
  19. package/build/cli/config/config.update.js +42 -7
  20. package/build/cli/config/config.update.js.map +1 -1
  21. package/build/cli/folder.d.ts +0 -1
  22. package/build/cli/folder.js +1 -2
  23. package/build/cli/folder.js.map +1 -1
  24. package/build/cli/index.d.ts +0 -2
  25. package/build/cli/index.js +2 -17
  26. package/build/cli/index.js.map +1 -1
  27. package/build/cli/server/action.serve.d.ts +0 -1
  28. package/build/cli/server/action.serve.js +27 -4
  29. package/build/cli/server/action.serve.js.map +1 -1
  30. package/build/cli/util.d.ts +3 -8
  31. package/build/cli/util.js +48 -55
  32. package/build/cli/util.js.map +1 -1
  33. package/package.json +20 -24
  34. package/CHANGELOG.md +0 -1589
  35. package/build/cli/__tests__/util.test.d.ts.map +0 -1
  36. package/build/cli/base.cli.d.ts +0 -1
  37. package/build/cli/base.cli.d.ts.map +0 -1
  38. package/build/cli/base.cli.js +0 -2
  39. package/build/cli/base.cli.js.map +0 -1
  40. package/build/cli/bin.d.ts.map +0 -1
  41. package/build/cli/cogify/__tests__/batch.job.test.d.ts +0 -2
  42. package/build/cli/cogify/__tests__/batch.job.test.d.ts.map +0 -1
  43. package/build/cli/cogify/__tests__/batch.job.test.js +0 -92
  44. package/build/cli/cogify/__tests__/batch.job.test.js.map +0 -1
  45. package/build/cli/cogify/__tests__/semver.test.d.ts +0 -2
  46. package/build/cli/cogify/__tests__/semver.test.d.ts.map +0 -1
  47. package/build/cli/cogify/__tests__/semver.test.js +0 -62
  48. package/build/cli/cogify/__tests__/semver.test.js.map +0 -1
  49. package/build/cli/cogify/action.cog.d.ts +0 -20
  50. package/build/cli/cogify/action.cog.d.ts.map +0 -1
  51. package/build/cli/cogify/action.cog.js +0 -198
  52. package/build/cli/cogify/action.cog.js.map +0 -1
  53. package/build/cli/cogify/action.job.d.ts +0 -28
  54. package/build/cli/cogify/action.job.d.ts.map +0 -1
  55. package/build/cli/cogify/action.job.js +0 -176
  56. package/build/cli/cogify/action.job.js.map +0 -1
  57. package/build/cli/cogify/action.make.cog.d.ts +0 -23
  58. package/build/cli/cogify/action.make.cog.d.ts.map +0 -1
  59. package/build/cli/cogify/action.make.cog.js +0 -218
  60. package/build/cli/cogify/action.make.cog.js.map +0 -1
  61. package/build/cli/cogify/action.make.cog.pr.d.ts +0 -25
  62. package/build/cli/cogify/action.make.cog.pr.d.ts.map +0 -1
  63. package/build/cli/cogify/action.make.cog.pr.js +0 -96
  64. package/build/cli/cogify/action.make.cog.pr.js.map +0 -1
  65. package/build/cli/cogify/batch.job.d.ts +0 -40
  66. package/build/cli/cogify/batch.job.d.ts.map +0 -1
  67. package/build/cli/cogify/batch.job.js +0 -205
  68. package/build/cli/cogify/batch.job.js.map +0 -1
  69. package/build/cli/cogify/cutline.d.ts +0 -5
  70. package/build/cli/cogify/cutline.d.ts.map +0 -1
  71. package/build/cli/cogify/cutline.js +0 -33
  72. package/build/cli/cogify/cutline.js.map +0 -1
  73. package/build/cli/cogify/semver.util.d.ts +0 -24
  74. package/build/cli/cogify/semver.util.d.ts.map +0 -1
  75. package/build/cli/cogify/semver.util.js +0 -56
  76. package/build/cli/cogify/semver.util.js.map +0 -1
  77. package/build/cli/config/action.bundle.assets.d.ts.map +0 -1
  78. package/build/cli/config/action.bundle.d.ts.map +0 -1
  79. package/build/cli/config/action.cog.mapsheet.d.ts +0 -12
  80. package/build/cli/config/action.cog.mapsheet.d.ts.map +0 -1
  81. package/build/cli/config/action.cog.mapsheet.js +0 -107
  82. package/build/cli/config/action.cog.mapsheet.js.map +0 -1
  83. package/build/cli/config/action.imagery.config.d.ts +0 -11
  84. package/build/cli/config/action.imagery.config.d.ts.map +0 -1
  85. package/build/cli/config/action.imagery.config.js +0 -142
  86. package/build/cli/config/action.imagery.config.js.map +0 -1
  87. package/build/cli/config/action.import.d.ts.map +0 -1
  88. package/build/cli/config/config.diff.d.ts.map +0 -1
  89. package/build/cli/config/config.update.d.ts.map +0 -1
  90. package/build/cli/folder.d.ts.map +0 -1
  91. package/build/cli/github/github.d.ts +0 -49
  92. package/build/cli/github/github.d.ts.map +0 -1
  93. package/build/cli/github/github.js +0 -107
  94. package/build/cli/github/github.js.map +0 -1
  95. package/build/cli/github/make.cog.pr.d.ts +0 -42
  96. package/build/cli/github/make.cog.pr.d.ts.map +0 -1
  97. package/build/cli/github/make.cog.pr.js +0 -173
  98. package/build/cli/github/make.cog.pr.js.map +0 -1
  99. package/build/cli/index.d.ts.map +0 -1
  100. package/build/cli/overview/__test__/wmts.overview.test.d.ts +0 -2
  101. package/build/cli/overview/__test__/wmts.overview.test.d.ts.map +0 -1
  102. package/build/cli/overview/__test__/wmts.overview.test.js +0 -24
  103. package/build/cli/overview/__test__/wmts.overview.test.js.map +0 -1
  104. package/build/cli/overview/action.create.overview.d.ts +0 -17
  105. package/build/cli/overview/action.create.overview.d.ts.map +0 -1
  106. package/build/cli/overview/action.create.overview.js +0 -174
  107. package/build/cli/overview/action.create.overview.js.map +0 -1
  108. package/build/cli/overview/overview.wmts.d.ts +0 -3
  109. package/build/cli/overview/overview.wmts.d.ts.map +0 -1
  110. package/build/cli/overview/overview.wmts.js +0 -29
  111. package/build/cli/overview/overview.wmts.js.map +0 -1
  112. package/build/cli/overview/tile.generator.d.ts +0 -13
  113. package/build/cli/overview/tile.generator.d.ts.map +0 -1
  114. package/build/cli/overview/tile.generator.js +0 -86
  115. package/build/cli/overview/tile.generator.js.map +0 -1
  116. package/build/cli/overview/timer.d.ts +0 -14
  117. package/build/cli/overview/timer.d.ts.map +0 -1
  118. package/build/cli/overview/timer.js +0 -21
  119. package/build/cli/overview/timer.js.map +0 -1
  120. package/build/cli/server/action.serve.d.ts.map +0 -1
  121. package/build/cli/sprites/action.sprites.d.ts +0 -11
  122. package/build/cli/sprites/action.sprites.d.ts.map +0 -1
  123. package/build/cli/sprites/action.sprites.js +0 -42
  124. package/build/cli/sprites/action.sprites.js.map +0 -1
  125. package/build/cli/util.d.ts.map +0 -1
  126. package/build/cog/__tests__/builder.test.d.ts +0 -2
  127. package/build/cog/__tests__/builder.test.d.ts.map +0 -1
  128. package/build/cog/__tests__/builder.test.js +0 -81
  129. package/build/cog/__tests__/builder.test.js.map +0 -1
  130. package/build/cog/__tests__/cog.stac.job.test.d.ts +0 -2
  131. package/build/cog/__tests__/cog.stac.job.test.d.ts.map +0 -1
  132. package/build/cog/__tests__/cog.stac.job.test.js +0 -319
  133. package/build/cog/__tests__/cog.stac.job.test.js.map +0 -1
  134. package/build/cog/__tests__/cog.test.d.ts +0 -2
  135. package/build/cog/__tests__/cog.test.d.ts.map +0 -1
  136. package/build/cog/__tests__/cog.test.js +0 -91
  137. package/build/cog/__tests__/cog.test.js.map +0 -1
  138. package/build/cog/__tests__/cog.vrt.test.d.ts +0 -2
  139. package/build/cog/__tests__/cog.vrt.test.d.ts.map +0 -1
  140. package/build/cog/__tests__/cog.vrt.test.js +0 -229
  141. package/build/cog/__tests__/cog.vrt.test.js.map +0 -1
  142. package/build/cog/__tests__/cutline.test.d.ts +0 -2
  143. package/build/cog/__tests__/cutline.test.d.ts.map +0 -1
  144. package/build/cog/__tests__/cutline.test.js +0 -300
  145. package/build/cog/__tests__/cutline.test.js.map +0 -1
  146. package/build/cog/__tests__/projection.loader.test.d.ts +0 -2
  147. package/build/cog/__tests__/projection.loader.test.d.ts.map +0 -1
  148. package/build/cog/__tests__/projection.loader.test.js +0 -27
  149. package/build/cog/__tests__/projection.loader.test.js.map +0 -1
  150. package/build/cog/__tests__/source.tiff.testhelper.d.ts +0 -8
  151. package/build/cog/__tests__/source.tiff.testhelper.d.ts.map +0 -1
  152. package/build/cog/__tests__/source.tiff.testhelper.js +0 -41
  153. package/build/cog/__tests__/source.tiff.testhelper.js.map +0 -1
  154. package/build/cog/builder.d.ts +0 -49
  155. package/build/cog/builder.d.ts.map +0 -1
  156. package/build/cog/builder.js +0 -177
  157. package/build/cog/builder.js.map +0 -1
  158. package/build/cog/cog.d.ts +0 -22
  159. package/build/cog/cog.d.ts.map +0 -1
  160. package/build/cog/cog.js +0 -72
  161. package/build/cog/cog.js.map +0 -1
  162. package/build/cog/cog.stac.job.d.ts +0 -106
  163. package/build/cog/cog.stac.job.d.ts.map +0 -1
  164. package/build/cog/cog.stac.job.js +0 -257
  165. package/build/cog/cog.stac.job.js.map +0 -1
  166. package/build/cog/cog.vrt.d.ts +0 -18
  167. package/build/cog/cog.vrt.d.ts.map +0 -1
  168. package/build/cog/cog.vrt.js +0 -102
  169. package/build/cog/cog.vrt.js.map +0 -1
  170. package/build/cog/constants.d.ts +0 -5
  171. package/build/cog/constants.d.ts.map +0 -1
  172. package/build/cog/constants.js +0 -5
  173. package/build/cog/constants.js.map +0 -1
  174. package/build/cog/cutline.d.ts +0 -75
  175. package/build/cog/cutline.d.ts.map +0 -1
  176. package/build/cog/cutline.js +0 -250
  177. package/build/cog/cutline.js.map +0 -1
  178. package/build/cog/job.factory.d.ts +0 -10
  179. package/build/cog/job.factory.d.ts.map +0 -1
  180. package/build/cog/job.factory.js +0 -92
  181. package/build/cog/job.factory.js.map +0 -1
  182. package/build/cog/projection.loader.d.ts +0 -13
  183. package/build/cog/projection.loader.d.ts.map +0 -1
  184. package/build/cog/projection.loader.js +0 -27
  185. package/build/cog/projection.loader.js.map +0 -1
  186. package/build/cog/stac.d.ts +0 -32
  187. package/build/cog/stac.d.ts.map +0 -1
  188. package/build/cog/stac.js +0 -3
  189. package/build/cog/stac.js.map +0 -1
  190. package/build/cog/types.d.ts +0 -83
  191. package/build/cog/types.d.ts.map +0 -1
  192. package/build/cog/types.js +0 -2
  193. package/build/cog/types.js.map +0 -1
  194. package/build/gdal/__tests__/gdal.progress.test.d.ts +0 -2
  195. package/build/gdal/__tests__/gdal.progress.test.d.ts.map +0 -1
  196. package/build/gdal/__tests__/gdal.progress.test.js +0 -22
  197. package/build/gdal/__tests__/gdal.progress.test.js.map +0 -1
  198. package/build/gdal/__tests__/gdal.test.d.ts +0 -2
  199. package/build/gdal/__tests__/gdal.test.d.ts.map +0 -1
  200. package/build/gdal/__tests__/gdal.test.js +0 -52
  201. package/build/gdal/__tests__/gdal.test.js.map +0 -1
  202. package/build/gdal/gdal.cog.d.ts +0 -42
  203. package/build/gdal/gdal.cog.d.ts.map +0 -1
  204. package/build/gdal/gdal.cog.js +0 -108
  205. package/build/gdal/gdal.cog.js.map +0 -1
  206. package/build/gdal/gdal.command.d.ts +0 -44
  207. package/build/gdal/gdal.command.d.ts.map +0 -1
  208. package/build/gdal/gdal.command.js +0 -87
  209. package/build/gdal/gdal.command.js.map +0 -1
  210. package/build/gdal/gdal.config.d.ts +0 -51
  211. package/build/gdal/gdal.config.d.ts.map +0 -1
  212. package/build/gdal/gdal.config.js +0 -23
  213. package/build/gdal/gdal.config.js.map +0 -1
  214. package/build/gdal/gdal.d.ts +0 -19
  215. package/build/gdal/gdal.d.ts.map +0 -1
  216. package/build/gdal/gdal.docker.d.ts +0 -18
  217. package/build/gdal/gdal.docker.d.ts.map +0 -1
  218. package/build/gdal/gdal.docker.js +0 -82
  219. package/build/gdal/gdal.docker.js.map +0 -1
  220. package/build/gdal/gdal.js +0 -28
  221. package/build/gdal/gdal.js.map +0 -1
  222. package/build/gdal/gdal.local.d.ts +0 -10
  223. package/build/gdal/gdal.local.d.ts.map +0 -1
  224. package/build/gdal/gdal.local.js +0 -22
  225. package/build/gdal/gdal.local.js.map +0 -1
  226. package/build/gdal/gdal.progress.d.ts +0 -16
  227. package/build/gdal/gdal.progress.d.ts.map +0 -1
  228. package/build/gdal/gdal.progress.js +0 -50
  229. package/build/gdal/gdal.progress.js.map +0 -1
  230. package/build/index.d.ts +0 -6
  231. package/build/index.d.ts.map +0 -1
  232. package/build/index.js +0 -6
  233. package/build/index.js.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @basemaps/cli
2
2
 
3
- CreateThis package is to control the configuration in the LINZ basemaps product.
3
+ This package contains cli's that are mainly used by the configuration and CICD processes in the LINZ Basemaps. All of the cli commands in this package will be build into docker container and publish as a [github container](https://github.com/linz/basemaps/pkgs/container/basemaps%2Fcli)
4
4
 
5
5
  ## Install
6
6
 
@@ -14,130 +14,32 @@ npm i @basemaps/cli
14
14
 
15
15
  ## Usage -- Bundle
16
16
 
17
- Bundle config files into config bundle json from a given config path.
17
+ Bundle config files into config bundle json from a given config path. This is mainly use for [linz/basemaps-config](https://github.com/linz/basemaps-config) CICD process to bundle all the individual config json files into a single JSON bundle.
18
18
 
19
19
  ```bash
20
- ./bin/bmc.js bundle --config config/ --output config.json
20
+ ./bin/bmc.js bundle --config config/ --assets assets/asset.tar --output config.json
21
21
  ```
22
22
 
23
23
  ## Usage -- Import
24
24
 
25
- Import all configs from a bundled config.json into dynamo db from a given config path
25
+ Import all configs from a bundled config.json into dynamo db from a given config path. This is mainly use for [linz/basemaps-config](https://github.com/linz/basemaps-config) repository ci/cd process to deploy the config changes into DynamoDB.
26
26
 
27
27
  ```bash
28
28
  ./bin/bmc.js import --config config.json --commit
29
29
  ```
30
30
 
31
- ## Usage -- Screenshots
31
+ ## Usage -- Create Config
32
32
 
33
- Dump the screenshots from basemaps production
33
+ Create a individual config.json from a path of imagery for Basemaps to load as standalone server to view them. This is mainly used for the preview images for the Basemaps imagery import process.
34
34
 
35
35
  ```bash
36
- ./bin/bmc.js screenshot
36
+ ./bin/bmc.js create-config --path s3://..../images/*.tiff --title image_title --commit
37
37
  ```
38
38
 
39
- Dump the screenshots from different host
39
+ ## Usage -- Overview
40
40
 
41
- ```bash
42
- ./bin/bmc.js screenshot --host HOST
43
-
44
- ```
45
-
46
- Dump the screenshots with config file
47
-
48
- ```bash
49
- ./bin/bmc.js screenshot --config s3://..../config.json.gz
50
-
51
- ```
52
-
53
- ## Usage -- sprites
54
-
55
- Generate a sprite sheet from a list of sprites
56
-
57
- ```
58
- ./bin/bmc.js sprites --ratio 1 --ratio 2 --path ./config/sprites/topographic --output assets
59
- ```
60
-
61
- Outputs:
62
-
63
- assets/topographic.json
64
- assets/topographic.png
65
-
66
- assets/topographic@2x.json
67
- assets/topographic@2x.png
68
-
69
- ## Usage -- cogify
70
-
71
- Create a collection of cloud optimized geotiff's from a collection of geotiff, that is optimized to be used in `@basemaps/tiler`
72
-
73
- Create a list of COG's to create
74
-
75
- ```bash
76
- ./bin/bmc.js -V job --source ./source_folder/ --output ./source_folder/cogify/
77
- ```
78
-
79
- Build a specific COG
80
-
81
- ```bash
82
- ./bin/bmc.js -V cog --job ./cogs/01DYREBEEFFXEPBAYBED2TMAFJ/job.json --name 1-2-3 --commit
83
- ```
84
-
85
- Make cog job json
41
+ Create a overview tar file of tiles from the given of imagery. This create low zoom level tiles for the individual imagery and significantly improve the performance of serving individual imagery by pre-rendering and saving the tiles instead of rendering them on the fly.
86
42
 
87
43
  ```bash
88
- ./bin/bmc.js -V make-cog --imagery s3://imagery_path --target destination_bucket --name imagery_name --tile-matrix NZTM2000Quad --output ./jobs.json
44
+ ./bin/bmc.js create-overview --config s3://..../images/*.tiff --output overview/overviews.tar.co
89
45
  ```
90
-
91
- Split make cog job into chunked sub-jobs
92
-
93
- ```bash
94
- ./bin/bmc.js -V split-job --job s3://imagery_path/job.json --output jobs.json
95
- ```
96
-
97
- ## Advanced Job creation
98
-
99
- Useful configuration options for `cogify job`
100
-
101
- ### Min Tile zoom `--min-zoom :number`
102
-
103
- using the argument `--min-zoom` will configure the highest COG tile that can be created
104
- for example, `--min-zoom 10` means tiles of zoom `0 - 10` can be created but `11` cannot.
105
-
106
- This is useful to control the size of COGS across varying imagery sets World level z0-5 vs region z12-15 vs specific area 20+
107
-
108
- ### Concurrency `--concurrency :number`
109
-
110
- To load metadata quickly from S3 a lot of actions are run concurrently. using `--concurrent` controls the number of requests that can be outstanding at one time.
111
-
112
- ### Max COGs `--max-cogs :number`
113
-
114
- Controls the number of output COGs to create for small imagery sets (<50GB) this number should be low < 5 for larger imagery sets this number can be much larger (100+ for TB+ imagery sets)
115
-
116
- ### GeoJson `--geojson`
117
-
118
- Outputs two GeoJSON files to provide a representation of the source and target imagery, this can be used to help tune the generation parameters
119
-
120
- ## Building a COG collection
121
-
122
- The best way to build a cog collection is to create multiple JOBS with `--geojson` enabled while adjusting `--max-cogs` and `--min-zoom` when a good covering is found the job can then be submitted to AWS for processing.
123
-
124
- Using a large area of interest as shown in the imagery set below and is showing three different sets of parameters, The shaded green area is the original source imagery
125
-
126
- ![Example Covering](./static/example-covering.png)
127
-
128
- ### Green outline
129
-
130
- **Arguments:** `--max-cogs 5 --min-zoom 15`
131
- This has too much empty space inside the tile areas and is not a good example of a good collection of COGs to make.
132
-
133
- ### Red outline
134
-
135
- **Arguments:** `--max-cogs 500 --min-zoom 25`
136
-
137
- This creates too many tiles with many only including one or two source images.
138
-
139
- ### Blue outline
140
-
141
- **Arguments:** `--max-cogs 70 --min-zoom 20`
142
-
143
- This creates a decent covering without wasting too much space and not creating large area's of empty COG
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=util.test.d.ts.map
@@ -1,14 +1,15 @@
1
- import o from 'ospec';
1
+ import assert from 'node:assert';
2
+ import { describe, it } from 'node:test';
2
3
  import { nameImageryTitle } from '../util.js';
3
- o.spec('util', () => {
4
- o('nameImageryTitle', () => {
5
- o(nameImageryTitle('Palmerston-north urban 2016-17 12.125m')).equals('palmerston-north_urban_2016-17_12-125m');
6
- o(nameImageryTitle('Palmerston-north urban 2016-17 12-125')).equals('palmerston-north_urban_2016-17_12-125');
7
- o(nameImageryTitle('Palmerston-north / urban 2016-17 12.125')).equals('palmerston-north_urban_2016-17_12-125');
8
- o(nameImageryTitle('Palmerston.north / urban 2016-17 12.125')).equals('palmerston-north_urban_2016-17_12-125');
9
- o(nameImageryTitle('Manawatū urban 2016-17 12.125m')).equals('manawatu_urban_2016-17_12-125m');
10
- o(nameImageryTitle('ĀāĒēĪīŌōŪū urban 2016-17 12.125m')).equals('aaeeiioouu_urban_2016-17_12-125m');
11
- o(nameImageryTitle('Marlborough / Wellington 0.75m SNC50451 (2004-2005)')).equals('marlborough_wellington_0-75m_snc50451_2004-2005');
4
+ describe('util', () => {
5
+ it('nameImageryTitle', () => {
6
+ assert.equal(nameImageryTitle('Palmerston-north urban 2016-17 12.125m'), 'palmerston-north_urban_2016-17_12-125m');
7
+ assert.equal(nameImageryTitle('Palmerston-north urban 2016-17 12-125'), 'palmerston-north_urban_2016-17_12-125');
8
+ assert.equal(nameImageryTitle('Palmerston-north / urban 2016-17 12.125'), 'palmerston-north_urban_2016-17_12-125');
9
+ assert.equal(nameImageryTitle('Palmerston.north / urban 2016-17 12.125'), 'palmerston-north_urban_2016-17_12-125');
10
+ assert.equal(nameImageryTitle('Manawatū urban 2016-17 12.125m'), 'manawatu_urban_2016-17_12-125m');
11
+ assert.equal(nameImageryTitle('ĀāĒēĪīŌōŪū urban 2016-17 12.125m'), 'aaeeiioouu_urban_2016-17_12-125m');
12
+ assert.equal(nameImageryTitle('Marlborough / Wellington 0.75m SNC50451 (2004-2005)'), 'marlborough_wellington_0-75m_snc50451_2004-2005');
12
13
  });
13
14
  });
14
15
  //# sourceMappingURL=util.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/util.test.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IAClB,CAAC,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACzB,CAAC,CAAC,gBAAgB,CAAC,wCAAwC,CAAC,CAAC,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC;QAC/G,CAAC,CAAC,gBAAgB,CAAC,uCAAuC,CAAC,CAAC,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;QAC7G,CAAC,CAAC,gBAAgB,CAAC,yCAAyC,CAAC,CAAC,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;QAC/G,CAAC,CAAC,gBAAgB,CAAC,yCAAyC,CAAC,CAAC,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;QAC/G,CAAC,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,CAAC,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAC/F,CAAC,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;QACnG,CAAC,CAAC,gBAAgB,CAAC,qDAAqD,CAAC,CAAC,CAAC,MAAM,CAC/E,iDAAiD,CAClD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"util.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/util.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,wCAAwC,CAAC,EAAE,wCAAwC,CAAC,CAAC;QACnH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,uCAAuC,CAAC,EAAE,uCAAuC,CAAC,CAAC;QACjH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,yCAAyC,CAAC,EAAE,uCAAuC,CAAC,CAAC;QACnH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,yCAAyC,CAAC,EAAE,uCAAuC,CAAC,CAAC;QACnH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,EAAE,gCAAgC,CAAC,CAAC;QACnG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACvG,MAAM,CAAC,KAAK,CACV,gBAAgB,CAAC,qDAAqD,CAAC,EACvE,iDAAiD,CAClD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=bin.d.ts.map
@@ -1,8 +1,7 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { CommandLineAction, CommandLineStringParameter } from '@rushstack/ts-command-line';
4
- import { CotarIndexOptions } from '@cotar/core';
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
5
3
  import { LogType } from '@basemaps/shared';
4
+ import { CommandLineAction, CommandLineStringParameter } from '@rushstack/ts-command-line';
6
5
  import { Readable } from 'stream';
7
6
  export declare function hashFile(stream: Readable): Promise<string>;
8
7
  export declare class CommandBundleAssets extends CommandLineAction {
@@ -11,8 +10,7 @@ export declare class CommandBundleAssets extends CommandLineAction {
11
10
  constructor();
12
11
  protected onDefineParameters(): void;
13
12
  protected onExecute(): Promise<void>;
14
- buildTar(input: string, output: string, logger: LogType): Promise<string>;
13
+ buildTar(input: URL, output: string, logger: LogType): Promise<string>;
15
14
  buildTarCo(input: string, output: string, logger: LogType): Promise<string>;
16
- toTarIndex(filename: string, indexFileName: string, opts: CotarIndexOptions, logger: LogType): Promise<Buffer>;
15
+ toTarIndex(filename: string, indexFileName: string, logger: LogType): Promise<Buffer>;
17
16
  }
18
- //# sourceMappingURL=action.bundle.assets.d.ts.map
@@ -1,13 +1,11 @@
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 { createReadStream, promises as fs } from 'fs';
1
+ import { base58 } from '@basemaps/config';
2
+ import { fsa, LogConfig, SourceMemory } from '@basemaps/shared';
3
+ import { CotarIndexBuilder, TarReader } from '@cotar/builder';
4
+ import { CotarIndex } from '@cotar/core';
6
5
  import { TarBuilder } from '@cotar/tar';
7
- import { fsa } from '@chunkd/fs';
8
- import * as path from 'path';
6
+ import { CommandLineAction } from '@rushstack/ts-command-line';
9
7
  import { createHash } from 'crypto';
10
- import { base58 } from '@basemaps/config';
8
+ import { createReadStream, promises as fs } from 'fs';
11
9
  const Packing = 25; // Packing factor for the hash map
12
10
  const MaxSearch = 50; // Max search factor
13
11
  export async function hashFile(stream) {
@@ -25,6 +23,18 @@ export class CommandBundleAssets extends CommandLineAction {
25
23
  summary: 'Cli tool to create cotar file for the config assets',
26
24
  documentation: 'Create a cotar file from a directory',
27
25
  });
26
+ Object.defineProperty(this, "assets", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: void 0
31
+ });
32
+ Object.defineProperty(this, "output", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: void 0
37
+ });
28
38
  }
29
39
  onDefineParameters() {
30
40
  this.assets = this.defineStringParameter({
@@ -43,11 +53,11 @@ export class CommandBundleAssets extends CommandLineAction {
43
53
  const assets = this.assets.value;
44
54
  const output = this.output.value;
45
55
  if (assets == null || output == null)
46
- throw new Error('Please provide a input or ouput path');
56
+ throw new Error('Please provide a input and output path');
47
57
  if (!output.endsWith('.tar.co'))
48
58
  throw new Error(`Invalid output, needs to be .tar.co :"${output}"`);
49
- logger.info({ indput: assets }, 'BundleAssets:Start');
50
- const tarFile = await this.buildTar(assets, output, logger);
59
+ logger.info({ input: assets }, 'BundleAssets:Start');
60
+ const tarFile = await this.buildTar(fsa.toUrl(assets), output, logger);
51
61
  const cotarFile = await this.buildTarCo(tarFile, output, logger);
52
62
  const cotarHash = await hashFile(createReadStream(cotarFile));
53
63
  await fs.rename(cotarFile, cotarFile.replace('.tar.co', `-${cotarHash}.tar.co`));
@@ -59,12 +69,13 @@ export class CommandBundleAssets extends CommandLineAction {
59
69
  const tarBuilder = new TarBuilder(outputTar);
60
70
  const files = await fsa.toArray(fsa.list(input));
61
71
  // Ensure files are put into the same order
62
- files.sort((a, b) => a.localeCompare(b));
72
+ files.sort((a, b) => a.href.localeCompare(b.href));
63
73
  logger.info({ output: outputTar, files: files.length }, 'Tar:Create');
64
- const basePath = path.resolve(input);
65
74
  for (const file of files) {
66
- const filePath = file.replace(basePath, '').slice(1); // Remove the leading '/'
67
- await tarBuilder.write(filePath, await fsa.read(file));
75
+ const filePath = file.href.replace(input.href, '');
76
+ if (filePath.startsWith('/'))
77
+ filePath.slice(1); // Remove the leading '/'
78
+ await tarBuilder.write(decodeURI(filePath), await fsa.read(file));
68
79
  }
69
80
  await tarBuilder.close();
70
81
  logger.info({ output: outputTar, stats: tarBuilder.stats, duration: Date.now() - startTime }, 'Tar:Create:Done');
@@ -72,24 +83,26 @@ export class CommandBundleAssets extends CommandLineAction {
72
83
  }
73
84
  async buildTarCo(input, output, logger) {
74
85
  logger.info({ output }, 'Cotar:Create');
75
- const opts = { packingFactor: 1 + Packing / 100, maxSearch: MaxSearch };
76
86
  const indexFile = input + '.index';
77
87
  const startTime = Date.now();
78
- const buf = await this.toTarIndex(input, indexFile, opts, logger);
79
- logger.info({ output }, 'Cotar:Craete:WriteTar');
88
+ const buf = await this.toTarIndex(input, indexFile, logger);
89
+ logger.info({ output }, 'Cotar:Create:WriteTar');
80
90
  await fs.copyFile(input, output);
81
91
  await fs.appendFile(output, buf);
82
92
  const duration = Date.now() - startTime;
83
93
  logger.info({ output, duration }, 'Cotar:Created');
84
94
  return output;
85
95
  }
86
- async toTarIndex(filename, indexFileName, opts, logger) {
96
+ async toTarIndex(filename, indexFileName, logger) {
87
97
  const fd = await fs.open(filename, 'r');
88
98
  logger.info({ index: indexFileName }, 'Cotar.Index:Start');
89
99
  const startTime = Date.now();
90
- const { buffer, count } = await CotarIndexBuilder.create(fd, opts);
100
+ const { buffer, count } = await CotarIndexBuilder.create(fd, {
101
+ packingFactor: 1 + Packing / 100,
102
+ maxSearch: MaxSearch,
103
+ });
91
104
  logger.info({ count, size: buffer.length, duration: Date.now() - startTime }, 'Cotar.Index:Created');
92
- const index = await CotarIndexBinary.create(new SourceMemory('index', buffer));
105
+ const index = await CotarIndex.create(new SourceMemory('index', buffer));
93
106
  await TarReader.validate(fd, index);
94
107
  await fd.close();
95
108
  return buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"action.bundle.assets.js","sourceRoot":"","sources":["../../../src/cli/config/action.bundle.assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.bundle.assets.js","sourceRoot":"","sources":["../../../src/cli/config/action.bundle.assets.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ export declare class CommandBundle extends CommandLineAction {
5
5
  private config;
6
6
  private output;
7
7
  private assets;
8
+ private configCache;
8
9
  constructor();
9
10
  protected onDefineParameters(): void;
10
11
  onExecute(): Promise<void>;
11
12
  }
12
- //# sourceMappingURL=action.bundle.d.ts.map
@@ -1,6 +1,7 @@
1
- import { ConfigJson } from '@basemaps/config';
1
+ import { ConfigJson } from '@basemaps/config-loader';
2
2
  import { fsa, LogConfig } from '@basemaps/shared';
3
3
  import { CommandLineAction } from '@rushstack/ts-command-line';
4
+ import pLimit from 'p-limit';
4
5
  export const DefaultConfig = 'config/';
5
6
  export const DefaultOutput = 'config/config.json';
6
7
  export class CommandBundle extends CommandLineAction {
@@ -10,6 +11,30 @@ export class CommandBundle extends CommandLineAction {
10
11
  summary: 'bundle a config json from config files',
11
12
  documentation: 'Given a path of config files and bundle them into one config json',
12
13
  });
14
+ Object.defineProperty(this, "config", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: void 0
19
+ });
20
+ Object.defineProperty(this, "output", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: void 0
25
+ });
26
+ Object.defineProperty(this, "assets", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: void 0
31
+ });
32
+ Object.defineProperty(this, "configCache", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: void 0
37
+ });
13
38
  }
14
39
  onDefineParameters() {
15
40
  this.config = this.defineStringParameter({
@@ -26,22 +51,25 @@ export class CommandBundle extends CommandLineAction {
26
51
  argumentName: 'ASSETS',
27
52
  parameterLongName: '--assets',
28
53
  description: 'Add assets location into the config bundle file',
29
- required: true,
54
+ });
55
+ this.configCache = this.defineStringParameter({
56
+ argumentName: 'CACHE',
57
+ parameterLongName: '--cache',
58
+ description: 'Location of the config cache to reduce number of requests needed to source file',
30
59
  });
31
60
  }
32
61
  async onExecute() {
33
- var _a, _b;
34
62
  const logger = LogConfig.get();
35
- const config = (_a = this.config.value) !== null && _a !== void 0 ? _a : DefaultConfig;
36
- const bundle = (_b = this.output.value) !== null && _b !== void 0 ? _b : DefaultOutput;
37
- const mem = await ConfigJson.fromPath(config, logger);
63
+ const configUrl = fsa.toUrl(this.config.value ?? DefaultConfig);
64
+ const outputUrl = fsa.toUrl(this.output.value ?? DefaultOutput);
65
+ const cacheLocation = this.configCache.value ? fsa.toUrl(this.configCache.value) : undefined;
66
+ const q = pLimit(25);
67
+ const mem = await ConfigJson.fromUrl(configUrl, q, logger, cacheLocation);
68
+ if (this.assets.value)
69
+ mem.assets = this.assets.value;
38
70
  const configJson = mem.toJson();
39
- const assets = this.assets.value;
40
- if (assets == null)
41
- throw new Error('Please provide a asset path.');
42
- configJson.assets = assets;
43
- await fsa.writeJson(bundle, configJson);
44
- logger.info({ path: bundle }, 'ConfigBundled');
71
+ await fsa.write(outputUrl, JSON.stringify(configJson));
72
+ logger.info({ path: outputUrl }, 'ConfigBundled');
45
73
  return;
46
74
  }
47
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"action.bundle.js","sourceRoot":"","sources":["../../../src/cli/config/action.bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,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;YAC9D,QAAQ,EAAE,IAAI;SACf,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,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,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
+ {"version":3,"file":"action.bundle.js","sourceRoot":"","sources":["../../../src/cli/config/action.bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAA8B,MAAM,4BAA4B,CAAC;AAC3F,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAElD,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAMlD;QACE,KAAK,CAAC;YACJ,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,wCAAwC;YACjD,aAAa,EAAE,mEAAmE;SACnF,CAAC,CAAC;QAVG;;;;;WAAoC;QACpC;;;;;WAAoC;QACpC;;;;;WAAoC;QACpC;;;;;WAAyC;IAQjD,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;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC5C,YAAY,EAAE,OAAO;YACrB,iBAAiB,EAAE,SAAS;YAC5B,WAAW,EAAE,iFAAiF;SAC/F,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACtD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;CACF"}
@@ -1,13 +1,12 @@
1
1
  import { BaseConfig, BasemapsConfigProvider, ConfigLayer, ConfigProviderMemory } from '@basemaps/config';
2
2
  import { TileMatrixSet } from '@basemaps/geo';
3
+ import { LogType } from '@basemaps/shared';
3
4
  import { CommandLineAction } from '@rushstack/ts-command-line';
4
- import { CogStacJob } from '../../cog/cog.stac.job.js';
5
- import { FeatureCollection } from 'geojson';
6
5
  export declare class CommandImport extends CommandLineAction {
7
6
  private config;
8
- private backup;
9
7
  private output;
10
8
  private commit;
9
+ private target;
11
10
  promises: Promise<boolean>[];
12
11
  /** List of paths to invalidate at the end of the request */
13
12
  invalidations: string[];
@@ -17,8 +16,9 @@ export declare class CommandImport extends CommandLineAction {
17
16
  backupConfig: ConfigProviderMemory;
18
17
  constructor();
19
18
  protected onDefineParameters(): void;
19
+ getConfig(logger: LogType): Promise<BasemapsConfigProvider>;
20
20
  onExecute(): Promise<void>;
21
- update(config: BaseConfig, commit: boolean): void;
21
+ update(config: BaseConfig, oldConfig: BasemapsConfigProvider, commit: boolean): void;
22
22
  /**
23
23
  * This function prepare for the markdown lines with preview urls for new inserted config layers
24
24
  * @param mem new config data read from config bundle file
@@ -49,10 +49,6 @@ export declare class CommandImport extends CommandLineAction {
49
49
  * @param cfg existing config data
50
50
  */
51
51
  outputChange(output: string, mem: ConfigProviderMemory, cfg: BasemapsConfigProvider): Promise<void>;
52
- _jobs: Map<string, CogStacJob>;
53
- _loadJob(path: string): Promise<CogStacJob | undefined>;
54
- _coverings: Map<string, FeatureCollection>;
55
- _loadCovering(path: string): Promise<FeatureCollection>;
56
52
  /**
57
53
  * Prepare QA urls with center location
58
54
  */
@@ -61,4 +57,3 @@ export declare class CommandImport extends CommandLineAction {
61
57
  tag: string;
62
58
  }>;
63
59
  }
64
- //# sourceMappingURL=action.import.d.ts.map