From b72678f558cef73468084e313cb654666775634b Mon Sep 17 00:00:00 2001 From: Nitzan Morr Date: Sun, 19 Apr 2026 17:31:00 +0300 Subject: [PATCH 01/24] fix: package json version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7a2f4db..944a085 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/raster-shared", - "version": "7.10.2", + "version": "7.11.0-alpha", "description": "This is template for map colonies typescript packages", "main": "./dist/index.js", "exports": { From 4f6ef366cd25b1c4668371e7bb0f59d63148d9b6 Mon Sep 17 00:00:00 2001 From: Nitzan Morr Date: Sun, 19 Apr 2026 18:21:25 +0300 Subject: [PATCH 02/24] feat: add resolution threshold check to thresholds schema --- src/schemas/ingestion/validationTask.schema.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/schemas/ingestion/validationTask.schema.ts b/src/schemas/ingestion/validationTask.schema.ts index 930ddd7..b3e1824 100644 --- a/src/schemas/ingestion/validationTask.schema.ts +++ b/src/schemas/ingestion/validationTask.schema.ts @@ -22,6 +22,7 @@ export const thresholdsSchema = z.object({ count: counterSchema, }), smallGeometries: thresholdCheckSchema.describe('Small geometries threshold check result'), + resolution: thresholdCheckSchema.describe('Resolution threshold check result'), }); export const validationAggregatedErrorsSchema = z.object({ From e726f0dc061e058131ebda051cc11907de1f6d97 Mon Sep 17 00:00:00 2001 From: Nitzan Morr Date: Sun, 19 Apr 2026 18:22:22 +0300 Subject: [PATCH 03/24] fix: bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 944a085..d3848dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/raster-shared", - "version": "7.11.0-alpha", + "version": "7.11.0-alpha-1", "description": "This is template for map colonies typescript packages", "main": "./dist/index.js", "exports": { From 2587722796704dce3bef9b84228835c6c852a7cd Mon Sep 17 00:00:00 2001 From: Shimon Cohen <33935191+shimoncohen@users.noreply.github.com> Date: Sun, 26 Apr 2026 16:55:44 +0300 Subject: [PATCH 04/24] refactor!: change polygon part validation error to new format (MAPCO-10506) (#183) Co-authored-by: Copilot Co-authored-by: RonitKissis --- src/types/ingestion/report.type.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/types/ingestion/report.type.ts b/src/types/ingestion/report.type.ts index 3de23c8..ebd0c47 100644 --- a/src/types/ingestion/report.type.ts +++ b/src/types/ingestion/report.type.ts @@ -7,9 +7,20 @@ export type PolygonPartValidationErrorsType = Pick< 'RESOLUTION' | 'GEOMETRY_VALIDITY' | 'SMALL_GEOMETRY' | 'SMALL_HOLES' | 'UNKNOWN' >[keyof Pick]; +export interface PolygonPartValidationResolutionErrorItem { + code: (typeof ValidationErrorType)['RESOLUTION']; + isExceeded: boolean; +} + +export interface PolygonPartValidationGeneralErrorItem { + code: Exclude; +} + +export type PolygonPartValidationErrorItem = PolygonPartValidationResolutionErrorItem | PolygonPartValidationGeneralErrorItem; + export interface PolygonPartValidationError { id: string; - errors: PolygonPartValidationErrorsType[]; + errors: PolygonPartValidationErrorItem[]; } export interface PolygonPartsChunkValidationResult { parts: PolygonPartValidationError[]; From 61e08f4785b32f66fa4fed485d9507306dcf4598 Mon Sep 17 00:00:00 2001 From: RonitKissis Date: Sun, 26 Apr 2026 17:08:11 +0300 Subject: [PATCH 05/24] feat: update package --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d3848dc..d6e5323 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/raster-shared", - "version": "7.11.0-alpha-1", + "version": "8.0.0-alpha", "description": "This is template for map colonies typescript packages", "main": "./dist/index.js", "exports": { From af9d32bb601dd535b3bb2d49e253103c7390fb39 Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Mon, 27 Apr 2026 10:28:26 +0300 Subject: [PATCH 06/24] refactor: add ingestion job types schema and update polygon parts schema (#184) --- src/schemas/ingestion/job.schema.ts | 4 +++- src/schemas/ingestion/polygonParts.schema.ts | 3 ++- src/types/ingestion/job.type.ts | 9 ++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/schemas/ingestion/job.schema.ts b/src/schemas/ingestion/job.schema.ts index a2d1cc7..e475147 100644 --- a/src/schemas/ingestion/job.schema.ts +++ b/src/schemas/ingestion/job.schema.ts @@ -1,10 +1,12 @@ import z from 'zod'; -import { CORE_VALIDATIONS } from '../../constants'; +import { CORE_VALIDATIONS, JobTypes } from '../../constants'; import { urlsArraySchema } from '../core'; import { newAdditionalParamsSchema, swapUpdateAdditionalParamsSchema, updateAdditionalParamsSchema } from './additionalParams.schema'; import { inputFilesSchema } from './inputFiles.schema'; import { newRasterLayerMetadataSchema, updateRasterLayerMetadataSchema } from './metadata.schema'; +export const ingestionJobTypeSchema = z.enum([JobTypes.Ingestion_New, JobTypes.Ingestion_Swap_Update, JobTypes.Ingestion_Update]); + export const ingestionResolutionSchema = z .number({ message: 'Resolution degree should be a number' }) .min(CORE_VALIDATIONS.resolutionDeg.min, { diff --git a/src/schemas/ingestion/polygonParts.schema.ts b/src/schemas/ingestion/polygonParts.schema.ts index f65a918..f7fb3be 100644 --- a/src/schemas/ingestion/polygonParts.schema.ts +++ b/src/schemas/ingestion/polygonParts.schema.ts @@ -10,6 +10,7 @@ import { resourceIdSchema, versionSchema, } from '../core'; +import { ingestionJobTypeSchema } from './job.schema'; import { polygonPartsEntityPatternSchema } from './layerNameFormats.schema'; export const partSchema = z @@ -89,7 +90,7 @@ export const polygonPartsFeatureSchema = featureSchema(polygonSchema.or(multiPol export const polygonPartsFeatureCollectionSchema = featureCollectionSchema(polygonPartsFeatureSchema); export const polygonPartsPayloadSchema = z.object({ - jobType: z.string(), + jobType: ingestionJobTypeSchema, productType: rasterProductTypeSchema, catalogId: z.string().uuid({ message: 'Catalog ID should be a valid UUID' }), productId: resourceIdSchema, diff --git a/src/types/ingestion/job.type.ts b/src/types/ingestion/job.type.ts index 5925f90..ebd9f16 100644 --- a/src/types/ingestion/job.type.ts +++ b/src/types/ingestion/job.type.ts @@ -1,8 +1,15 @@ import { z } from 'zod'; -import { ingestionNewJobParamsSchema, ingestionSwapUpdateJobParamsSchema, ingestionUpdateJobParamsSchema } from '../../schemas'; +import { + ingestionNewJobParamsSchema, + ingestionSwapUpdateJobParamsSchema, + ingestionUpdateJobParamsSchema, + type ingestionJobTypeSchema, +} from '../../schemas'; //#region IngestionJobParams export type IngestionNewJobParams = z.infer; export type IngestionUpdateJobParams = z.infer; export type IngestionSwapUpdateJobParams = z.infer; //#endregion + +export type IngestionJobType = z.infer; From 908bcfd6ec4adcdf7eba5d8e08853f2a0b4fd3f6 Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Wed, 29 Apr 2026 18:13:50 +0300 Subject: [PATCH 07/24] refactor: set release-please initial version (#185) --- release-please-config-alpha.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-please-config-alpha.json b/release-please-config-alpha.json index 96e15e0..2b05749 100644 --- a/release-please-config-alpha.json +++ b/release-please-config-alpha.json @@ -5,7 +5,7 @@ "release-type": "node", "include-component-in-tag": false, "include-v-in-tag": true, - "initial-version": "0.0.1-alpha.1", + "initial-version": "8.0.0-alpha", "prerelease": true, "prerelease-type": "alpha", "versioning": "prerelease" From 3769756998f8c903730c1d0dde249a45083a4b95 Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Wed, 29 Apr 2026 18:33:57 +0300 Subject: [PATCH 08/24] refactor: set release-please initial version (#186) Release-As: 8.0.0-alpha.0 --- release-please-config-alpha.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-please-config-alpha.json b/release-please-config-alpha.json index 2b05749..ce764e4 100644 --- a/release-please-config-alpha.json +++ b/release-please-config-alpha.json @@ -5,7 +5,7 @@ "release-type": "node", "include-component-in-tag": false, "include-v-in-tag": true, - "initial-version": "8.0.0-alpha", + "initial-version": "8.0.0-alpha.0", "prerelease": true, "prerelease-type": "alpha", "versioning": "prerelease" From 19b49ff12fd01d2cc41bdd4623c26ffbfef58e7f Mon Sep 17 00:00:00 2001 From: mapcolonies-devops <143094402+mapcolonies-devops@users.noreply.github.com> Date: Thu, 30 Apr 2026 12:10:59 +0300 Subject: [PATCH 09/24] chore(alpha): release 8.0.0-alpha.0 (#182) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 25 +++++++++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 1c3fc07..95bf4a8 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "7.10.2" + ".": "8.0.0-alpha.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 66c114e..ff413ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,31 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [8.0.0-alpha.0](https://github.com/MapColonies/raster-shared/compare/v7.10.2...v8.0.0-alpha.0) (2026-04-29) + + +### ⚠ BREAKING CHANGES + +* change polygon part validation error to new format (MAPCO-10506) ([#183](https://github.com/MapColonies/raster-shared/issues/183)) + +### Features + +* add optional errors summary to ingestion validation schema ([#180](https://github.com/MapColonies/raster-shared/issues/180)) ([5b6f644](https://github.com/MapColonies/raster-shared/commit/5b6f644d0ff2cc7fff26ee6e26f5337b0e1eeb56)) +* add resolution threshold check to thresholds schema ([4f6ef36](https://github.com/MapColonies/raster-shared/commit/4f6ef366cd25b1c4668371e7bb0f59d63148d9b6)) +* update package ([61e08f4](https://github.com/MapColonies/raster-shared/commit/61e08f4785b32f66fa4fed485d9507306dcf4598)) + + +### Bug Fixes + +* bump version ([e726f0d](https://github.com/MapColonies/raster-shared/commit/e726f0dc061e058131ebda051cc11907de1f6d97)) +* package json version ([b72678f](https://github.com/MapColonies/raster-shared/commit/b72678f558cef73468084e313cb654666775634b)) + + +### Code Refactoring + +* change polygon part validation error to new format (MAPCO-10506) ([#183](https://github.com/MapColonies/raster-shared/issues/183)) ([2587722](https://github.com/MapColonies/raster-shared/commit/2587722796704dce3bef9b84228835c6c852a7cd)) +* set release-please initial version ([#186](https://github.com/MapColonies/raster-shared/issues/186)) ([3769756](https://github.com/MapColonies/raster-shared/commit/3769756998f8c903730c1d0dde249a45083a4b95)) + ## [7.10.2](https://github.com/MapColonies/raster-shared/compare/v7.10.1...v7.10.2) (2026-03-17) diff --git a/package-lock.json b/package-lock.json index 9834e17..56f697a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@map-colonies/raster-shared", - "version": "7.10.2", + "version": "8.0.0-alpha.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@map-colonies/raster-shared", - "version": "7.10.2", + "version": "8.0.0-alpha.0", "license": "ISC", "dependencies": { "@map-colonies/mc-priority-queue": "^9.1.0", diff --git a/package.json b/package.json index d6e5323..b02c6c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/raster-shared", - "version": "8.0.0-alpha", + "version": "8.0.0-alpha.0", "description": "This is template for map colonies typescript packages", "main": "./dist/index.js", "exports": { From f92cfb682b71c9ce63cd95a5983e0756ef504772 Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Thu, 30 Apr 2026 16:56:52 +0300 Subject: [PATCH 10/24] ci: adjust publish for alpha release (#187) --- .github/workflows/publish.yaml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 879db5b..8a36d91 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -24,8 +24,11 @@ jobs: echo "branch=$BRANCH" >> $GITHUB_OUTPUT - name: Publish to npm run: | - if [ "${{ github.ref_name }}" == "alpha" ]; then - npm publish --access public --tag alpha - else - npm publish --access public - fi + echo "is pre-release: ${{ github.event.release.prerelease }}" + if [[ "${{ github.event.release.prerelease }}" == "true" ]] && [[ "${{ github.ref_name }}" == "${{ steps.package-info.outputs.version }}" ]]; then + echo "publishing prerelease with alpha tag" + # npm publish --access public --tag alpha + else + echo "publishing standard release" + # npm publish --access public + fi From 5ec4eb58e2c9bd1aaecc9a83f6a67c558004cd62 Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:30:29 +0300 Subject: [PATCH 11/24] ci: adjust publish for alpha release (#188) --- .github/workflows/publish.yaml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 8a36d91..cd43adc 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -25,8 +25,15 @@ jobs: - name: Publish to npm run: | echo "is pre-release: ${{ github.event.release.prerelease }}" - if [[ "${{ github.event.release.prerelease }}" == "true" ]] && [[ "${{ github.ref_name }}" == "${{ steps.package-info.outputs.version }}" ]]; then - echo "publishing prerelease with alpha tag" + echo "publish triggered on: ${{ github.ref_type }}" + if [[ "${{ github.ref_type }}" == "tag" ]] && + [[ "${{ github.event.release.prerelease }}" == "true" ]] && + [[ "${{ github.ref_name }}" == "${{ steps.package-info.outputs.version }}" ]]; then + echo "publishing prerelease with alpha tag from tag" + # npm publish --access public --tag alpha + elif [[ "${{ github.ref_type }}" == "branch" ]] && + [[ "${{ github.ref_name }}" == *"alpha"* ]]; then + echo "publishing prerelease with alpha tag from branch" # npm publish --access public --tag alpha else echo "publishing standard release" From b5c342d96ff202c022c30daf19332833315a78e0 Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:53:47 +0300 Subject: [PATCH 12/24] ci: adjust publish for alpha release (#189) --- .github/workflows/publish.yaml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index cd43adc..cc0c0b1 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -26,14 +26,12 @@ jobs: run: | echo "is pre-release: ${{ github.event.release.prerelease }}" echo "publish triggered on: ${{ github.ref_type }}" - if [[ "${{ github.ref_type }}" == "tag" ]] && + if ([[ "${{ github.ref_type }}" == "tag" ]] && [[ "${{ github.event.release.prerelease }}" == "true" ]] && - [[ "${{ github.ref_name }}" == "${{ steps.package-info.outputs.version }}" ]]; then - echo "publishing prerelease with alpha tag from tag" - # npm publish --access public --tag alpha - elif [[ "${{ github.ref_type }}" == "branch" ]] && - [[ "${{ github.ref_name }}" == *"alpha"* ]]; then - echo "publishing prerelease with alpha tag from branch" + [[ "${{ github.ref_name }}" == "${{ steps.package-info.outputs.version }}" ]]) || + ([[ "${{ github.ref_type }}" == "branch" ]] && + [[ "${{ github.ref_name }}" == *"alpha"* ]]); then + echo "publishing prerelease with alpha tag from ${{ github.ref_type }}" # npm publish --access public --tag alpha else echo "publishing standard release" From 8ee3e0ffbe7b30378b8c1bd380de507fb189fde2 Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:02:17 +0300 Subject: [PATCH 13/24] ci: adjust publish for alpha release (#190) --- .github/workflows/publish.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index cc0c0b1..58685fb 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -30,10 +30,10 @@ jobs: [[ "${{ github.event.release.prerelease }}" == "true" ]] && [[ "${{ github.ref_name }}" == "${{ steps.package-info.outputs.version }}" ]]) || ([[ "${{ github.ref_type }}" == "branch" ]] && - [[ "${{ github.ref_name }}" == *"alpha"* ]]); then + [[ "${{ github.ref_name }}" == "alpha" ]]); then echo "publishing prerelease with alpha tag from ${{ github.ref_type }}" - # npm publish --access public --tag alpha + npm publish --access public --tag alpha else echo "publishing standard release" - # npm publish --access public + npm publish --access public fi From c87c428efdd98ced15972e6d487d6bb4acce95e9 Mon Sep 17 00:00:00 2001 From: almog8k <60139576+almog8k@users.noreply.github.com> Date: Mon, 4 May 2026 16:51:34 +0300 Subject: [PATCH 14/24] feat: add tile deletion schemas and types, refactor source type (#191) Co-authored-by: Copilot Co-authored-by: razbroc <77406876+razbroc@users.noreply.github.com> --- src/constants/core/constants.ts | 12 ++++++++++++ src/constants/export/constants.ts | 7 ------- src/schemas/core/tile.schema.ts | 29 +++++++++++++++++++++++++++++ src/types/core/tile.type.ts | 5 +++++ 4 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 src/schemas/core/tile.schema.ts create mode 100644 src/types/core/tile.type.ts diff --git a/src/constants/core/constants.ts b/src/constants/core/constants.ts index 9f2f477..911e951 100644 --- a/src/constants/core/constants.ts +++ b/src/constants/core/constants.ts @@ -54,3 +54,15 @@ export const CORE_VALIDATIONS = { export const HASH_ALGORITHMS = ['XXH64'] as const; export type HashAlgorithm = (typeof HASH_ALGORITHMS)[number]; + +export const MAX_ZOOM_LEVEL = 22; + +/* eslint-disable @typescript-eslint/naming-convention */ +export const SourceType = { + S3: 'S3', + GPKG: 'GPKG', + FS: 'FS', +} as const; +/* eslint-enable @typescript-eslint/naming-convention */ + +export type SourceType = (typeof SourceType)[keyof typeof SourceType]; diff --git a/src/constants/export/constants.ts b/src/constants/export/constants.ts index b5a6ac8..26c58b4 100644 --- a/src/constants/export/constants.ts +++ b/src/constants/export/constants.ts @@ -9,18 +9,11 @@ export const TileFormatStrategy = { MIXED: 'mixed', } as const; -export const SourceType = { - S3: 'S3', - GPKG: 'GPKG', - FS: 'FS', -} as const; - export const ExportFinalizeType = { Full_Processing: 'FullProcessing', Error_Callback: 'ErrorCallback', } as const; export type TileFormatStrategy = (typeof TileFormatStrategy)[keyof typeof TileFormatStrategy]; -export type SourceType = (typeof SourceType)[keyof typeof SourceType]; export type ExportFinalizeType = (typeof ExportFinalizeType)[keyof typeof ExportFinalizeType]; /* eslint-disable @typescript-eslint/naming-convention */ diff --git a/src/schemas/core/tile.schema.ts b/src/schemas/core/tile.schema.ts new file mode 100644 index 0000000..e04087e --- /dev/null +++ b/src/schemas/core/tile.schema.ts @@ -0,0 +1,29 @@ +import { z } from 'zod'; +import { MAX_ZOOM_LEVEL, SourceType, TileOutputFormat } from '../../constants'; + +export const tileRangeSchema = z.object({ + zoom: z.number().int().min(0).max(MAX_ZOOM_LEVEL), + minX: z.number().int().min(0), + maxX: z.number().int().min(0), + minY: z.number().int().min(0), + maxY: z.number().int().min(0), +}); + +export const tilesDeletionParamsBaseSchema = z.object({ + tilesPath: z.string().min(1), // Base path for the tiles to be deleted + ranges: z.array(tileRangeSchema).min(1), // Array of tile ranges to be deleted + fileExtension: z + .literal(TileOutputFormat.PNG) + .transform((val) => val.toLowerCase()) + .or(z.literal(TileOutputFormat.JPEG).transform((val) => val.toLowerCase())), // File extension of the tiles (e.g., 'png', 'jpeg') +}); + +export const s3TilesDeletionParamsSchema = tilesDeletionParamsBaseSchema.extend({ + sourceProvider: z.literal(SourceType.S3), +}); + +export const fsTilesDeletionParamsSchema = tilesDeletionParamsBaseSchema.extend({ + sourceProvider: z.literal(SourceType.FS), +}); + +export const tilesDeletionParamsSchema = z.discriminatedUnion('sourceProvider', [s3TilesDeletionParamsSchema, fsTilesDeletionParamsSchema]); diff --git a/src/types/core/tile.type.ts b/src/types/core/tile.type.ts new file mode 100644 index 0000000..15570f7 --- /dev/null +++ b/src/types/core/tile.type.ts @@ -0,0 +1,5 @@ +import z from 'zod'; +import { tileRangeSchema, tilesDeletionParamsSchema } from '../../schemas/core/tile.schema'; + +export type TilesDeletionParams = z.infer; +export type TileRange = z.infer; From 8aee6a9395e3ef590d0b238eb0d4d364c7d63c7e Mon Sep 17 00:00:00 2001 From: mapcolonies-devops <143094402+mapcolonies-devops@users.noreply.github.com> Date: Mon, 4 May 2026 16:54:30 +0300 Subject: [PATCH 15/24] chore(alpha): release 8.1.0-alpha.0 (#192) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 95bf4a8..27320d4 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "8.0.0-alpha.0" + ".": "8.1.0-alpha.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index ff413ae..a7e894f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [8.1.0-alpha.0](https://github.com/MapColonies/raster-shared/compare/v8.0.0-alpha.0...v8.1.0-alpha.0) (2026-05-04) + + +### Features + +* add tile deletion schemas and types, refactor source type ([#191](https://github.com/MapColonies/raster-shared/issues/191)) ([c87c428](https://github.com/MapColonies/raster-shared/commit/c87c428efdd98ced15972e6d487d6bb4acce95e9)) + ## [8.0.0-alpha.0](https://github.com/MapColonies/raster-shared/compare/v7.10.2...v8.0.0-alpha.0) (2026-04-29) diff --git a/package-lock.json b/package-lock.json index 56f697a..b40a214 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@map-colonies/raster-shared", - "version": "8.0.0-alpha.0", + "version": "8.1.0-alpha.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@map-colonies/raster-shared", - "version": "8.0.0-alpha.0", + "version": "8.1.0-alpha.0", "license": "ISC", "dependencies": { "@map-colonies/mc-priority-queue": "^9.1.0", diff --git a/package.json b/package.json index b02c6c7..8bff6a9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/raster-shared", - "version": "8.0.0-alpha.0", + "version": "8.1.0-alpha.0", "description": "This is template for map colonies typescript packages", "main": "./dist/index.js", "exports": { From 440f0c52714a559747be55da3eadf76459dfdc3d Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Tue, 5 May 2026 09:49:36 +0300 Subject: [PATCH 16/24] feat: add polygon parts schema and types for intersection api (#193) --- src/schemas/core/index.ts | 1 + src/schemas/core/polygonParts.schema.ts | 90 ++++++++++++++++++++ src/schemas/ingestion/polygonParts.schema.ts | 69 +-------------- src/types/core/index.ts | 1 + src/types/core/polygonParts.type.ts | 20 +++++ 5 files changed, 113 insertions(+), 68 deletions(-) create mode 100644 src/schemas/core/polygonParts.schema.ts create mode 100644 src/types/core/polygonParts.type.ts diff --git a/src/schemas/core/index.ts b/src/schemas/core/index.ts index 3a73c9e..16b0b2a 100644 --- a/src/schemas/core/index.ts +++ b/src/schemas/core/index.ts @@ -6,3 +6,4 @@ export * from './aggregation.schema'; export * from './callback.schema'; export * from './link.schema'; export * from './file.schema'; +export * from './polygonParts.schema'; diff --git a/src/schemas/core/polygonParts.schema.ts b/src/schemas/core/polygonParts.schema.ts new file mode 100644 index 0000000..7a6d458 --- /dev/null +++ b/src/schemas/core/polygonParts.schema.ts @@ -0,0 +1,90 @@ +import { z } from 'zod'; +import { CORE_VALIDATIONS, INGESTION_VALIDATIONS } from '../../constants'; +import { featureCollectionSchema, featureSchema, multiPolygonSchema, polygonSchema } from './geo.schema'; + +const polygonalGeometrySchema = polygonSchema.or(multiPolygonSchema).describe('polygonalGeometrySchema'); + +export const partSchema = z + .object({ + id: z.string(), + sourceId: z.string({ message: 'Source id should be a string' }).optional(), + sourceName: z.string({ message: 'Source name should be a string' }).min(1, { message: 'Source name should have length of at least 1' }), + description: z.string({ message: 'Description should be a string' }).optional(), + imagingTimeBeginUTC: z.coerce.date({ message: 'Imaging time begin UTC should be a datetime' }), + imagingTimeEndUTC: z.coerce.date({ message: 'Imaging time end UTC should be a datetime' }), + resolutionDegree: z + .number({ message: 'Resolution degree should be a number' }) + .min(CORE_VALIDATIONS.resolutionDeg.min, { + message: `Resolution degree should not be less than ${CORE_VALIDATIONS.resolutionDeg.min}`, + }) + .max(CORE_VALIDATIONS.resolutionDeg.max, { + message: `Resolution degree should not be larger than ${CORE_VALIDATIONS.resolutionDeg.max}`, + }), + resolutionMeter: z + .number({ message: 'Resolution meter should be a number' }) + .min(INGESTION_VALIDATIONS.resolutionMeter.min, { + message: `Resolution meter should not be less than ${INGESTION_VALIDATIONS.resolutionMeter.min}`, + }) + .max(INGESTION_VALIDATIONS.resolutionMeter.max, { + message: `Resolution meter should not be larger than ${INGESTION_VALIDATIONS.resolutionMeter.max}`, + }), + sourceResolutionMeter: z + .number({ message: 'Source resolution meter should be a number' }) + .min(INGESTION_VALIDATIONS.resolutionMeter.min, { + message: `Source resolution meter should not be less than ${INGESTION_VALIDATIONS.resolutionMeter.min}`, + }) + .max(INGESTION_VALIDATIONS.resolutionMeter.max, { + message: `Source resolution meter should not be larger than ${INGESTION_VALIDATIONS.resolutionMeter.max}`, + }), + horizontalAccuracyCE90: z + .number({ message: 'Horizontal accuracy CE90 should be a number' }) + .min(INGESTION_VALIDATIONS.horizontalAccuracyCE90.min, { + message: `Horizontal accuracy CE90 should not be less than ${INGESTION_VALIDATIONS.horizontalAccuracyCE90.min}`, + }) + .max(INGESTION_VALIDATIONS.horizontalAccuracyCE90.max, { + message: `Horizontal accuracy CE90 should not be larger than ${INGESTION_VALIDATIONS.horizontalAccuracyCE90.max}`, + }), + sensors: z + .array( + z.string({ message: 'Sensors should be an array of strings' }).regex(new RegExp(INGESTION_VALIDATIONS.sensor.pattern), { + message: 'Sensors should be an array with items not starting or ending with whitespace characters', + }), + { message: 'Sensors should be an array' } + ) + .min(1, { message: 'Sensors should have an array length of at least 1' }), + countries: z + .array(z.string({ message: 'Countries should be an array of strings' }).min(1, { message: 'Countries should have length of at least 1' }), { + message: 'Countries should be an array', + }) + .optional(), + cities: z + .array(z.string({ message: 'Cities should be an array of strings' }).min(1, { message: 'Cities should have length of at least 1' }), { + message: 'Cities should be an array', + }) + .optional(), + }) + .refine((part) => part.imagingTimeBeginUTC <= part.imagingTimeEndUTC && part.imagingTimeEndUTC <= new Date(), { + message: 'Imaging time begin UTC should be less than or equal to imaging time end UTC and both less than or equal to current timestamp', + }) + .describe('partSchema'); +export const partsSchema = z.array(partSchema).describe('partsSchema'); + +//#region intersection +export const intersectionFeaturePropertiesSchema = partSchema._def.schema + .pick({ resolutionDegree: true }) + .describe('intersectionFeaturePropertiesSchema'); +export const intersectionFeatureGeometrySchema = polygonalGeometrySchema.describe('intersectionFeatureGeometrySchema'); +export const intersectionFeatureSchema = featureSchema(intersectionFeatureGeometrySchema, intersectionFeaturePropertiesSchema).describe( + 'intersectionFeatureGeometrySchema' +); +export const intersectionFeatureCollectionSchema = featureCollectionSchema(intersectionFeatureSchema) + .and(z.object({ features: intersectionFeatureSchema.array().length(1) })) + .describe('intersectionFeatureCollectionSchema'); + +export const intersectedFeaturePropertiesSchema = z.object({}).strict().describe('intersectedFeaturePropertiesSchema'); +export const intersectedFeatureGeometrySchema = polygonalGeometrySchema.describe('intersectedFeatureGeometrySchema'); +export const intersectedFeatureSchema = featureSchema(intersectedFeatureGeometrySchema, intersectedFeaturePropertiesSchema).describe( + 'intersectedFeatureSchema' +); +export const intersectedFeatureCollectionSchema = featureCollectionSchema(intersectedFeatureSchema).describe('intersectedFeatureCollectionSchema'); +//#endregion diff --git a/src/schemas/ingestion/polygonParts.schema.ts b/src/schemas/ingestion/polygonParts.schema.ts index f7fb3be..5a1cef0 100644 --- a/src/schemas/ingestion/polygonParts.schema.ts +++ b/src/schemas/ingestion/polygonParts.schema.ts @@ -1,6 +1,4 @@ import { z } from 'zod'; -import { CORE_VALIDATIONS } from '../../constants'; -import { INGESTION_VALIDATIONS } from '../../constants/ingestion/constants'; import { featureCollectionSchema, featureSchema, @@ -10,75 +8,10 @@ import { resourceIdSchema, versionSchema, } from '../core'; +import { partSchema } from '../core/polygonParts.schema'; import { ingestionJobTypeSchema } from './job.schema'; import { polygonPartsEntityPatternSchema } from './layerNameFormats.schema'; -export const partSchema = z - .object({ - id: z.string(), - sourceId: z.string({ message: 'Source id should be a string' }).optional(), - sourceName: z.string({ message: 'Source name should be a string' }).min(1, { message: 'Source name should have length of at least 1' }), - description: z.string({ message: 'Description should be a string' }).optional(), - imagingTimeBeginUTC: z.coerce.date({ message: 'Imaging time begin UTC should be a datetime' }), - imagingTimeEndUTC: z.coerce.date({ message: 'Imaging time end UTC should be a datetime' }), - resolutionDegree: z - .number({ message: 'Resolution degree should be a number' }) - .min(CORE_VALIDATIONS.resolutionDeg.min, { - message: `Resolution degree should not be less than ${CORE_VALIDATIONS.resolutionDeg.min}`, - }) - .max(CORE_VALIDATIONS.resolutionDeg.max, { - message: `Resolution degree should not be larger than ${CORE_VALIDATIONS.resolutionDeg.max}`, - }), - resolutionMeter: z - .number({ message: 'Resolution meter should be a number' }) - .min(INGESTION_VALIDATIONS.resolutionMeter.min, { - message: `Resolution meter should not be less than ${INGESTION_VALIDATIONS.resolutionMeter.min}`, - }) - .max(INGESTION_VALIDATIONS.resolutionMeter.max, { - message: `Resolution meter should not be larger than ${INGESTION_VALIDATIONS.resolutionMeter.max}`, - }), - sourceResolutionMeter: z - .number({ message: 'Source resolution meter should be a number' }) - .min(INGESTION_VALIDATIONS.resolutionMeter.min, { - message: `Source resolution meter should not be less than ${INGESTION_VALIDATIONS.resolutionMeter.min}`, - }) - .max(INGESTION_VALIDATIONS.resolutionMeter.max, { - message: `Source resolution meter should not be larger than ${INGESTION_VALIDATIONS.resolutionMeter.max}`, - }), - horizontalAccuracyCE90: z - .number({ message: 'Horizontal accuracy CE90 should be a number' }) - .min(INGESTION_VALIDATIONS.horizontalAccuracyCE90.min, { - message: `Horizontal accuracy CE90 should not be less than ${INGESTION_VALIDATIONS.horizontalAccuracyCE90.min}`, - }) - .max(INGESTION_VALIDATIONS.horizontalAccuracyCE90.max, { - message: `Horizontal accuracy CE90 should not be larger than ${INGESTION_VALIDATIONS.horizontalAccuracyCE90.max}`, - }), - sensors: z - .array( - z.string({ message: 'Sensors should be an array of strings' }).regex(new RegExp(INGESTION_VALIDATIONS.sensor.pattern), { - message: 'Sensors should be an array with items not starting or ending with whitespace characters', - }), - { message: 'Sensors should be an array' } - ) - .min(1, { message: 'Sensors should have an array length of at least 1' }), - countries: z - .array(z.string({ message: 'Countries should be an array of strings' }).min(1, { message: 'Countries should have length of at least 1' }), { - message: 'Countries should be an array', - }) - .optional(), - cities: z - .array(z.string({ message: 'Cities should be an array of strings' }).min(1, { message: 'Cities should have length of at least 1' }), { - message: 'Cities should be an array', - }) - .optional(), - }) - .refine((part) => part.imagingTimeBeginUTC <= part.imagingTimeEndUTC && part.imagingTimeEndUTC <= new Date(), { - message: 'Imaging time begin UTC should be less than or equal to imaging time end UTC and both less than or equal to current timestamp', - }) - .describe('partSchema'); - -export const partsSchema = z.array(partSchema).describe('partsSchema'); - export const polygonPartsEntityNameSchema = z .object({ polygonPartsEntityName: polygonPartsEntityPatternSchema, diff --git a/src/types/core/index.ts b/src/types/core/index.ts index 044b5f9..8e8f7b8 100644 --- a/src/types/core/index.ts +++ b/src/types/core/index.ts @@ -6,3 +6,4 @@ export * from './part.type'; export * from './link.type'; export * from './file.type'; export * from './callback.type'; +export * from './polygonParts.type'; diff --git a/src/types/core/polygonParts.type.ts b/src/types/core/polygonParts.type.ts new file mode 100644 index 0000000..4cdd8f1 --- /dev/null +++ b/src/types/core/polygonParts.type.ts @@ -0,0 +1,20 @@ +import { z } from 'zod'; +import type { + intersectionFeaturePropertiesSchema, + intersectionFeatureGeometrySchema, + intersectionFeatureSchema, + intersectionFeatureCollectionSchema, + intersectedFeaturePropertiesSchema, + intersectedFeatureGeometrySchema, + intersectedFeatureSchema, + intersectedFeatureCollectionSchema, +} from '../../schemas/core/polygonParts.schema'; + +export type IntersectionFeatureProperties = z.infer; +export type IntersectionFeatureGeometry = z.infer; +export type IntersectionFeature = z.infer; +export type IntersectionFeatureCollection = z.infer; +export type IntersectedFeatureProperties = z.infer; +export type IntersectedFeatureGeometry = z.infer; +export type IntersectedFeature = z.infer; +export type IntersectedFeatureCollection = z.infer; From 7ea17337502dcacbf4984aeae24d52b8f8e1768e Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Tue, 5 May 2026 10:33:07 +0300 Subject: [PATCH 17/24] ci: modify release-please (#195) --- .github/workflows/release-please.yaml | 1 - release-please-config.json | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index 0e88203..356639d 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -46,6 +46,5 @@ jobs: token: ${{ secrets.GH_PAT }} # this is a built-in strategy in release-please, see "Action Inputs" # for more options - release-type: node target-branch: ${{ github.ref_name }} config-file: ${{ steps.prerelease.outputs.prerelease_type_config }} diff --git a/release-please-config.json b/release-please-config.json index f8dddcc..1546977 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -2,6 +2,5 @@ "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", "release-type": "node", "include-component-in-tag": false, - "include-v-in-tag": true, - "packages": {} + "include-v-in-tag": true } From 714075552787fa548fe3200264e5bcfde307355a Mon Sep 17 00:00:00 2001 From: mapcolonies-devops <143094402+mapcolonies-devops@users.noreply.github.com> Date: Tue, 5 May 2026 10:35:03 +0300 Subject: [PATCH 18/24] chore(alpha): release 8.1.0-alpha.1 (#194) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 27320d4..6353efd 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "8.1.0-alpha.0" + ".": "8.1.0-alpha.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index a7e894f..d0222d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [8.1.0-alpha.1](https://github.com/MapColonies/raster-shared/compare/v8.1.0-alpha.0...v8.1.0-alpha.1) (2026-05-05) + + +### Features + +* add polygon parts schema and types for intersection api ([#193](https://github.com/MapColonies/raster-shared/issues/193)) ([440f0c5](https://github.com/MapColonies/raster-shared/commit/440f0c52714a559747be55da3eadf76459dfdc3d)) + ## [8.1.0-alpha.0](https://github.com/MapColonies/raster-shared/compare/v8.0.0-alpha.0...v8.1.0-alpha.0) (2026-05-04) diff --git a/package-lock.json b/package-lock.json index b40a214..dba6e46 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@map-colonies/raster-shared", - "version": "8.1.0-alpha.0", + "version": "8.1.0-alpha.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@map-colonies/raster-shared", - "version": "8.1.0-alpha.0", + "version": "8.1.0-alpha.1", "license": "ISC", "dependencies": { "@map-colonies/mc-priority-queue": "^9.1.0", diff --git a/package.json b/package.json index 8bff6a9..7ab5ffb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/raster-shared", - "version": "8.1.0-alpha.0", + "version": "8.1.0-alpha.1", "description": "This is template for map colonies typescript packages", "main": "./dist/index.js", "exports": { From 772d90b646095d2a0287dfe45c26910c6a2f9948 Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Tue, 5 May 2026 10:47:13 +0300 Subject: [PATCH 19/24] ci: correct version reference for prerelease publishing in workflow (#196) --- .github/workflows/publish.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 58685fb..1b82b3e 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -28,7 +28,7 @@ jobs: echo "publish triggered on: ${{ github.ref_type }}" if ([[ "${{ github.ref_type }}" == "tag" ]] && [[ "${{ github.event.release.prerelease }}" == "true" ]] && - [[ "${{ github.ref_name }}" == "${{ steps.package-info.outputs.version }}" ]]) || + [[ "${{ github.ref_name }}" == "v${{ steps.package-info.outputs.version }}" ]]) || ([[ "${{ github.ref_type }}" == "branch" ]] && [[ "${{ github.ref_name }}" == "alpha" ]]); then echo "publishing prerelease with alpha tag from ${{ github.ref_type }}" From 921db4dbd25f0c3dc04e08c460b6544bad562ef1 Mon Sep 17 00:00:00 2001 From: almog8k <60139576+almog8k@users.noreply.github.com> Date: Tue, 5 May 2026 11:09:27 +0300 Subject: [PATCH 20/24] feat: add tile schema and type exports to core index files (#197) Co-authored-by: Copilot --- src/schemas/core/index.ts | 1 + src/types/core/index.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/schemas/core/index.ts b/src/schemas/core/index.ts index 16b0b2a..6438621 100644 --- a/src/schemas/core/index.ts +++ b/src/schemas/core/index.ts @@ -7,3 +7,4 @@ export * from './callback.schema'; export * from './link.schema'; export * from './file.schema'; export * from './polygonParts.schema'; +export * from './tile.schema'; diff --git a/src/types/core/index.ts b/src/types/core/index.ts index 8e8f7b8..b27df06 100644 --- a/src/types/core/index.ts +++ b/src/types/core/index.ts @@ -7,3 +7,4 @@ export * from './link.type'; export * from './file.type'; export * from './callback.type'; export * from './polygonParts.type'; +export * from './tile.type'; From 25785dfb78bc0000c6fff6d22e030edf6dca81d0 Mon Sep 17 00:00:00 2001 From: mapcolonies-devops <143094402+mapcolonies-devops@users.noreply.github.com> Date: Tue, 5 May 2026 11:11:08 +0300 Subject: [PATCH 21/24] chore(alpha): release 8.1.0-alpha.2 (#198) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 6353efd..69abfd2 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "8.1.0-alpha.1" + ".": "8.1.0-alpha.2" } diff --git a/CHANGELOG.md b/CHANGELOG.md index d0222d3..40db4e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [8.1.0-alpha.2](https://github.com/MapColonies/raster-shared/compare/v8.1.0-alpha.1...v8.1.0-alpha.2) (2026-05-05) + + +### Features + +* add tile schema and type exports to core index files ([#197](https://github.com/MapColonies/raster-shared/issues/197)) ([921db4d](https://github.com/MapColonies/raster-shared/commit/921db4dbd25f0c3dc04e08c460b6544bad562ef1)) + ## [8.1.0-alpha.1](https://github.com/MapColonies/raster-shared/compare/v8.1.0-alpha.0...v8.1.0-alpha.1) (2026-05-05) diff --git a/package-lock.json b/package-lock.json index dba6e46..6e173e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@map-colonies/raster-shared", - "version": "8.1.0-alpha.1", + "version": "8.1.0-alpha.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@map-colonies/raster-shared", - "version": "8.1.0-alpha.1", + "version": "8.1.0-alpha.2", "license": "ISC", "dependencies": { "@map-colonies/mc-priority-queue": "^9.1.0", diff --git a/package.json b/package.json index 7ab5ffb..cdaaf36 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/raster-shared", - "version": "8.1.0-alpha.1", + "version": "8.1.0-alpha.2", "description": "This is template for map colonies typescript packages", "main": "./dist/index.js", "exports": { From 383ac1988824947cd6ae3c8cb4402a881b0124c9 Mon Sep 17 00:00:00 2001 From: almog8k <60139576+almog8k@users.noreply.github.com> Date: Tue, 5 May 2026 12:54:28 +0300 Subject: [PATCH 22/24] fix: simplify file extension handling in tilesDeletionParamsBaseSchema (#199) --- src/schemas/core/tile.schema.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/schemas/core/tile.schema.ts b/src/schemas/core/tile.schema.ts index e04087e..3e46911 100644 --- a/src/schemas/core/tile.schema.ts +++ b/src/schemas/core/tile.schema.ts @@ -12,10 +12,7 @@ export const tileRangeSchema = z.object({ export const tilesDeletionParamsBaseSchema = z.object({ tilesPath: z.string().min(1), // Base path for the tiles to be deleted ranges: z.array(tileRangeSchema).min(1), // Array of tile ranges to be deleted - fileExtension: z - .literal(TileOutputFormat.PNG) - .transform((val) => val.toLowerCase()) - .or(z.literal(TileOutputFormat.JPEG).transform((val) => val.toLowerCase())), // File extension of the tiles (e.g., 'png', 'jpeg') + fileExtension: z.literal(TileOutputFormat.PNG.toLowerCase()).or(z.literal(TileOutputFormat.JPEG.toLowerCase())), // File extension of the tiles (e.g., 'png', 'jpeg') }); export const s3TilesDeletionParamsSchema = tilesDeletionParamsBaseSchema.extend({ From b8901f986cd94fc3e47abb4d54cff92d327870c3 Mon Sep 17 00:00:00 2001 From: mapcolonies-devops <143094402+mapcolonies-devops@users.noreply.github.com> Date: Tue, 5 May 2026 12:56:17 +0300 Subject: [PATCH 23/24] chore(alpha): release 8.1.0-alpha.3 (#200) --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 69abfd2..5a4e564 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "8.1.0-alpha.2" + ".": "8.1.0-alpha.3" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 40db4e0..e244ce9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [8.1.0-alpha.3](https://github.com/MapColonies/raster-shared/compare/v8.1.0-alpha.2...v8.1.0-alpha.3) (2026-05-05) + + +### Bug Fixes + +* simplify file extension handling in tilesDeletionParamsBaseSchema ([#199](https://github.com/MapColonies/raster-shared/issues/199)) ([383ac19](https://github.com/MapColonies/raster-shared/commit/383ac1988824947cd6ae3c8cb4402a881b0124c9)) + ## [8.1.0-alpha.2](https://github.com/MapColonies/raster-shared/compare/v8.1.0-alpha.1...v8.1.0-alpha.2) (2026-05-05) diff --git a/package-lock.json b/package-lock.json index 6e173e6..0b1f069 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@map-colonies/raster-shared", - "version": "8.1.0-alpha.2", + "version": "8.1.0-alpha.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@map-colonies/raster-shared", - "version": "8.1.0-alpha.2", + "version": "8.1.0-alpha.3", "license": "ISC", "dependencies": { "@map-colonies/mc-priority-queue": "^9.1.0", diff --git a/package.json b/package.json index cdaaf36..4fa5f87 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/raster-shared", - "version": "8.1.0-alpha.2", + "version": "8.1.0-alpha.3", "description": "This is template for map colonies typescript packages", "main": "./dist/index.js", "exports": { From be9953e07bd87d637a9fa03f5ec52d111d7d1999 Mon Sep 17 00:00:00 2001 From: vitaligi <54726763+vitaligi@users.noreply.github.com> Date: Mon, 18 May 2026 15:01:05 +0300 Subject: [PATCH 24/24] fix: update productId pattern (#201) --- src/constants/ingestion/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants/ingestion/constants.ts b/src/constants/ingestion/constants.ts index e300677..16d550a 100644 --- a/src/constants/ingestion/constants.ts +++ b/src/constants/ingestion/constants.ts @@ -49,7 +49,7 @@ export const INGESTION_VALIDATIONS = { max: 4000, }, productId: { - pattern: '^[A-Za-z]{1}[A-Za-z0-9_]{0,37}$', + pattern: '^[A-Za-z]{1}[A-Za-z0-9_]{0,36}$', description: 'Product ID must start with a letter and contain only letters, numbers and underscores', }, productVersion: {