tldraw/apps
David Sheldrick 5d7f368fd6
[DX] sensible defaults for createTLStore (#3886)
`createTLStore` had defaults of empty arrays for shapeUtils and
bindingUtils. this is problematic since people who already are calling
`createTLStore` manually with like `createTLStore({shapeUtils:
defaultShapeUtils})` will miss out on bindings utils when they upgrade
to the latest version, and this will probably only fail at runtime for
them.

To prevent issues we could have made `shapeUtils` and `bindingUtils`
required args but it feels better to me, long term, if we bring
`createTLStore` in line with `createTLSchema` and configure it to use
tldraw's default shapes/bindings if no custom overrides are specified.

i.e. we can do this

```diff
- const store = createTLStore({ shapeUtils: defaultShapeUtils, bindingUtils: defaultBindingUtils })
+ const store = createTLStore()
```

There's still technically potential for breaking changes by people
accidentally including the arrow binding util when they might not have
arrows in the app, but I don't think that's likely to actually cause any
bugs unless they add their own arrow binding type later on.

### Change Type

<!--  Please select a 'Scope' label ️ -->

- [x] `sdk` — Changes the tldraw SDK
- [ ] `dotcom` — Changes the tldraw.com web app
- [ ] `docs` — Changes to the documentation, examples, or templates.
- [ ] `vs code` — Changes to the vscode plugin
- [ ] `internal` — Does not affect user-facing stuff

<!--  Please select a 'Type' label ️ -->

- [ ] `bugfix` — Bug fix
- [ ] `feature` — New feature
- [x] `improvement` — Improving existing features
- [ ] `chore` — Updating dependencies, other boring stuff
- [ ] `galaxy brain` — Architectural changes
- [ ] `tests` — Changes to any test code
- [ ] `tools` — Changes to infrastructure, CI, internal scripts,
debugging tools, etc.
- [ ] `dunno` — I don't know


### Test Plan

1. Add a step-by-step description of how to test your PR here.
2.

- [ ] Unit Tests
- [ ] End to end tests

### Release Notes

- Add a brief release note for your PR here.
2024-06-05 14:29:54 +00:00
..
apps-script google meet: add hardware whiteboard integration (#3765) 2024-05-20 14:52:05 +00:00
docs [DX] sensible defaults for createTLStore (#3886) 2024-06-05 14:29:54 +00:00
dotcom security: don't send referrer paths for images and bookmarks (#3881) 2024-06-05 10:52:10 +00:00
dotcom-asset-upload cloudflare: dont cache no-cache headers (#3849) 2024-06-03 08:32:40 +00:00
dotcom-bookmark-extractor bump typescript / api-extractor (#2949) 2024-02-25 11:43:17 +00:00
dotcom-worker Force interface instead of type for better docs (#3815) 2024-05-22 15:55:49 +00:00
examples [DX] sensible defaults for createTLStore (#3886) 2024-06-05 14:29:54 +00:00
health-worker Force interface instead of type for better docs (#3815) 2024-05-22 15:55:49 +00:00
huppy Force interface instead of type for better docs (#3815) 2024-05-22 15:55:49 +00:00
vscode [DX] sensible defaults for createTLStore (#3886) 2024-06-05 14:29:54 +00:00