TLSchema readme (#1506)
This PR updates the TLSchema readme to remove reference to scripts which are no longer present. ### Change Type - [x] `documentation` — Changes to the documentation only (will not publish a new version)
This commit is contained in:
parent
0c9e8d323e
commit
4dfae61a32
1 changed files with 3 additions and 45 deletions
|
@ -1,6 +1,6 @@
|
|||
# @tldraw/tlschema
|
||||
|
||||
This package houses type definitions, schema migrations, and other type metadata for any persisted data in tldraw.
|
||||
This package houses type definitions, schema migrations, and other type metadata for the tldraw editor's default persisted data.
|
||||
|
||||
There are three main kinds of types:
|
||||
|
||||
|
@ -16,49 +16,9 @@ There are three main kinds of types:
|
|||
|
||||
These are subtypes of the root TLAsset record type. They allow specifying a unique name and custom props for a particular kind of asset.
|
||||
|
||||
## Creating a new record type
|
||||
|
||||
To create a new record type called, e.g. `TLBanana`, run
|
||||
|
||||
```sh
|
||||
# Create the new file in ./records/TLBanana.ts
|
||||
yarn new-record TLBanana
|
||||
# Rebuild the index files to make sure it is exported
|
||||
yarn index
|
||||
```
|
||||
|
||||
You may then customize your new blank `TLBanana` type!
|
||||
|
||||
## Creating a new shape type
|
||||
|
||||
To create a new shape type called, e.g. `TLMapboxShape`, run
|
||||
|
||||
```sh
|
||||
# Create the new file in ./shapes/TLMapboxShape.ts
|
||||
yarn new-shape TLMapboxShape
|
||||
# Rebuild the index files to make sure it is exported
|
||||
yarn index
|
||||
```
|
||||
|
||||
You may then customize your new blank `TLMapboxShape` type!
|
||||
|
||||
## Creating a new asset type
|
||||
|
||||
To create a new shape type called, e.g. `TLZipFileAsset`, run
|
||||
|
||||
```sh
|
||||
# Create the new file in ./assets/TLZipFileAsset.ts
|
||||
yarn new-asset TLZipFileAsset
|
||||
# Rebuild the index files to make sure it is exported
|
||||
yarn index
|
||||
```
|
||||
|
||||
You may then customize your new blank `TLZipFileAsset` type!
|
||||
|
||||
# Adding migrations
|
||||
|
||||
If you make any kind of change to any persisted data shape in this package, you must add migrations that are able
|
||||
to convert old versions to new versions, and vice-versa.
|
||||
If you make any kind of change to any persisted data shape in this package, you must add migrations that are able to convert old versions to new versions, and vice-versa.
|
||||
|
||||
If you are making a change that affects the structure of a record, shape, or asset, update the migrations in the same file as the record, shape, or asset is defined.
|
||||
|
||||
|
@ -71,7 +31,7 @@ In `TLShape.ts`
|
|||
|
||||
```diff
|
||||
const Versions = {
|
||||
Initial: 1,
|
||||
RemoveSomeProp: 1,
|
||||
+ AddOwnerId: 2,
|
||||
} as const
|
||||
```
|
||||
|
@ -90,11 +50,9 @@ and then adding a migration:
|
|||
|
||||
```diff
|
||||
export const shapeTypeMigrations = defineMigrations({
|
||||
// STEP 2: Update the current version to point to your latest version
|
||||
currentVersion: Versions.Initial,
|
||||
firstVersion: Versions.Initial,
|
||||
migrators: {
|
||||
// STEP 3: Add an up+down migration for the new version here
|
||||
+ [Versions.AddOwnerId]: {
|
||||
+ // add ownerId property
|
||||
+ up: (shape) => ({...shape, ownerId: null}),
|
||||
|
|
Loading…
Reference in a new issue