Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,14 @@ jobs:
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: '.nvmrc'
cache: 'yarn'

- name: Enable Corepack
run: corepack enable yarn
run: corepack enable

- name: Install dependencies
run: yarn
run: |
yarn install --immutable
yarn bootstrap

- name: Build packages
run: yarn build
Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,14 @@ jobs:
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: '.nvmrc'
cache: 'yarn'
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm looking into if this increases build times

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI cache removed without replacement, causing slower builds

Medium Severity

The cache: 'yarn' option was removed from actions/setup-node across all CI workflows (test-node, test-website, test-python, release, website deploy) without adding any replacement caching mechanism such as actions/cache. PR discussion confirms this causes ~2.5x slower dependency install times on every CI run. While Yarn 4 may need different cache path configuration, the caching capability can be restored using actions/cache with the correct Yarn 4 global cache directory.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 258145b. Configure here.


- name: Enable Corepack
run: corepack enable yarn
run: corepack enable

- name: Install dependencies
run: yarn bootstrap
run: |
yarn install --immutable
yarn bootstrap

- name: Build packages
run: yarn build
Expand Down Expand Up @@ -73,13 +74,14 @@ jobs:
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: '.nvmrc'
cache: 'yarn'

- name: Enable Corepack
run: corepack enable yarn
run: corepack enable

- name: Install dependencies
run: yarn bootstrap
run: |
yarn install --immutable
yarn bootstrap

- name: Build packages
run: yarn build
Expand All @@ -97,16 +99,17 @@ jobs:
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: '.nvmrc'
cache: 'yarn'

- name: Enable Corepack
run: corepack enable yarn
run: corepack enable

- name: Install uv
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5

- name: Install dependencies
run: |
yarn install --immutable
yarn bootstrap
cd bindings/pydeck
make setup-env
make init
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ jobs:
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: '.nvmrc'
cache: 'yarn'

- name: Enable Corepack
run: corepack enable yarn
run: corepack enable

- name: Install dependencies
run: |
yarn install --immutable
yarn bootstrap
(cd website && yarn)
(cd website && yarn install --immutable)

- name: Build website
env:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ showcases/**/yarn.lock
test/**/yarn.lock
yarn-error.log
package-lock.json
.yarn/
*/**/.yarn/

.claude/
.vscode/
Expand Down
53 changes: 53 additions & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
enableScripts: true

nodeLinker: node-modules

logFilters:
- code: YN0060
pattern: '*@types/react is listed by your project with version 18.3.28*'
level: discard
- code: YN0060
pattern: '*react is listed by your project with version 18.3.1*'
level: discard
- code: YN0060
pattern: '*react-dom is listed by your project with version 18.3.1*'
level: discard
- code: YN0002
pattern: '*doesn''t provide @deck.gl/core*'
level: discard
- code: YN0002
pattern: '*doesn''t provide @deck.gl/extensions*'
level: discard
- code: YN0002
pattern: '*doesn''t provide @deck.gl/mesh-layers*'
level: discard
- code: YN0002
pattern: '*doesn''t provide @loaders.gl/core*'
level: discard
- code: YN0002
pattern: '*doesn''t provide @luma.gl/core*'
level: discard
- code: YN0002
pattern: '*doesn''t provide @luma.gl/engine*'
level: discard
- code: YN0002
pattern: '*doesn''t provide @luma.gl/shadertools*'
level: discard
- code: YN0002
pattern: '*doesn''t provide @luma.gl/webgl*'
level: discard
- code: YN0002
pattern: '*doesn''t provide @luma.gl/webgpu*'
level: discard
- code: YN0002
pattern: '*doesn''t provide esri-loader*'
level: discard
- code: YN0002
pattern: '*doesn''t provide react*'
level: discard
- code: YN0002
pattern: '*doesn''t provide react-dom*'
level: discard
- code: YN0086
pattern: '*Some peer dependencies are incorrectly met*'
level: discard
2 changes: 1 addition & 1 deletion examples/basemap-browser/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
},
"dependencies": {
"@deck.gl/core": "^9.2.0",
"@deck.gl/google-maps": "^9.2.0",
"@deck.gl/extensions": "^9.2.0",
"@deck.gl/geo-layers": "^9.2.0",
"@deck.gl/google-maps": "^9.2.0",
"@deck.gl/layers": "^9.2.0",
"@deck.gl/mapbox": "^9.2.0",
"@vis.gl/react-google-maps": "^1.7.1",
Expand Down
3 changes: 2 additions & 1 deletion examples/gallery/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
{
"name": "deckgl-examples-gallery",
"description": "deck.gl scripting examples",
"version": "0.0.0",
"private": true,
"license": "MIT",
"scripts": {
"build": "rm -rf dist && mkdir dist && cp -r images dist && node build-tools/build",
"start": "node build-tools/serve",
"start-local": "node build-tools/serve --version=local"
},
"dependencies": {},
"devDependencies": {
"express": "^4.16.3",
"mustache": "^2.3.0"
Expand Down
1 change: 1 addition & 0 deletions examples/get-started/pure-js/mapbox/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import {MapboxOverlay as DeckOverlay} from '@deck.gl/mapbox';
import {GeoJsonLayer, ArcLayer} from '@deck.gl/layers';
// eslint-disable-next-line import/default
import mapboxgl from 'mapbox-gl';
import 'mapbox-gl/dist/mapbox-gl.css';

Expand Down
2 changes: 1 addition & 1 deletion examples/playground/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
"@loaders.gl/csv": "^4.4.1",
"@loaders.gl/draco": "^4.4.1",
"@loaders.gl/gltf": "^4.4.1",
"@monaco-editor/react": "^4.4.6",
"deck.gl": "^9.0.0",
"maplibre-gl": "^5.0.0",
"monaco-editor": "^0.39.0",
"@monaco-editor/react": "^4.4.6",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-map-gl": "^8.0.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/website/3d-tiles/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
"build": "vite build"
},
"dependencies": {
"@loaders.gl/3d-tiles": "^4.4.1",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@loaders.gl/3d-tiles": "^4.4.1",
"deck.gl": "^9.0.0",
"maplibre-gl": "^5.0.0",
"react": "^18.0.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/website/collision-filter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"deck.gl": "^9.0.0",
"maplibre-gl": "^5.0.0",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"maplibre-gl": "^5.0.0",
"react-map-gl": "^8.0.0"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion examples/website/data-filter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
"build": "vite build"
},
"dependencies": {
"@loaders.gl/csv": "^4.4.1",
"@material-ui/core": "^4.10.2",
"@material-ui/icons": "^4.9.1",
"@loaders.gl/csv": "^4.4.1",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"deck.gl": "^9.0.0",
Expand Down
4 changes: 2 additions & 2 deletions examples/website/i3s/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
},
"dependencies": {
"@loaders.gl/i3s": "^4.4.1",
"deck.gl": "^9.0.0",
"maplibre-gl": "^5.0.0",
"react-map-gl": "^8.0.0",
"deck.gl": "^9.0.0"
"react-map-gl": "^8.0.0"
},
"devDependencies": {
"typescript": "^4.6.0",
Expand Down
4 changes: 2 additions & 2 deletions modules/geo-layers/src/s2-layer/s2-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ import Long from 'long';
* Given an S2 token this function convert the token to 64 bit id
https://github.com/google/s2-geometry-library-java/blob/c04b68bf3197a9c34082327eeb3aec7ab7c85da1/src/com/google/common/geometry/S2CellId.java#L439
* */
function getIdFromToken(token: string): number {
function getIdFromToken(token: string): string {
// pad token with zeros to make the length 16
const paddedToken = token.padEnd(16, '0');
return Long.fromString(paddedToken, 16);
return Long.fromString(paddedToken, 16).toString();
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's split this out

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand that having seemingly unrelated changes in a PR is annoying but this is related to typescript version being bumped as part of satisfying all the package.json.
To split this out I would need to make a separate PR to bump typescript and fix issue or downgrade typescript in other places.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just want to make sure we're thinking through the implications and covering bug fixes with tests. I'm only focusing on testing the build system in this PR

}

const MAX_RESOLUTION = 100;
Expand Down
5 changes: 3 additions & 2 deletions modules/jupyter-widget/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@
],
"sideEffects": false,
"scripts": {
"watch": "npm run build -- --watch",
"build": "ocular-bundle ./src/index.js --output=./dist/index.js --globalName= --sourcemap --format=umd --externals=@jupyter-widgets/base",
"watch": "npm run build-bundle -- --watch",
"build": "npm run build-bundle",
"build-bundle": "ocular-bundle ./src/index.js --output=./dist/index.js --globalName= --sourcemap --format=umd --externals=@jupyter-widgets/base",
Comment on lines 25 to +28
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this change?

"build:labextension": "npm pack",
"prepublishOnly": "npm run build"
},
Expand Down
30 changes: 23 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,14 @@
"url": "https://github.com/visgl/deck.gl.git"
},
"workspaces": [
"modules/*"
"modules/*",
"examples/**"
],
"scripts": {
"postinstall": "npx playwright install chromium",
"bootstrap": "yarn && ocular-bootstrap",
"bootstrap": "ocular-bootstrap",
"clean": "ocular-clean",
"build": "npm run clean && ocular-build && lerna run build",
"build": "ocular-clean && ocular-build && npx lerna run build",
"lint": "ocular-lint",
"publish-beta": "ocular-publish version-only-beta",
"publish-prod": "ocular-publish version-only-prod",
Expand All @@ -33,7 +34,7 @@
"test-ci": "vitest run --project node --project headless --project render --coverage",
"test-browser": "vitest run --project browser",
"test-tape-compat": "DECK_TEST_UTILS_USE_PROBE_GL=1 ocular-test tape-compat",
"test-website": "cd website && yarn && yarn test-build && cd ..",
"test-website": "cd website && yarn install --immutable && yarn test-build && cd ..",
"metrics": "ocular-metrics",
"link-luma": "yarn && (cd node_modules && mv luma.gl luma.orig && ln -s ../../luma.gl/modules/core)",
"unlink-luma": "(cd node_modules && mv luma.gl luma.ln && mv luma.orig luma.gl)",
Expand Down Expand Up @@ -69,10 +70,25 @@
"puppeteer": "^24.26.1",
"s2-geometry": "^1.2.10",
"sharp": "^0.34.5",
"vitest": "^4.0.18",
"vite-bundle-analyzer": "^1.3.6"
"typescript": "5.5.4",
"vite-bundle-analyzer": "^1.3.6",
"vitest": "^4.0.18"
},
"resolutions": {
"@deck.gl/aggregation-layers": "9.3.0-beta.2",
"@deck.gl/arcgis": "9.3.0-beta.2",
"@deck.gl/carto": "9.3.0-beta.2",
"@deck.gl/core": "9.3.0-beta.2",
"@deck.gl/extensions": "9.3.0-beta.2",
"@deck.gl/geo-layers": "9.3.0-beta.2",
"@deck.gl/google-maps": "9.3.0-beta.2",
"@deck.gl/json": "9.3.0-beta.2",
"@deck.gl/layers": "9.3.0-beta.2",
"@deck.gl/mapbox": "9.3.0-beta.2",
"@deck.gl/mesh-layers": "9.3.0-beta.2",
"@deck.gl/react": "9.3.0-beta.2",
"@deck.gl/widgets": "9.3.0-beta.2",
"deck.gl": "9.3.0-beta.2",
"vite": "^7.3.1"
},
"pre-commit": [
Expand All @@ -82,5 +98,5 @@
"engines": {
"node": ">=22"
},
"packageManager": "yarn@1.22.19"
"packageManager": "yarn@4.15.0"
}
3 changes: 3 additions & 0 deletions website/.yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
enableScripts: true

nodeLinker: node-modules
5 changes: 3 additions & 2 deletions website/ocular-docusaurus-plugin/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,9 @@ module.exports = function (
// Load existing source maps
_config.module.rules.push({
test: /\/dist\/.+\.js$/,
enforce: "pre",
use: ["source-map-loader"],
exclude: /node_modules/,
enforce: 'pre',
use: ['source-map-loader']
});

const devtool = debug ? 'source-map' : false;
Expand Down
2 changes: 1 addition & 1 deletion website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
">0.2% and supports async-functions",
"not dead"
],
"packageManager": "yarn@1.22.19",
"packageManager": "yarn@4.15.0",
"engines": {
"node": ">=22"
}
Expand Down
1 change: 0 additions & 1 deletion website/scripts/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ BABEL_ENV=es5 npx babel ./static/workers --out-dir ./$OUTPUT_DIR/workers
# build gallery (scripting) examples
(
cd ../examples/gallery
yarn
yarn build
)
mkdir $OUTPUT_DIR/gallery
Expand Down
1 change: 0 additions & 1 deletion website/scripts/test-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,5 @@ docusaurus build
# build gallery (scripting) examples
(
cd ../examples/gallery
yarn
yarn build
)
Loading
Loading