Comments (13)
Jest is already installed in the project (via react-scripts package)
from excalidraw.
IMO we should migrate to functional react, i dont see any benefit is us having this in classes. Maybe @vjeux could clarify if we have any technical blocker to migrate this to hooks.
I also think we should add eslint, it would help us alot when this project grows.
(In case we decide to add eslint) - We could also add a pre-commit hook using husky to lint and prettify the code before commiting.
from excalidraw.
@giovannigiordano you were right, so far it seems we could make it work. #63
from excalidraw.
What's the latest on npm vs yarn? I thought we started with yarn.
So, have we settled on npm, and should we install everything via npm so that we keep package-lock
up to date?
(too bad npm takes 10x to install anything)
from excalidraw.
I started with hooks but couldn’t figure out how to read up to date variables when using addEventListener for window mousemove. If you can make it work that’d be awesome :)
from excalidraw.
I’d be happy with eslint, prettier, typescript and jest
from excalidraw.
- For the hooks part, we could use then when we will split the application in more components, without forcing to use them.
- Jest is ok. Maybe we can do some integration testing with Cypress to ensure everything is ok with interactivity?
from excalidraw.
ad 2: Cypress won't help here until they implement non-synthetic, native events (at least as far as interacting with the canvas is concerned). We could go with Puppeteer & CDP, or something like Selenium & WebDriver.
from excalidraw.
@dwelle with cypress you can interact with canvas using mouse events and maybe compare the result as a screenshot.
from excalidraw.
@giovannigiordano I thought we'd need to fire proper events. I'll investigate if we can emulate the tests in Cypress by triggering mouse events programmatically.
from excalidraw.
@dwelle I introduced yarn and then npm to use it in the deploy action, to avoid the usage of a custom action which integrates yarn (the nodejs action has npm).
The project is small, we don't have too many dependencies, so let's focus on other features.
from excalidraw.
Would you guys be interested in splitting the code into multiple files? I believe that it will improve dev workflow as it is easier to navigate through smaller files instead one large file.
from excalidraw.
I feel like we've done the original scope of this issue.
from excalidraw.
Related Issues (20)
- Introduce internal transaction-like API for element mutations
- Introduce performance related tests
- Add threshold for accidental x/y movements
- Could you add the feature of inserting gift images into the scenes? HOT 1
- text content with tab characters act different in view/edit
- Exiting view mode does not re-render undo/redo buttons HOT 2
- Can we please white list Notion so I can embed Notion docs? HOT 1
- Arrow disappears when adjusting the size of its surrounding Box HOT 3
- tax residency certificate for 2024 HOT 2
- TypeError: Object.hasOwn is not a function
- FR: Detect Apple Pencil's double tap on iPad
- huge delay after using the picture tool HOT 2
- laser tool does not mirror to the other side. HOT 4
- OPENAI REVERSE PROXY HOT 1
- OpenAI Key Not Working
- [Feature Request] Frames with Multiple States HOT 2
- [Feature Request] Add drawing information to image HOT 2
- Stroke (Colour Palette)
- Question: Is there anything similar to Figma components? HOT 1
- [Feature] Cut ability HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from excalidraw.