Skip to content
Open
Show file tree
Hide file tree
Changes from 5 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
11 changes: 11 additions & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
enableScripts: true

nodeLinker: node-modules

logFilters:
- code: YN0002
level: discard
- code: YN0060
level: discard
- code: YN0086
level: discard
7 changes: 4 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,16 @@ Run the website:
```bash
yarn build
cd website
yarn
yarn install
yarn start
```

Run the layer browser application:

```bash
cd deck.gl
yarn install
cd examples/layer-browser
yarn
yarn start-local
```

Expand All @@ -71,7 +72,7 @@ If you consider opening a PR, here is some documentation to get you started:

Each example can be run so that it is built against the deck.gl source code in this repo instead of building against the installed version of deck.gl. This enables using the examples to debug the main deck.gl library source.

To do so use the `yarn start-local` command present in each example's directory. See [vite.config.local.mjs](https://github.com/visgl/deck.gl/blob/master/examples/vite.config.local.mjs) for details.
To do so, run `yarn install` once from the repository root, then use the `yarn start-local` command present in each example's directory. See [vite.config.local.mjs](https://github.com/visgl/deck.gl/blob/master/examples/vite.config.local.mjs) for details.

### Working with other vis.gl dependencies

Expand Down
4 changes: 3 additions & 1 deletion docs/get-started/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ If the example uses a mapbox base map you need a [Mapbox access token](./using-w
export MapboxAccessToken={Your Token Here} && npm start
```

When working from a deck.gl repository checkout, run `yarn install` once at the repository root. Package-managed examples are part of the root Yarn workspace and can then be run from their own directories with `yarn start`.

If you want to build the example against the latest deck.gl source code in the cloned repo (rather than the published version of deck.gl listed in the examples `package.json`)

```bash
Expand All @@ -69,7 +71,7 @@ npm run start-local

> The examples on the `master` branch are updated to use features from the latest, unreleased version of deck.gl. If some example doesn't work using `npm start` it can be worth trying `npm run start-local`.

> While all examples support `npm run start-local`, there are some caveats when running against local source. Most importantly, you must make sure to run `npm install` or `yarn` in the deck.gl root folder before running `npm run start-local` in an example folder.
> While all examples support `npm run start-local`, there are some caveats when running against local source. Most importantly, you must make sure to run `yarn install` in the deck.gl root folder before running `npm run start-local` in an example folder.


## Selectively Install Dependencies
Expand Down
4 changes: 3 additions & 1 deletion examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ These are examples that use experimental deck.gl features, or implement features

## Installing and Running

Most example apps can be run by installing the dependencies with either `yarn` or with `npm install`, then `npm run start`. Refer to the README in each example directory for app-specific instructions.
Most example apps can be run by installing the dependencies with either `yarn` or with `npm install`, then `npm run start`. When working from a deck.gl repository checkout, run `yarn install` once from the repository root before starting examples.

Refer to the README in each example directory for app-specific instructions.


### Running Examples Against deck.gl Source Code
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/get-started/pure-js/maplibre-globe/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "deckgl-example-pure-js-maplibre",
"name": "deckgl-example-pure-js-maplibre-globe",
"version": "0.0.0",
"private": true,
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion examples/get-started/pure-js/widgets/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "deckgl-example-pure-js-basic",
"name": "deckgl-example-pure-js-widgets",
"version": "0.0.0",
"private": true,
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion examples/website/google-3d-tiles/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "deckgl-examples-google-maps-3d",
"name": "deckgl-examples-google-maps-3d-tiles",
"version": "0.0.0",
"private": true,
"license": "MIT",
Expand Down
4 changes: 2 additions & 2 deletions modules/aggregation-layers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@
"d3-hexbin": "^0.2.1"
},
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/layers": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
"@deck.gl/layers": "~9.3.0-beta.2",
"@luma.gl/core": "~9.3.3",
"@luma.gl/engine": "~9.3.3"
},
Expand Down
2 changes: 1 addition & 1 deletion modules/arcgis/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
},
"peerDependencies": {
"@arcgis/core": "^4.0.0",
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
"@luma.gl/core": "~9.3.3",
"@luma.gl/engine": "~9.3.3",
"@luma.gl/webgl": "~9.3.3"
Expand Down
10 changes: 5 additions & 5 deletions modules/carto/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,11 @@
"quadbin": "^0.4.0"
},
"peerDependencies": {
"@deck.gl/aggregation-layers": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/extensions": "~9.3.0-alpha.1",
"@deck.gl/geo-layers": "~9.3.0-alpha.1",
"@deck.gl/layers": "~9.3.0-alpha.1",
"@deck.gl/aggregation-layers": "~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/layers": "~9.3.0-beta.2",
"@loaders.gl/core": "^4.4.1",
"@luma.gl/core": "~9.3.3"
},
Expand Down
2 changes: 1 addition & 1 deletion modules/extensions/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
"@math.gl/core": "^4.1.0"
},
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
Comment thread
chrisgervang marked this conversation as resolved.
"@luma.gl/core": "~9.3.3",
"@luma.gl/engine": "~9.3.3"
},
Expand Down
8 changes: 4 additions & 4 deletions modules/geo-layers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@
"long": "^3.2.0"
},
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/extensions": "~9.3.0-alpha.1",
"@deck.gl/layers": "~9.3.0-alpha.1",
"@deck.gl/mesh-layers": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
"@deck.gl/extensions": "~9.3.0-beta.2",
"@deck.gl/layers": "~9.3.0-beta.2",
"@deck.gl/mesh-layers": "~9.3.0-beta.2",
"@loaders.gl/core": "^4.4.1",
"@luma.gl/core": "~9.3.3",
"@luma.gl/engine": "~9.3.3"
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
2 changes: 1 addition & 1 deletion modules/google-maps/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
"@types/google.maps": "^3.48.6"
},
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
"@luma.gl/core": "~9.3.3",
"@luma.gl/webgl": "~9.3.3"
},
Expand Down
2 changes: 1 addition & 1 deletion modules/json/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"jsep": "^0.3.0"
},
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1"
"@deck.gl/core": "~9.3.0-beta.2"
},
"gitHead": "13ace64fc2cee08c133afc882fc307253489a4e4"
}
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
2 changes: 1 addition & 1 deletion modules/layers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
"earcut": "^2.2.4"
},
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
"@loaders.gl/core": "^4.4.1",
"@luma.gl/core": "~9.3.3",
"@luma.gl/engine": "~9.3.3"
Expand Down
2 changes: 1 addition & 1 deletion modules/mapbox/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"@math.gl/web-mercator": "^4.1.0"
},
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
"@luma.gl/core": "~9.3.3",
"@math.gl/web-mercator": "^4.1.0"
},
Expand Down
2 changes: 1 addition & 1 deletion modules/mesh-layers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"@luma.gl/shadertools": "^9.3.3"
},
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
"@luma.gl/core": "~9.3.3",
"@luma.gl/engine": "~9.3.3",
"@luma.gl/gltf": "~9.3.3",
Expand Down
4 changes: 2 additions & 2 deletions modules/react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
],
"sideEffects": false,
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/widgets": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
"@deck.gl/widgets": "~9.3.0-beta.2",
"react": ">=16.3.0",
"react-dom": ">=16.3.0"
},
Expand Down
2 changes: 1 addition & 1 deletion modules/test-utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"@luma.gl/webgl": "^9.3.3"
},
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
"@luma.gl/core": "~9.3.3",
"@luma.gl/engine": "~9.3.3",
"@probe.gl/test-utils": "^4.1.1",
Expand Down
2 changes: 1 addition & 1 deletion modules/widgets/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
"preact": "^10.17.0"
},
"peerDependencies": {
"@deck.gl/core": "~9.3.0-alpha.1",
"@deck.gl/core": "~9.3.0-beta.2",
"@luma.gl/core": "~9.3.3"
},
"gitHead": "13ace64fc2cee08c133afc882fc307253489a4e4"
Expand Down
Loading
Loading