@digipair/skill-canvas 0.90.0 → 0.91.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.
package/.swcrc ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "jsc": {
3
+ "target": "es2017",
4
+ "parser": {
5
+ "syntax": "typescript",
6
+ "decorators": true,
7
+ "dynamicImport": true
8
+ },
9
+ "transform": {
10
+ "decoratorMetadata": true,
11
+ "legacyDecorator": true
12
+ },
13
+ "keepClassNames": true,
14
+ "externalHelpers": true,
15
+ "loose": true
16
+ },
17
+ "module": {
18
+ "type": "es6"
19
+ },
20
+ "sourceMaps": true,
21
+ "exclude": [
22
+ "jest.config.ts",
23
+ ".*\\.spec.tsx?$",
24
+ ".*\\.test.tsx?$",
25
+ "./src/jest-setup.ts$",
26
+ "./**/jest-setup.ts$"
27
+ ]
28
+ }
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # mylib
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build mylib` to build the library.
@@ -0,0 +1,22 @@
1
+ import baseConfig from '../../eslint.config.mjs';
2
+
3
+ export default [
4
+ ...baseConfig,
5
+ {
6
+ files: ['**/*.json'],
7
+ rules: {
8
+ '@nx/dependency-checks': [
9
+ 'error',
10
+ {
11
+ ignoredFiles: [
12
+ '{projectRoot}/eslint.config.{js,cjs,mjs}',
13
+ '{projectRoot}/rollup.config.{js,ts,mjs,mts,cjs,cts}',
14
+ ],
15
+ },
16
+ ],
17
+ },
18
+ languageOptions: {
19
+ parser: await import('jsonc-eslint-parser'),
20
+ },
21
+ },
22
+ ];
package/package.json CHANGED
@@ -1,15 +1,28 @@
1
1
  {
2
2
  "name": "@digipair/skill-canvas",
3
- "version": "0.90.0",
3
+ "version": "0.91.0-0",
4
+ "type": "module",
5
+ "main": "dist/libs/skill-canvas/index.cjs.js",
6
+ "module": "dist/libs/skill-canvas/index.esm.js",
7
+ "types": "dist/libs/skill-canvas/index.esm.d.ts",
8
+ "exports": {
9
+ "./package.json": "./libs/skill-canvas/package.json",
10
+ ".": {
11
+ "development": "./dist/libs/skill-canvas/src/index.ts",
12
+ "types": "./dist/libs/skill-canvas/index.esm.d.ts",
13
+ "import": "./dist/libs/skill-canvas/index.esm.js",
14
+ "default": "./dist/libs/skill-canvas/index.cjs.js"
15
+ }
16
+ },
4
17
  "keywords": [
5
18
  "digipair",
6
19
  "web",
7
- "service",
8
- "tool"
20
+ "service"
9
21
  ],
10
- "dependencies": {
11
- "canvas": "^2.11.2"
22
+ "nx": {
23
+ "name": "skill-canvas"
12
24
  },
13
- "main": "./index.cjs.js",
14
- "module": "./index.esm.js"
15
- }
25
+ "dependencies": {
26
+ "@digipair/engine": "0.91.0-0"
27
+ }
28
+ }
@@ -0,0 +1,28 @@
1
+ const { withNx } = require('@nx/rollup/with-nx');
2
+
3
+ module.exports = withNx(
4
+ {
5
+ main: 'libs/skill-canvas/src/index.ts',
6
+ outputPath: 'dist/libs/skill-canvas',
7
+ tsConfig: 'libs/skill-canvas/tsconfig.lib.json',
8
+ compiler: 'swc',
9
+ format: ['esm', "cjs"],
10
+ assets: [
11
+ {
12
+ input: 'libs/skill-canvas/',
13
+ glob: 'package.json',
14
+ output: '.'
15
+ },
16
+ {
17
+ input: 'libs/skill-canvas/src/',
18
+ glob: '*.json',
19
+ output: '.'
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ // Provide additional rollup configuration here. See: https://rollupjs.org/configuration-options
25
+ // e.g.
26
+ // output: { sourcemap: true },
27
+ }
28
+ );
@@ -0,0 +1 @@
1
+ declare module 'handlebars/dist/handlebars.min.js';
@@ -0,0 +1,7 @@
1
+ import { skillCanvas } from './skill-canvas';
2
+
3
+ describe('skillCanvas', () => {
4
+ it('should work', () => {
5
+ expect(skillCanvas()).toEqual('skill-canvas');
6
+ });
7
+ });
@@ -0,0 +1,120 @@
1
+ import { executePinsList, PinsSettings } from '@digipair/engine';
2
+
3
+ class CanvasService {
4
+ private base64ToImage(base64: string) {
5
+ const data = base64.replace(/^data:image\/\w+;base64,/, '');
6
+ const buffer = Buffer.from(data, 'base64');
7
+ return buffer;
8
+ }
9
+
10
+ async canvas(params: any, _pinsSettingsList: PinsSettings[], context: any) {
11
+ const { width, height, execute } = params;
12
+ const { createCanvas } =
13
+ typeof window === 'undefined'
14
+ ? require('canvas')
15
+ : {
16
+ createCanvas: (width: number, height: number) => {
17
+ const canvas = document.createElement('canvas');
18
+ canvas.width = width;
19
+ canvas.height = height;
20
+ return canvas;
21
+ },
22
+ };
23
+
24
+ const instance = createCanvas(width, height);
25
+ const ctx = instance.getContext('2d');
26
+
27
+ await executePinsList(execute, { ...context, canvas: { ctx } }, `${context.__PATH__}.execute`);
28
+
29
+ return instance.toDataURL();
30
+ }
31
+
32
+ async loadImage(params: any, _pinsSettingsList: PinsSettings[], _context: any) {
33
+ const { image } = params;
34
+
35
+ const result =
36
+ typeof window === 'undefined'
37
+ ? require('canvas')
38
+ : {
39
+ loadImage: (src: string) =>
40
+ new Promise((resolve, reject) => {
41
+ const img = new Image();
42
+ img.onload = () => resolve(img);
43
+ img.onerror = err => reject(err);
44
+ img.src = src;
45
+ }),
46
+ };
47
+
48
+ return result.loadImage(typeof window === 'undefined' ? this.base64ToImage(image) : image);
49
+ }
50
+
51
+ async drawImage(params: any, _pinsSettingsList: PinsSettings[], context: any) {
52
+ const { image, x, y, width, height } = params;
53
+ context.canvas.ctx.drawImage(image, x, y, width, height);
54
+ }
55
+
56
+ async strokeRect(params: any, _pinsSettingsList: PinsSettings[], context: any) {
57
+ const { x, y, width, height } = params;
58
+ context.canvas.ctx.strokeRect(x, y, width, height);
59
+ }
60
+
61
+ async fillRect(params: any, _pinsSettingsList: PinsSettings[], context: any) {
62
+ const { x, y, width, height } = params;
63
+ context.canvas.ctx.fillRect(x, y, width, height);
64
+ }
65
+
66
+ async fillText(params: any, _pinsSettingsList: PinsSettings[], context: any) {
67
+ const { text, x, y } = params;
68
+ context.canvas.ctx.fillText(text, x, y);
69
+ }
70
+
71
+ async strokeStyle(params: any, _pinsSettingsList: PinsSettings[], context: any) {
72
+ const { style } = params;
73
+ context.canvas.ctx.strokeStyle = style;
74
+ }
75
+
76
+ async fillStyle(params: any, _pinsSettingsList: PinsSettings[], context: any) {
77
+ const { style } = params;
78
+ context.canvas.ctx.fillStyle = style;
79
+ }
80
+
81
+ async lineWidth(params: any, _pinsSettingsList: PinsSettings[], context: any) {
82
+ const { style } = params;
83
+ context.canvas.ctx.lineWidth = style;
84
+ }
85
+
86
+ async measureText(params: any, _pinsSettingsList: PinsSettings[], context: any) {
87
+ const { text } = params;
88
+ context.canvas.ctx.measureText(text);
89
+ }
90
+ }
91
+
92
+ export const canvas = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
93
+ new CanvasService().canvas(params, pinsSettingsList, context);
94
+
95
+ export const loadImage = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
96
+ new CanvasService().loadImage(params, pinsSettingsList, context);
97
+
98
+ export const drawImage = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
99
+ new CanvasService().drawImage(params, pinsSettingsList, context);
100
+
101
+ export const strokeRect = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
102
+ new CanvasService().strokeRect(params, pinsSettingsList, context);
103
+
104
+ export const fillRect = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
105
+ new CanvasService().fillRect(params, pinsSettingsList, context);
106
+
107
+ export const fillText = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
108
+ new CanvasService().fillText(params, pinsSettingsList, context);
109
+
110
+ export const strokeStyle = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
111
+ new CanvasService().strokeStyle(params, pinsSettingsList, context);
112
+
113
+ export const fillStyle = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
114
+ new CanvasService().fillStyle(params, pinsSettingsList, context);
115
+
116
+ export const lineWidth = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
117
+ new CanvasService().lineWidth(params, pinsSettingsList, context);
118
+
119
+ export const measureText = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
120
+ new CanvasService().measureText(params, pinsSettingsList, context);
package/tsconfig.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "files": [],
4
+ "include": [],
5
+ "references": [
6
+ {
7
+ "path": "../engine"
8
+ },
9
+ {
10
+ "path": "./tsconfig.lib.json"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "rootDir": "src",
5
+ "outDir": "dist",
6
+ "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
7
+ "emitDeclarationOnly": true,
8
+ "module": "esnext",
9
+ "moduleResolution": "node",
10
+ "forceConsistentCasingInFileNames": true,
11
+ "types": ["node"]
12
+ },
13
+ "include": ["src/**/*.ts"],
14
+ "references": [
15
+ {
16
+ "path": "../engine/tsconfig.lib.json"
17
+ }
18
+ ]
19
+ }
package/index.cjs.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./src/index";
package/index.cjs.js DELETED
@@ -1,108 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var engine = require('@digipair/engine');
6
-
7
- function _extends() {
8
- _extends = Object.assign || function assign(target) {
9
- for(var i = 1; i < arguments.length; i++){
10
- var source = arguments[i];
11
- for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
12
- }
13
- return target;
14
- };
15
- return _extends.apply(this, arguments);
16
- }
17
-
18
- let CanvasService = class CanvasService {
19
- base64ToImage(base64) {
20
- const data = base64.replace(/^data:image\/\w+;base64,/, '');
21
- const buffer = Buffer.from(data, 'base64');
22
- return buffer;
23
- }
24
- async canvas(params, _pinsSettingsList, context) {
25
- const { width, height, execute } = params;
26
- const { createCanvas } = typeof window === 'undefined' ? require('canvas') : {
27
- createCanvas: (width, height)=>{
28
- const canvas = document.createElement('canvas');
29
- canvas.width = width;
30
- canvas.height = height;
31
- return canvas;
32
- }
33
- };
34
- const instance = createCanvas(width, height);
35
- const ctx = instance.getContext('2d');
36
- await engine.executePinsList(execute, _extends({}, context, {
37
- canvas: {
38
- ctx
39
- }
40
- }), `${context.__PATH__}.execute`);
41
- return instance.toDataURL();
42
- }
43
- async loadImage(params, _pinsSettingsList, _context) {
44
- const { image } = params;
45
- const result = typeof window === 'undefined' ? require('canvas') : {
46
- loadImage: (src)=>new Promise((resolve, reject)=>{
47
- const img = new Image();
48
- img.onload = ()=>resolve(img);
49
- img.onerror = (err)=>reject(err);
50
- img.src = src;
51
- })
52
- };
53
- return result.loadImage(typeof window === 'undefined' ? this.base64ToImage(image) : image);
54
- }
55
- async drawImage(params, _pinsSettingsList, context) {
56
- const { image, x, y, width, height } = params;
57
- context.canvas.ctx.drawImage(image, x, y, width, height);
58
- }
59
- async strokeRect(params, _pinsSettingsList, context) {
60
- const { x, y, width, height } = params;
61
- context.canvas.ctx.strokeRect(x, y, width, height);
62
- }
63
- async fillRect(params, _pinsSettingsList, context) {
64
- const { x, y, width, height } = params;
65
- context.canvas.ctx.fillRect(x, y, width, height);
66
- }
67
- async fillText(params, _pinsSettingsList, context) {
68
- const { text, x, y } = params;
69
- context.canvas.ctx.fillText(text, x, y);
70
- }
71
- async strokeStyle(params, _pinsSettingsList, context) {
72
- const { style } = params;
73
- context.canvas.ctx.strokeStyle = style;
74
- }
75
- async fillStyle(params, _pinsSettingsList, context) {
76
- const { style } = params;
77
- context.canvas.ctx.fillStyle = style;
78
- }
79
- async lineWidth(params, _pinsSettingsList, context) {
80
- const { style } = params;
81
- context.canvas.ctx.lineWidth = style;
82
- }
83
- async measureText(params, _pinsSettingsList, context) {
84
- const { text } = params;
85
- context.canvas.ctx.measureText(text);
86
- }
87
- };
88
- const canvas = (params, pinsSettingsList, context)=>new CanvasService().canvas(params, pinsSettingsList, context);
89
- const loadImage = (params, pinsSettingsList, context)=>new CanvasService().loadImage(params, pinsSettingsList, context);
90
- const drawImage = (params, pinsSettingsList, context)=>new CanvasService().drawImage(params, pinsSettingsList, context);
91
- const strokeRect = (params, pinsSettingsList, context)=>new CanvasService().strokeRect(params, pinsSettingsList, context);
92
- const fillRect = (params, pinsSettingsList, context)=>new CanvasService().fillRect(params, pinsSettingsList, context);
93
- const fillText = (params, pinsSettingsList, context)=>new CanvasService().fillText(params, pinsSettingsList, context);
94
- const strokeStyle = (params, pinsSettingsList, context)=>new CanvasService().strokeStyle(params, pinsSettingsList, context);
95
- const fillStyle = (params, pinsSettingsList, context)=>new CanvasService().fillStyle(params, pinsSettingsList, context);
96
- const lineWidth = (params, pinsSettingsList, context)=>new CanvasService().lineWidth(params, pinsSettingsList, context);
97
- const measureText = (params, pinsSettingsList, context)=>new CanvasService().measureText(params, pinsSettingsList, context);
98
-
99
- exports.canvas = canvas;
100
- exports.drawImage = drawImage;
101
- exports.fillRect = fillRect;
102
- exports.fillStyle = fillStyle;
103
- exports.fillText = fillText;
104
- exports.lineWidth = lineWidth;
105
- exports.loadImage = loadImage;
106
- exports.measureText = measureText;
107
- exports.strokeRect = strokeRect;
108
- exports.strokeStyle = strokeStyle;