v7.0.0-beta.0
Pre-release
Pre-release
π₯ Breaking Changes
See v6.x to v7.x migration guide
- Migration to pure ES Module structure using Vite, Esbuild, Vitest testing framework, and Node 20 in #272.
- Upgrade from Storybook 6.x to 8.x. Storybook config is now in project space and installed using
npm run storybook:install
. Example story generation is now managed by report developer using*-example-stories.ts
files. Generated stories are put into.story-cache
directories which can be safely ignored. - Storybook is now started using
npm run storybook
instead ofnpm run start-storybook
, to match default behavior or storybook. - Upgrade to styled-components 6.1.11. Custom reports that use will need to migrate to use
styled
named export, attrs() function, and transient prop name (e.g. duration -> $duration).
π New Feature / Improvement
- Adds overlapRasterGroupMetrics function by @avmey in #270
- Add create:report command for generating starter combinations of overlay report and client by @avmey in #271
- Add support for printing reports. by @avmey in #275
- Upgrade to Turf 7.0 prerelease
- Upgrade to flatgeobuf 3.31.1. Supports read of fgb files generates by GDAL 3.4 and later.
- Upgrade to Typescript 5.4.5
- Upgrade to aws-cdk 2.142.0. Migrate to Node20 lambda runtime and running ESM code directly.
- Upgrade to aws-sdk 2.1621.0
- Upgrade node-fetch. Expectation that it will be able to be dropped altogether in Node v22.
- Upgrade babel plugins to use official version from proposal
- Export datasource path utils for use in project space -
getJsonPath
,getFlatGeobufPath
,getGeopackagePath
- Refactor translation scripts -
importTerms
,publishTerms
to use Node fetch API instead ofrequest
library
π Bug Fix
- Add Cloudfront access to client bucket to be able to access client files in directories.
- Update
translation:install
to be more comprehensive in installing/overwriting i18n files in project space. - Remove all use of
@seasketch/geoprocessing
in client code, notably projectsClient.ts. This was causing node modules to be included in client builds by Vite, which is more strict/less magic than webpack. It is critical that report clients never import from@seasketch/geoprocessing
directly but rather use@seasketch/geoprocessing/client-core
and@seasketch/geoprocessing/client-ui
π Internal
- Migrate test suites to use Vitest instead of Jest. Use test filename structure to determine whether
unit
tests,e2e
,browser
ornode
. Jest group directives in test file comments are no longer used. - A new top-level report component, ReportApp.tsx, is now generated in the .build-web directory when running
npm run build
andnpm run build:client
. It is responsible for dynamic importing of report clients and language locale files. - Switch to
tsx
fromts-node
for directly executing Typescript scripts. Better support for ESM structure/runting out of the box. - Migrate use of __dirname to import.meta.dirname as required by ESM and supported by latest Node 20 version.
- Add type assertions to JSON file imports.
- Refactor
buildClient
to use esbuild instead of Webpack. - Refactor
build
to use Vite instead of Webpack.
π Documentation
- Changelog file is no longer maintained, opting to use Github release notes to convey changes.
- Printing support. See Extending page.
Full Changelog: v6.1.2...v7.0.0-beta.0