@bensitu/image-editor 1.5.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +370 -466
  2. package/dist/cjs/index.cjs +5422 -0
  3. package/dist/cjs/index.cjs.map +1 -0
  4. package/dist/esm/animation/animation-queue.js +67 -0
  5. package/dist/esm/animation/animation-queue.js.map +1 -0
  6. package/dist/esm/core/callback-reporter.js +23 -0
  7. package/dist/esm/core/callback-reporter.js.map +1 -0
  8. package/dist/esm/core/default-options.js +322 -0
  9. package/dist/esm/core/default-options.js.map +1 -0
  10. package/dist/esm/core/errors.js +156 -0
  11. package/dist/esm/core/errors.js.map +1 -0
  12. package/dist/esm/core/operation-guard.js +129 -0
  13. package/dist/esm/core/operation-guard.js.map +1 -0
  14. package/dist/esm/core/public-types.js +4 -0
  15. package/dist/esm/core/public-types.js.map +1 -0
  16. package/dist/esm/core/state-serializer.js +251 -0
  17. package/dist/esm/core/state-serializer.js.map +1 -0
  18. package/dist/esm/crop/crop-controller.js +403 -0
  19. package/dist/esm/crop/crop-controller.js.map +1 -0
  20. package/dist/esm/export/export-format.js +53 -0
  21. package/dist/esm/export/export-format.js.map +1 -0
  22. package/dist/esm/export/export-service.js +596 -0
  23. package/dist/esm/export/export-service.js.map +1 -0
  24. package/dist/esm/fabric/fabric-adapter.js +37 -0
  25. package/dist/esm/fabric/fabric-adapter.js.map +1 -0
  26. package/dist/esm/fabric/fabric-animation.js +37 -0
  27. package/dist/esm/fabric/fabric-animation.js.map +1 -0
  28. package/dist/esm/history/command.js +2 -0
  29. package/dist/esm/history/command.js.map +1 -0
  30. package/dist/esm/history/history-manager.js +103 -0
  31. package/dist/esm/history/history-manager.js.map +1 -0
  32. package/dist/esm/image/image-loader.js +245 -0
  33. package/dist/esm/image/image-loader.js.map +1 -0
  34. package/dist/esm/image/image-resampler.js +55 -0
  35. package/dist/esm/image/image-resampler.js.map +1 -0
  36. package/dist/esm/image/layout-manager.js +224 -0
  37. package/dist/esm/image/layout-manager.js.map +1 -0
  38. package/dist/esm/image/transform-controller.js +132 -0
  39. package/dist/esm/image/transform-controller.js.map +1 -0
  40. package/dist/esm/image-editor.js +1740 -0
  41. package/dist/esm/image-editor.js.map +1 -0
  42. package/dist/esm/index.js +5 -0
  43. package/dist/esm/index.js.map +1 -0
  44. package/dist/esm/mask/mask-factory.js +332 -0
  45. package/dist/esm/mask/mask-factory.js.map +1 -0
  46. package/dist/esm/mask/mask-label-manager.js +120 -0
  47. package/dist/esm/mask/mask-label-manager.js.map +1 -0
  48. package/dist/esm/mask/mask-list.js +47 -0
  49. package/dist/esm/mask/mask-list.js.map +1 -0
  50. package/dist/esm/mask/mask-style.js +182 -0
  51. package/dist/esm/mask/mask-style.js.map +1 -0
  52. package/dist/esm/ui/dom-bindings.js +60 -0
  53. package/dist/esm/ui/dom-bindings.js.map +1 -0
  54. package/dist/esm/ui/ui-state.js +25 -0
  55. package/dist/esm/ui/ui-state.js.map +1 -0
  56. package/dist/esm/ui/visibility-state.js +11 -0
  57. package/dist/esm/ui/visibility-state.js.map +1 -0
  58. package/dist/esm/utils/canvas-region.js +100 -0
  59. package/dist/esm/utils/canvas-region.js.map +1 -0
  60. package/dist/esm/utils/dom.js +6 -0
  61. package/dist/esm/utils/dom.js.map +1 -0
  62. package/dist/esm/utils/file.js +53 -0
  63. package/dist/esm/utils/file.js.map +1 -0
  64. package/dist/esm/utils/number.js +24 -0
  65. package/dist/esm/utils/number.js.map +1 -0
  66. package/dist/esm/utils/timeout.js +17 -0
  67. package/dist/esm/utils/timeout.js.map +1 -0
  68. package/dist/types/animation/animation-queue.d.ts +111 -0
  69. package/dist/types/animation/animation-queue.d.ts.map +1 -0
  70. package/dist/types/core/callback-reporter.d.ts +125 -0
  71. package/dist/types/core/callback-reporter.d.ts.map +1 -0
  72. package/dist/types/core/default-options.d.ts +56 -0
  73. package/dist/types/core/default-options.d.ts.map +1 -0
  74. package/dist/types/core/errors.d.ts +142 -0
  75. package/dist/types/core/errors.d.ts.map +1 -0
  76. package/dist/types/core/operation-guard.d.ts +192 -0
  77. package/dist/types/core/operation-guard.d.ts.map +1 -0
  78. package/dist/types/core/public-types.d.ts +678 -0
  79. package/dist/types/core/public-types.d.ts.map +1 -0
  80. package/dist/types/core/state-serializer.d.ts +301 -0
  81. package/dist/types/core/state-serializer.d.ts.map +1 -0
  82. package/dist/types/crop/crop-controller.d.ts +407 -0
  83. package/dist/types/crop/crop-controller.d.ts.map +1 -0
  84. package/dist/types/export/export-format.d.ts +136 -0
  85. package/dist/types/export/export-format.d.ts.map +1 -0
  86. package/dist/types/export/export-service.d.ts +333 -0
  87. package/dist/types/export/export-service.d.ts.map +1 -0
  88. package/dist/types/fabric/fabric-adapter.d.ts +74 -0
  89. package/dist/types/fabric/fabric-adapter.d.ts.map +1 -0
  90. package/dist/types/fabric/fabric-animation.d.ts +141 -0
  91. package/dist/types/fabric/fabric-animation.d.ts.map +1 -0
  92. package/dist/types/history/command.d.ts +16 -0
  93. package/dist/types/history/command.d.ts.map +1 -0
  94. package/dist/types/history/history-manager.d.ts +129 -0
  95. package/dist/types/history/history-manager.d.ts.map +1 -0
  96. package/dist/types/image/image-loader.d.ts +265 -0
  97. package/dist/types/image/image-loader.d.ts.map +1 -0
  98. package/dist/types/image/image-resampler.d.ts +139 -0
  99. package/dist/types/image/image-resampler.d.ts.map +1 -0
  100. package/dist/types/image/layout-manager.d.ts +255 -0
  101. package/dist/types/image/layout-manager.d.ts.map +1 -0
  102. package/dist/types/image/transform-controller.d.ts +287 -0
  103. package/dist/types/image/transform-controller.d.ts.map +1 -0
  104. package/dist/types/image-editor.d.ts +650 -0
  105. package/dist/types/image-editor.d.ts.map +1 -0
  106. package/dist/types/index.d.cts +31 -0
  107. package/dist/types/index.d.cts.map +1 -0
  108. package/dist/types/index.d.ts +31 -0
  109. package/dist/types/index.d.ts.map +1 -0
  110. package/dist/types/mask/mask-factory.d.ts +209 -0
  111. package/dist/types/mask/mask-factory.d.ts.map +1 -0
  112. package/dist/types/mask/mask-label-manager.d.ts +171 -0
  113. package/dist/types/mask/mask-label-manager.d.ts.map +1 -0
  114. package/dist/types/mask/mask-list.d.ts +144 -0
  115. package/dist/types/mask/mask-list.d.ts.map +1 -0
  116. package/dist/types/mask/mask-style.d.ts +338 -0
  117. package/dist/types/mask/mask-style.d.ts.map +1 -0
  118. package/dist/types/ui/dom-bindings.d.ts +103 -0
  119. package/dist/types/ui/dom-bindings.d.ts.map +1 -0
  120. package/dist/types/ui/ui-state.d.ts +112 -0
  121. package/dist/types/ui/ui-state.d.ts.map +1 -0
  122. package/dist/types/ui/visibility-state.d.ts +77 -0
  123. package/dist/types/ui/visibility-state.d.ts.map +1 -0
  124. package/dist/types/utils/canvas-region.d.ts +177 -0
  125. package/dist/types/utils/canvas-region.d.ts.map +1 -0
  126. package/dist/types/utils/dom.d.ts +26 -0
  127. package/dist/types/utils/dom.d.ts.map +1 -0
  128. package/dist/types/utils/file.d.ts +80 -0
  129. package/dist/types/utils/file.d.ts.map +1 -0
  130. package/dist/types/utils/number.d.ts +132 -0
  131. package/dist/types/utils/number.d.ts.map +1 -0
  132. package/dist/types/utils/timeout.d.ts +84 -0
  133. package/dist/types/utils/timeout.d.ts.map +1 -0
  134. package/dist/umd/image-editor.umd.js +2 -0
  135. package/dist/umd/image-editor.umd.js.map +1 -0
  136. package/package.json +72 -66
  137. package/dist/image-editor.cjs +0 -4185
  138. package/dist/image-editor.cjs.map +0 -7
  139. package/dist/image-editor.esm.js +0 -4154
  140. package/dist/image-editor.esm.js.map +0 -7
  141. package/dist/image-editor.esm.min.js +0 -9
  142. package/dist/image-editor.esm.min.js.map +0 -7
  143. package/dist/image-editor.esm.min.mjs +0 -9
  144. package/dist/image-editor.esm.min.mjs.map +0 -7
  145. package/dist/image-editor.esm.mjs +0 -4154
  146. package/dist/image-editor.esm.mjs.map +0 -7
  147. package/dist/image-editor.js +0 -4151
  148. package/dist/image-editor.js.map +0 -7
  149. package/dist/image-editor.min.js +0 -9
  150. package/dist/image-editor.min.js.map +0 -7
  151. package/image-editor.d.ts +0 -269
  152. package/src/browser.js +0 -11
  153. package/src/esm.js +0 -9
  154. package/src/image-editor.js +0 -4775
package/package.json CHANGED
@@ -1,89 +1,95 @@
1
1
  {
2
2
  "name": "@bensitu/image-editor",
3
- "version": "1.5.1",
4
- "description": "Lightweight canvas-based image editor",
5
- "main": "./dist/image-editor.cjs",
6
- "module": "./dist/image-editor.esm.mjs",
7
- "types": "./image-editor.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./image-editor.d.ts",
11
- "import": "./dist/image-editor.esm.mjs",
12
- "require": "./dist/image-editor.cjs",
13
- "default": "./dist/image-editor.esm.mjs"
14
- }
15
- },
16
- "scripts": {
17
- "dev": "node esbuild.config.mjs --watch",
18
- "build": "node esbuild.config.mjs",
19
- "build:babel": "babel src --out-dir dist --copy-files",
20
- "lint": "eslint src docs/js",
21
- "test": "npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs"
22
- },
3
+ "version": "2.0.0",
4
+ "description": "Lightweight canvas-based image editor built on Fabric.js v7",
5
+ "license": "MIT",
6
+ "author": "Ben Situ",
23
7
  "repository": {
24
8
  "type": "git",
25
9
  "url": "git+https://github.com/bensitu/image-editor.git"
26
10
  },
27
- "author": "Ben Situ",
28
- "license": "MIT",
11
+ "homepage": "https://github.com/bensitu/image-editor#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/bensitu/image-editor/issues"
14
+ },
15
+ "type": "module",
16
+ "main": "./dist/cjs/index.cjs",
17
+ "module": "./dist/esm/index.js",
18
+ "types": "./dist/types/index.d.ts",
19
+ "unpkg": "./dist/umd/image-editor.umd.js",
20
+ "jsdelivr": "./dist/umd/image-editor.umd.js",
21
+ "exports": {
22
+ ".": {
23
+ "import": {
24
+ "types": "./dist/types/index.d.ts",
25
+ "default": "./dist/esm/index.js"
26
+ },
27
+ "require": {
28
+ "types": "./dist/types/index.d.cts",
29
+ "default": "./dist/cjs/index.cjs"
30
+ },
31
+ "default": "./dist/esm/index.js"
32
+ }
33
+ },
29
34
  "files": [
30
- "dist",
31
- "src",
32
- "image-editor.d.ts"
35
+ "dist"
33
36
  ],
37
+ "scripts": {
38
+ "clean": "rimraf dist",
39
+ "build:esm": "tsc -p tsconfig.build.json",
40
+ "build:cjs": "rollup -c --environment FORMAT:cjs",
41
+ "build:types": "tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs",
42
+ "build:umd": "rollup -c --environment FORMAT:umd",
43
+ "build": "npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd",
44
+ "dev": "tsc --watch",
45
+ "format": "prettier . --write",
46
+ "format:check": "prettier . --check",
47
+ "lint": "eslint . --max-warnings=0",
48
+ "lint:fix": "eslint . --fix",
49
+ "package:check": "publint",
50
+ "test": "node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs",
51
+ "typecheck": "tsc -p tsconfig.json --noEmit",
52
+ "check": "npm run format:check && npm run lint && npm run typecheck && npm test",
53
+ "ci": "npm run check && npm run build && npm run package:check"
54
+ },
34
55
  "peerDependencies": {
35
- "fabric": "^5.5.2"
56
+ "fabric": "^7.0.0"
36
57
  },
37
- "publishConfig": {
38
- "access": "public"
58
+ "dependencies": {
59
+ "tslib": "^2.8.1"
39
60
  },
40
61
  "devDependencies": {
41
- "@babel/cli": "^7.22.9",
42
- "@babel/core": "^7.22.9",
43
- "@babel/preset-env": "^7.22.9",
44
62
  "@eslint/js": "^10.0.1",
63
+ "@rollup/plugin-commonjs": "^25.0.0",
64
+ "@rollup/plugin-node-resolve": "^15.0.0",
65
+ "@rollup/plugin-terser": "^1.0.0",
66
+ "@rollup/plugin-typescript": "^11.0.0",
45
67
  "canvas": "^3.2.3",
46
- "esbuild": "^0.28.0",
47
- "esbuild-plugin-babel": "^0.2.3",
48
68
  "eslint": "^10.4.0",
49
- "fabric": "^5.5.2",
50
- "globals": "^17.6.0"
69
+ "eslint-config-prettier": "^10.1.8",
70
+ "fabric": "^7.0.0",
71
+ "fast-check": "^3.23.0",
72
+ "globals": "^17.6.0",
73
+ "jsdom": "^26.1.0",
74
+ "prettier": "^3.8.3",
75
+ "publint": "^0.3.21",
76
+ "rimraf": "^6.1.3",
77
+ "rollup": "^4.0.0",
78
+ "typescript": "^5.4.0",
79
+ "typescript-eslint": "^8.60.0"
51
80
  },
52
- "browserslist": [
53
- "Chrome >= 100",
54
- "Firefox >= 100",
55
- "Safari >= 15",
56
- "Edge >= 100"
57
- ],
58
81
  "keywords": [
82
+ "canvas",
83
+ "fabric",
59
84
  "fabricjs",
60
85
  "image-editor",
61
- "javascript",
62
86
  "mask",
63
- "open-source"
87
+ "crop",
88
+ "transform",
89
+ "typescript"
64
90
  ],
65
- "directories": {
66
- "doc": "docs"
67
- },
68
- "bugs": {
69
- "url": "https://github.com/bensitu/image-editor/issues"
91
+ "engines": {
92
+ "node": ">=20"
70
93
  },
71
- "homepage": "https://github.com/bensitu/image-editor#readme",
72
- "babel": {
73
- "presets": [
74
- [
75
- "@babel/preset-env",
76
- {
77
- "targets": {
78
- "chrome": "100",
79
- "firefox": "100",
80
- "safari": "15",
81
- "edge": "100"
82
- },
83
- "useBuiltIns": false,
84
- "modules": false
85
- }
86
- ]
87
- ]
88
- }
94
+ "sideEffects": false
89
95
  }