Commit graph

166 commits

Author SHA1 Message Date
Orange Mug
2dbfda1285
Added initial webdriver tests (#1337)
Adds webdriver tests for testing from a users perspective via browser
actions. We currently support local test runners for a bunch of actions
on desktop `chrome`/`firefox`/`edge`/`safari` on macos.

We also have a browserstack runner which we'll enable in another PR.

### Release Note

- Adds initial webdriver tests
2023-05-09 20:21:45 +00:00
alex
bb1c84e101 lite: run prettier on js + json files 2023-05-02 16:12:34 +01:00
alex
e81e269e72
fix husky install (#1212)
yarn2+ doesn't run the prepare script when you install a project, so our
husky hooks weren't getting set up correctly :(
2023-05-02 13:26:57 +00:00
David Sheldrick
f5c5b05dc7
[chore] update lazyrepo (#1211) 2023-05-02 12:25:26 +00:00
David Sheldrick
731da1bc77
derived presence state (#1204)
This PR adds

- A new `TLInstancePresence` record type, to collect info about the
presence state in a particular instance of the editor. This will
eventually be used to sync presence data instead of sending
instance-only state across the wire.
- **Record Scopes**

`RecordType` now has a `scope` property which can be one of three
things:
- `document`: the record belongs to the document and should be synced
and persisted freely. Currently: `TLDocument`, `TLPage`, `TLShape`, and
`TLAsset`
- `instance`: the record belongs to a single instance of the store and
should not be synced at all. It should not be persisted directly in most
cases, but rather compiled into a kind of 'instance configuration' to
store alongside the local document data so that when reopening the
associated document it can remember some of the previous instance state.
Currently: `TLInstance`, `TLInstancePageState`, `TLCamera`, `TLUser`,
`TLUserDocument`, `TLUserPresence`
- `presence`: the record belongs to a single instance of the store and
should not be persisted, but may be synced using the special presence
sync protocol. Currently just `TLInstancePresence`

This sets us up for the following changes, which are gonna be pretty
high-impact in terms of integrating tldraw into existing systems:

- Removing `instanceId` as a config option. Each instance gets a
randomly generated ID.
- We'd replace it with an `instanceConfig` option that has stuff like
selectedIds, camera positions, and so on. Then it's up to library users
to get and reinstate the instance config at persistence boundaries.
- Removing `userId` as config option, and removing the `TLUser` type
altogether.
- We might need to revisit when doing auth-enabled features like locking
shapes, but I suspect that will be separate.
2023-04-27 18:03:19 +00:00
David Sheldrick
4c65cb8db4
[lite] upgrade lazyrepo (#1198)
* upgrade lazyrepo

* update lockfile + lazy.config
2023-04-25 14:32:17 +01:00
alex
29ed921c67 transfer-out: transfer out 2023-04-25 12:01:25 +01:00
alex
ec84f64e63 lite: delete all 2023-04-21 16:53:31 +01:00
Steve Ruiz
13898f871d Fix postinstall 2022-09-08 14:56:24 +01:00
Steve Ruiz
5fea5b4c69
fix (#968) 2022-09-08 13:33:04 +01:00
Steve Ruiz
9cc0405f69
Update package.json (#962) 2022-09-08 09:41:03 +01:00
Steve Ruiz
d0cd924ca7
[chore] remove mobx (#961)
* remove mobx as dependency

* fix bugs
2022-09-08 09:38:28 +01:00
Steve Ruiz
0cc4f2eeb5 Fix vscode dev script 2022-09-01 09:15:08 +01:00
Steve Ruiz
bba572852f Update ports / start:core 2022-08-11 08:28:30 +01:00
Gwenaël Gallon
25f39a65fc
Chore: update and optimize turbo (#885)
* Update turbo to latest

* Update turbo.json

* The --stream flag has been deprecated

* Remove unused start:all

* build:packages -> use new --filter

* build:apps -> use new --filter

* build:www -> use new --filter

* build:core -> use new --filter

* build -> fix tldraw-example dependencies

* Optimize test* and lint

* start & start:core -> use new --filter

* start:electron -> use new --filter

* Remove unused start:apps

* Update turbo.json

* Caching ESLint

See Pro Tip : https://turborepo.org/docs/core-concepts/caching#configuring-cache-outputs

* Optimize test:watch

* start:www -> use new filter

* start:vscode -> use new filter

* Update build:core

* Optimize start and start:core

* Clean build:core

* Remove unused command

* Revert "Merge branch 'main' into chore/update-turbo"

This reverts commit a481c242054504c9b8452822df8c452c24bcdfbd, reversing
changes made to a0f2f337b3d00974741effd4faae699ce493d3a2.

* Update start:electron

* Remove unused deploy in turbo.json

* Add start:extension

* Add package:electron and package:vscode

* Add publish:vscode

* Revet Revert: revert "Merge branch 'main' into chore/update-turbo"

* Update vscode extension build

* Clean tldraw-example tsconfig.json

* Uniform script commands

* Fix start for www

* remove mention of removed packages

* add build:core

* Add force to build step

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2022-08-11 07:08:32 +01:00
Steve Ruiz
a0007142e0
[chore] epic purge (#893)
* remove extension / electron app

* switch examples to vite

* Update licenses

* Add script

* fix titles
2022-08-10 00:18:59 +01:00
Gwenaël Gallon
429a1c5ffc
Chore: command format prettier run, yarn workspace run, build run ! (#882)
* Add custom package without @babel dependencies

The @ggallon/prettier-plugin-sort-imports@^3.4.2-canary.0" have only peer dependencies

* Update .prettierignore
2022-08-08 10:34:47 +01:00
Steve Ruiz
d83f6ac9e1 remove deps 2022-08-02 17:56:56 +01:00
Gwenaël Gallon
e0e1373468
Chore: clean up sort imports with prettier (#870)
* Update prettier to latest

* Add format command

* Create .prettierignore

* Add prettier plugin sort imports

* Update prettier config

* Update prettier config

* Update .prettierignore

* Fix @babel/parser conflict

https://github.com/trivago/prettier-plugin-sort-imports/issues/156

* Revert "Update .prettierignore"

This reverts commit 282e5b838376f16b3df7f4c1f99f1106baaffea4.

* Revert change for apps/www/pages/v/[id].tsx

* Sort imports

Moves the third party imports to the top, "~" imports in middle, and "./" at last

* Sorting of the specifiers

in an import declarations

* [www] use path vs  "../"

* [core] use path "~" vs "../"

* [tldraw] use path "~" vs "../.../"

* [tldraw] use path "~" vs "../"

* [tldraw] Cleanup

* Update prettier config

* Last use path "~" vs "../.../"

* [www] Fix order of the third party imports

* Clean prettier config
2022-08-02 14:56:12 +01:00
Gwenaël Gallon
3c2c26c11e
Fix: workflow failure with missing lint command and added lint for apps/examples (#866)
* Add turbo run lint

* Add lint to all apps and examples

* Update eslint with monorepo configuration

see: https://typescript-eslint.io/docs/linting/typed-linting/monorepos#one-tsconfigjson-per-package-and-an-optional-one-in-the-root

* Remove unused rules

* Exclude @tldraw/www from global eslint config

* Remove duplicated eslint

* Fix eslint prefer-const errors

* Fix eslint no-unused-vars warning

* Update package.json

* Fix eslint no-unused-vars warning

* bump eslint@^8.20.0

* Correct "Fix eslint no-unused-vars warning"

This reverts commit 0158a2585af84b623f2c5581412252c8471375ae.
2022-07-30 08:27:54 +01:00
with-heart
82f9278976
chore: remove typedoc and docs scripts (#864) 2022-07-29 15:22:08 +01:00
with-heart
3d4544548b
chore: improve linting (#855)
* chore(lint): upgrade typescript-eslint

* chore(lint): add root "lint" script

* chore(turbo): remove build dependency from lint

* chore(lint): enable jest recommended rules

* chore(lint): resolve errors

* ci: add lint step

* prettier

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2022-07-28 08:25:46 +01:00
with-heart
2e36dadfec
chore: clean up local dev tooling (#856)
* chore: clean up husky + lint-staged

* chore: format all files with prettier
2022-07-28 08:19:53 +01:00
Steve Ruiz
2352985e94
[feature] Iframe warning (#800) 2022-07-08 21:25:08 +01:00
Steve Ruiz
88fbdacaea
1.19.0 (#789)
* Edit Farsi translations (#788)

* Add a Ukrainian translation (#786)

* Add a Ukrainian translation

* Clarify some strings in the Ukrainian translation

* feat: change dock position (#774)

* feat: change dock position

* fix grid row and column

* add top position

* fix responsive for the top position

* change content side

* fix overflowing menu

* [improvement] theme on body (#790)

* Update Tldraw.tsx

* Add theme on body, adjust dark page options dialog

* fix test

* Preparing for global integration (#775)

* Update translations.ts

* Create en.json

* Make main translation default

* Remove unused locale property of translation

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>

* Fix language menu

* Update ar.json (#793)

* feature/add Hebrew translations (#792)

* hebrew translations

* pr fixes

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>

* fix toolspanel item position (#791)

* fix toolspanel item position

* add translation

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>

* Add remote caching

* Adds link to translation guide (#794)

Co-authored-by: Baahar Ebrahimi <108254874+Baahaarmast@users.noreply.github.com>
Co-authored-by: walking-octopus <46994949+walking-octopus@users.noreply.github.com>
Co-authored-by: Judicael <46365844+judicaelandria@users.noreply.github.com>
Co-authored-by: Ali Alhaidary <75235623+ali-alhaidary@users.noreply.github.com>
Co-authored-by: gadi246 <gadi246@gmail.com>
2022-07-07 11:59:47 +01:00
Steve Ruiz
b5d15dff39 Fix react types 2022-06-16 14:28:12 +01:00
Steve Ruiz
702016a3ef Replace lask with lfg 2022-06-16 14:23:27 +01:00
Steve Ruiz
6608b07ab0 Update README, lask 2022-06-16 14:15:35 +01:00
Judicael
d919bd273e
feat: add translation (#704)
* feat: add translation

* modal, left menu translation

* primary tools translation

* render with intl provider for testing

restore file

* french translation done

* context menu translation and test

* added italian

* Add menu to select language

* translation for the word language

* bump dev deps

Bump react on www

* Fix types

* update dependencies

* pre-release

* Delete lask.config.json

Co-authored-by: Enrico <franciscono.enry@gmail.com>
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2022-06-09 15:33:35 +01:00
Steve Ruiz
c3050db968
[fix] copy and paste (again) (#685)
* fix copy

* remove console logs

* update types
2022-05-14 14:15:55 +01:00
Steve Ruiz
4b2b14eb26 release 1.12.0 2022-05-11 14:34:07 +01:00
Steve Ruiz
c54c800675
[improvement] local copy and export for images (#669)
* local images

use assets for local copy

add menu options

* clean up packages

* cleanup unused content, move file handling into app.paste

* Add tldraw-assets.json to other files.

* add path to editor

* Update build.mjs

* add export to server example with link to gist

* Fix onAssetCreate and onAssetDelete APIs

* Update yarn.lock

* fix bugs on paste, adjust api for getting images, fix readonly on cut, copy, paste

* re-enable swc

* paste svg strings as svg images

* cleanup

* fix string case for tldraw json
2022-05-11 14:25:08 +01:00
Steve Ruiz
2a98e0c6e7
[fix] Protect document from missing parents / children. (#622)
* Scan document for missing parents / children.

* fix tests

* Apply fixes to vscode extension
2022-03-17 12:42:18 +00:00
Steve Ruiz
3d7b9612dc ignore remote cache 2022-03-03 07:31:16 +00:00
Steve Ruiz
f06245c1c8 v1.6.2 2022-02-25 12:18:59 +00:00
Steve Ruiz
0fe6f1baa7 Update package.json 2022-02-15 12:43:32 +00:00
Steve Ruiz
9619e3be0b
Add changeset (#567)
* add lask for packages

* Add turbo

* remove custom scripts

* update turbo scripts

* Improve scripts, update changelogs

* update action to use turbo

* Update .gitignore

* Update main.yml

* Update main.yml

* Update main.yml

* Add docs

* add clean

* Add changesets

* Add changeset
2022-02-08 11:45:11 +00:00
Steve Ruiz
e1fb9a8250
[improvement] Improve monorepo (lask + turbo) (#566)
* add lask for packages

* Add turbo

* remove custom scripts

* update turbo scripts

* Improve scripts, update changelogs

* update action to use turbo

* Update .gitignore

* Update main.yml

* Update main.yml

* Update main.yml

* Add docs

* add clean
2022-02-08 11:05:56 +00:00
Steve Ruiz
40b9f4c781 update root dependencies 2022-02-03 11:16:40 +00:00
Steve Ruiz
014bfbc841 bump dependencies 2022-02-03 10:57:03 +00:00
Jason Laster
0ff6f0628f
Add sourcemap-loader to build step (#535)
* Add sourcemap-loader to build step

* .
2022-01-25 09:57:24 +00:00
megnakokkalera
c67c0871ff
Fix/undo on menu open (#436)
* fix for undo button on menu open

* Change toggle to set, add option for keyboard events

* Update .gitignore

* Update .gitignore

* Remove isStyleOpen

* Remove isStyleOpen

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2021-12-06 18:23:53 +00:00
Steve Ruiz
a816ceaa64 bump deps, add version to root package 2021-11-28 13:59:36 +00:00
Steve Ruiz
5c0e4fad11 Upadte changelogs 2021-11-28 10:30:16 +00:00
Steve Ruiz
a74ef41c10 Update package.json 2021-11-28 10:15:29 +00:00
Noah Shipley
98cc0d4cac
Feature/mobx - adds mobx support to @tldraw/core (#383)
* Initial commit with mobx

* Convert more to mobx

* Make useCameraCss reactive (autorun)

* Move more items to mobx

* Fix more invalid components and layout hooks that needed to be reactive

* Add autorun to css layout effect

* Remove centric specific yarn.lock changes

* mild cleanup

* update from main

* add tests, example

* cleanup

* minor tweak to advanced example

* Update app.tsx

* Optimizations around events not being memoized

* Support className property on SVGContainer

* Add data-type to shape container to aid with external styling

* Fix classnames

* Fixes bug on text shapes / shapes with refs

* v1.1.9-beta.1

* v1.1.9-beta.2

* Drop mobx as a dependency for core

* v1.1.9-beta.3

* rename

* Revert "Drop mobx as a dependency for core"

This reverts commit 2d93f84a87f0c709e55fb2766519bfde03f8e854.

* remove unused code from utils, move curve to separate package

* v1.1.9-beta.4

* Add pretty-quick

* Update package.json

* Renamings

Co-authored-by: Noah Shipley <nshipley@centricsoftware.com>
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2021-11-28 10:05:40 +00:00
Steve Ruiz
e59eb95442 Remove commit check 2021-11-27 14:33:44 +00:00
Steve Ruiz
99e51177c2 fix-vscode-kbds 2021-11-26 22:01:53 +00:00
Christian Petersen
e2814943e9
[feature] Add grids (#344)
* [feature] grids

* Shows relative grids at different zoom levels

* Update colors

* Restores vec and intersect to monorepo, changes vec.round to vec.toFixed, adds vec.snap

* Snapping in translate and transforms, fix shortcut

* fix bugs in build

* use grid size for nudge too

* update scripts

* Update grid.tsx

* Update grid.tsx

* Fixed!

* Update grid.tsx

* Fix package imports

* Update Editor.tsx

* Improve tsconfigs, imports

* Fix tiny arrow bugs, snap starting points to grid

* Update tsconfig.base.json

* Update shape-styles.ts

* Fix example tsconfig

* Fix translate type error

* Fix types, paths

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2021-11-26 15:14:10 +00:00
Steve Ruiz
d2ae8f06fd Update scripts 2021-11-21 12:07:58 +00:00