Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
544c606
chore: trim root package.json metadata, add engines and .nvmrc
tbolis Oct 13, 2026
7f508b2
Add jest, ts-jest, testing-library and canvas mock as test devDepende…
tbolis Oct 13, 2026
84801ec
chore(lint): migrate to ESLint 9 flat config with typescript-eslint 8
tbolis Oct 13, 2026
87e7ff9
Add jest config for react-sketch (jsdom, ts-jest, canvas mock)
tbolis Oct 13, 2026
ba67ff8
Fix History spec: use named UndoHistory import and drop @ts-nocheck
tbolis Oct 13, 2026
443e70d
Add SketchField smoke tests (mount, style, unmount, tool switch)
tbolis Oct 13, 2026
37a9166
Remove legacy root jest config and .babelrc
tbolis Oct 13, 2026
9c25c87
Upgrade TypeScript to 5.9 and fix tsconfig layout
tbolis Oct 13, 2026
2244560
Build react-sketch with ts-loader and publish typings
tbolis Oct 13, 2026
db1731d
Port pointerPosition, linearDistance, hexToRgbA and colorNameToHex utils
tbolis Oct 13, 2026
e0c45ed
Add utils spec
tbolis Oct 13, 2026
0077381
Add RectangleLabel and DefaultTool to the Tool enum
tbolis Oct 13, 2026
ca252bc
Share pointer and interactivity helpers in the tool base class
tbolis Oct 13, 2026
d59ae04
Port the Rectangle tool
tbolis Oct 13, 2026
019aa2b
Port the Circle tool
tbolis Oct 13, 2026
8ce2a6e
Port the Arrow tool
tbolis Oct 13, 2026
86604ee
Port the Pan tool
tbolis Oct 13, 2026
455dd9f
Port the Select tool
tbolis Oct 13, 2026
94910da
Port the DefaultTool
tbolis Oct 13, 2026
49a077d
Port the Highlighter tool
tbolis Oct 13, 2026
d3322a3
Port the RectangleLabel tool and its label object
tbolis Oct 13, 2026
36f91d9
Wire all tools in the factory
tbolis Oct 13, 2026
337251c
Add tools spec
tbolis Oct 13, 2026
724f946
Merge tools port (Arrow, Circle, Highlighter, Pan, Rectangle, Rectang…
tbolis Oct 13, 2026
e87aab1
Clarify jest config comments
tbolis Oct 13, 2026
e047347
Modernize showcase webpack config for webpack-dev-server 6
tbolis Oct 13, 2026
4ab1346
Add root build, start, typecheck and clean scripts
tbolis Oct 13, 2026
87e8a37
Upgrade TypeScript to 6.0
tbolis Oct 13, 2026
5b0e474
chore(format): upgrade to Prettier 3 and add format:check
tbolis Oct 13, 2026
bc152f3
chore(hooks): husky 9 and lint-staged 16 pre-commit hook
tbolis Oct 13, 2026
26b77c6
ci: replace Travis with a GitHub Actions workflow
tbolis Oct 13, 2026
31450b8
chore: tidy .gitignore and drop the root .npmignore
tbolis Oct 13, 2026
154fb88
Merge build toolchain (ts-loader, TypeScript 6, webpack 5.111, dev-se…
tbolis Oct 13, 2026
8ed6c93
Make SketchField compile with @types/react 19 (ReactElement return ty…
tbolis Oct 13, 2026
184ae78
Merge jest toolchain (ts-jest, Testing Library, canvas mock); typeche…
tbolis Oct 13, 2026
539b4cf
Merge lint, format, hooks and CI (ESLint 9, Prettier 3, husky 9, GitH…
tbolis Oct 13, 2026
a3f8ec8
Migrate showcase to React 19, MUI 9 and mobx 7
tbolis Oct 13, 2026
46a59d5
Declare css and image modules in the showcase, drop the tsconfig work…
tbolis Oct 13, 2026
c3fcf3b
Update yarn.lock for the showcase dependency migration
tbolis Oct 13, 2026
78a9688
Add showcase sample data, extended config store and ref API stub
tbolis Oct 13, 2026
4f385ee
Showcase tools panel for all tools and drawing options
tbolis Oct 13, 2026
29c72d2
Showcase canvas: scenario tabs, actions toolbar and saved drawings
tbolis Oct 13, 2026
645ca98
history: type UndoHistory and drop its console debug output
tbolis Oct 13, 2026
3457abb
history: record added, modified and removed objects, and replay them …
tbolis Oct 13, 2026
8dae0d7
resize: honor widthCorrection and heightCorrection, skip containers w…
tbolis Oct 13, 2026
7b2b52b
pencil: use the regular pointer instead of the crosshair (#181)
tbolis Oct 13, 2026
edfe5f5
chore: drop the unused prop-types dependency of react-sketch
tbolis Oct 13, 2026
5214727
SketchField: API parity with 0.5.6, in TypeScript
tbolis Oct 13, 2026
2f5e888
test: port the 0.5.x SketchField specs and cover every prop, method a…
tbolis Oct 13, 2026
033742b
Merge showcase migration (React 19, MUI 9, mobx 7) and example scenar…
tbolis Oct 13, 2026
468f63b
Merge SketchField API parity (props, methods, history, exports) and t…
tbolis Oct 13, 2026
e96993f
docs: update the code of conduct to Contributor Covenant 2.1
tbolis Oct 14, 2026
d7f9d08
chore: complete the package metadata of react-sketch and showcase
tbolis Oct 14, 2026
7b754b6
docs: rewrite the README for the TypeScript package and the workspace…
tbolis Oct 14, 2026
ac54251
docs: add READMEs for the react-sketch package and the showcase
tbolis Oct 14, 2026
1bb4e6c
docs: remove images no longer referenced by the README
tbolis Oct 14, 2026
1e671f1
docs: add the 1.0.0, 0.5.x and 0.4.x entries to the changelog
tbolis Oct 14, 2026
95f7d2d
Merge documentation rewrite (README, CHANGELOG, Contributor Covenant …
tbolis Oct 14, 2026
66ea680
showcase: bundle a sample image as the default image URL
tbolis Oct 14, 2026
223d4c8
chore: ship LICENSE in the react-sketch package
tbolis Oct 14, 2026
88a7ffd
showcase: wire the controls to the typed SketchField ref
tbolis Oct 14, 2026
e3f4bbe
showcase: remove the opacity control
tbolis Oct 14, 2026
418be75
Upgrade fabric to 7.4 and drop @types/fabric
tbolis Oct 14, 2026
a6d4026
Merge showcase wiring to the real SketchField API (all legacy example…
tbolis Oct 14, 2026
933dcb3
chore: remove the legacy root src, examples and webpack configs (port…
tbolis Oct 14, 2026
44c43a7
test: cover what the fabric 7 upgrade must not change
tbolis Oct 14, 2026
bd99d93
Resolve minimist for fabric's optional canvas to 1.2.8
tbolis Oct 14, 2026
663f6e3
test: drive the line tool with real mouse events and ignore right clicks
tbolis Oct 14, 2026
2544f33
Merge fabric 4.4 -> 7.4 upgrade (public API unchanged)
tbolis Oct 14, 2026
a11b549
chore: re-resolve brace-expansion, kind-of and @babel/runtime to patc…
tbolis Oct 14, 2026
4916164
docs: describe fabric 7 (JSON format, behavior differences) in README…
tbolis Oct 14, 2026
cb7dc35
style: apply Prettier 3 to the remaining files
tbolis Oct 14, 2026
bdeea2d
ci: check formatting
tbolis Oct 14, 2026
ee39406
chore: lint-staged 17 (engines.node >=22.22.1)
tbolis Oct 14, 2026
0a154b5
showcase: React 19 context API and stable ids for saved drawings
tbolis Oct 14, 2026
149d608
chore: ESLint 10 with @eslint-react (eslint-plugin-react does not sup…
tbolis Oct 14, 2026
55c12fc
fix: enableTouchScroll and disableTouchScroll set the touch-action st…
tbolis Oct 14, 2026
31a135e
docs: images and the background image are part of the JSON (#58), wit…
tbolis Oct 14, 2026
f0e4fd7
showcase: add text in the line color (#78); CHANGELOG: touch scrollin…
tbolis Oct 14, 2026
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
4 changes: 0 additions & 4 deletions .babelrc

This file was deleted.

27 changes: 0 additions & 27 deletions .eslintrc

This file was deleted.

32 changes: 32 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: CI

on:
push:
branches: [master]
pull_request:
branches: [master]

permissions:
contents: read

jobs:
ci:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node: [22, 24]
env:
HUSKY: "0"
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: ${{ matrix.node }}
cache: yarn
- run: yarn install --frozen-lockfile
- run: yarn format:check
- run: yarn lint
- run: yarn typecheck
- run: yarn build
- run: yarn test
5 changes: 1 addition & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
node_modules
lib
lib-esm
_bundles
*.tsbuildinfo

### Linux template
*~
Expand Down Expand Up @@ -161,7 +159,6 @@ build/Release
# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git
node_modules

lib/
build/
dist/

Expand Down
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
yarn lint-staged
201 changes: 0 additions & 201 deletions .npmignore

This file was deleted.

1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24
9 changes: 0 additions & 9 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,5 @@ coverage/
dist/
docs/
node_modules/
*.md
.prettierignore
yarn.lock
.idea
LICENSE
*.jpg
.DS_Store
.npmignore
.gitignore
*.log
*.ico
3 changes: 2 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@
"useTabs": false,
"singleQuote": false,
"bracketSpacing": true,
"jsxBracketSameLine": true
"bracketSameLine": true,
"trailingComma": "es5"
}
21 changes: 0 additions & 21 deletions .travis.yml

This file was deleted.

Loading
Loading