diff --git a/package-lock.json b/package-lock.json index 5eb0ff1..dc3072f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,15 @@ { - "name": "react-dictate-button-root", + "name": "@compulim/root", "version": "4.0.2-0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "react-dictate-button-root", + "name": "@compulim/root", "version": "4.0.2-0", "license": "MIT", "workspaces": [ + "packages/test-harness", "packages/mocked-speech-recognition", "packages/react-dictate-button", "packages/pages", @@ -72,7 +73,6 @@ "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.0", @@ -2008,6 +2008,22 @@ "dev": true, "license": "MIT" }, + "node_modules/@compulim/integration-test": { + "resolved": "packages/integration-test", + "link": true + }, + "node_modules/@compulim/mocked-speech-recognition": { + "resolved": "packages/mocked-speech-recognition", + "link": true + }, + "node_modules/@compulim/pages": { + "resolved": "packages/pages", + "link": true + }, + "node_modules/@compulim/test-harness": { + "resolved": "packages/test-harness", + "link": true + }, "node_modules/@emnapi/core": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", @@ -3915,7 +3931,6 @@ "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -4176,7 +4191,6 @@ "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -4188,7 +4202,6 @@ "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "@types/react": "^18.0.0" } @@ -4252,7 +4265,6 @@ "integrity": "sha512-hM5faZwg7aVNa819m/5r7D0h0c9yC4DUlWAOvHAtISdFTc8xB86VmX5Xqabrama3wIPJ/q9RbGS1worb6JfnMg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.50.1", "@typescript-eslint/types": "8.50.1", @@ -4752,7 +4764,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5293,7 +5304,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -6037,7 +6047,6 @@ "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -6088,7 +6097,6 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -6280,7 +6288,6 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -9818,7 +9825,6 @@ "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -10054,7 +10060,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -10066,24 +10071,11 @@ "resolved": "packages/react-dictate-button", "link": true }, - "node_modules/react-dictate-button-integration-test": { - "resolved": "packages/integration-test", - "link": true - }, - "node_modules/react-dictate-button-mocked-speech-recognition": { - "resolved": "packages/mocked-speech-recognition", - "link": true - }, - "node_modules/react-dictate-button-pages": { - "resolved": "packages/pages", - "link": true - }, "node_modules/react-dom": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -11198,7 +11190,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -11985,7 +11976,6 @@ "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -12078,7 +12068,6 @@ "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "napi-postinstall": "^0.3.0" }, @@ -12422,7 +12411,6 @@ "integrity": "sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==", "dev": true, "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } @@ -12441,16 +12429,17 @@ } }, "packages/integration-test": { - "name": "react-dictate-button-integration-test", + "name": "@compulim/integration-test", "version": "0.0.0-0", "license": "MIT", "dependencies": { - "react-dictate-button": "^0.0.0-0" + "react-dictate-button": "0.0.0-0" }, "devDependencies": { "@babel/core": "^7.25.8", "@babel/preset-env": "^7.25.8", "@babel/preset-react": "^7.25.7", + "@compulim/test-harness": "0.0.0-0", "@happy-dom/jest-environment": "^16.7.2", "@testing-library/dom": "^10.4.0", "@testing-library/react": "^16.2.0", @@ -12466,7 +12455,7 @@ } }, "packages/mocked-speech-recognition": { - "name": "react-dictate-button-mocked-speech-recognition", + "name": "@compulim/mocked-speech-recognition", "version": "0.0.0-0", "license": "MIT", "dependencies": { @@ -12520,12 +12509,12 @@ } }, "packages/pages": { - "name": "react-dictate-button-pages", + "name": "@compulim/pages", "version": "0.0.0-0", "license": "MIT", "dependencies": { "react": "^18.3.1", - "react-dictate-button": "^0.0.0-0", + "react-dictate-button": "0.0.0-0", "react-dom": "^18.3.1", "use-ref-from": "^0.1.0" }, @@ -12563,6 +12552,8 @@ "@babel/preset-env": "^7.25.8", "@babel/preset-react": "^7.25.7", "@babel/preset-typescript": "^7.25.7", + "@compulim/mocked-speech-recognition": "0.0.0-0", + "@compulim/test-harness": "0.0.0-0", "@fluentui/react": "^8.121.4", "@happy-dom/jest-environment": "^16.7.3", "@testing-library/dom": "^10.4.0", @@ -12582,7 +12573,6 @@ "prettier": "^3.3.3", "publint": "^0.2.11", "react": "^18.3.1", - "react-dictate-button-mocked-speech-recognition": "^0.0.0-0", "react-dom": "^18.3.1", "react-test-renderer": "^18.3.1", "react-wrap-with": "^0.1.0", @@ -12606,6 +12596,12 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "packages/test-harness": { + "name": "@compulim/test-harness", + "version": "0.0.0-0", + "license": "MIT", + "devDependencies": {} } }, "dependencies": { @@ -12641,7 +12637,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dev": true, - "peer": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.0", @@ -13877,6 +13872,97 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@compulim/integration-test": { + "version": "file:packages/integration-test", + "requires": { + "@babel/core": "^7.25.8", + "@babel/preset-env": "^7.25.8", + "@babel/preset-react": "^7.25.7", + "@compulim/test-harness": "0.0.0-0", + "@happy-dom/jest-environment": "^16.7.2", + "@testing-library/dom": "^10.4.0", + "@testing-library/react": "^16.2.0", + "@tsconfig/strictest": "^2.0.5", + "@types/dom-speech-recognition": "^0.0.4", + "@types/jest": "^29.5.13", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.2", + "jest": "^29.7.0", + "react": "^18.3.1", + "react-dictate-button": "0.0.0-0", + "react-dom": "^18.3.1", + "typescript": "^5.6.3" + } + }, + "@compulim/mocked-speech-recognition": { + "version": "file:packages/mocked-speech-recognition", + "requires": { + "@babel/preset-env": "^7.25.8", + "@babel/preset-react": "^7.25.7", + "@babel/preset-typescript": "^7.25.7", + "@babel/runtime-corejs3": "^7.28.4", + "@fluentui/react": "^8.121.4", + "@testing-library/dom": "^10.4.0", + "@testing-library/react": "^16.0.1", + "@tsconfig/recommended": "^1.0.7", + "@tsconfig/strictest": "^2.0.5", + "@types/dom-speech-recognition": "^0.0.4", + "@types/jest": "^29.5.13", + "@types/lodash": "^4.17.10", + "@types/node": "^22.7.5", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.2", + "core-js": "^3.47.0", + "esbuild": "^0.24.0", + "event-target-properties": "^0.1.1", + "jest": "^29.7.0", + "prettier": "^3.3.3", + "publint": "^0.2.11", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-test-renderer": "^18.3.1", + "react-wrap-with": "^0.1.0", + "tsup": "^8.3.0", + "type-fest": "^4.32.0", + "typescript": "^5.6.3", + "use-ref-from": "^0.1.0" + }, + "dependencies": { + "type-fest": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.33.0.tgz", + "integrity": "sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g==", + "dev": true + } + } + }, + "@compulim/pages": { + "version": "file:packages/pages", + "requires": { + "@tsconfig/strictest": "^2.0.5", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.1", + "esbuild": "^0.24.0", + "react": "^18.3.1", + "react-dictate-button": "0.0.0-0", + "react-dom": "^18.3.1", + "react-wrap-with": "^0.1.0", + "type-fest": "^4.26.1", + "typescript": "^5.6.3", + "use-ref-from": "^0.1.0" + }, + "dependencies": { + "type-fest": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.33.0.tgz", + "integrity": "sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g==", + "dev": true + } + } + }, + "@compulim/test-harness": { + "version": "file:packages/test-harness" + }, "@emnapi/core": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", @@ -15058,7 +15144,6 @@ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", "dev": true, - "peer": true, "requires": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -15266,7 +15351,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", "dev": true, - "peer": true, "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -15277,7 +15361,6 @@ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", "dev": true, - "peer": true, "requires": {} }, "@types/stack-utils": { @@ -15322,7 +15405,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.1.tgz", "integrity": "sha512-hM5faZwg7aVNa819m/5r7D0h0c9yC4DUlWAOvHAtISdFTc8xB86VmX5Xqabrama3wIPJ/q9RbGS1worb6JfnMg==", "dev": true, - "peer": true, "requires": { "@typescript-eslint/scope-manager": "8.50.1", "@typescript-eslint/types": "8.50.1", @@ -15585,8 +15667,7 @@ "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "peer": true + "dev": true }, "acorn-jsx": { "version": "5.3.2", @@ -15956,7 +16037,6 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "dev": true, - "peer": true, "requires": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -16466,7 +16546,6 @@ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", "dev": true, - "peer": true, "requires": { "@esbuild/aix-ppc64": "0.24.2", "@esbuild/android-arm": "0.24.2", @@ -16506,7 +16585,6 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, - "peer": true, "requires": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -16693,7 +16771,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, - "peer": true, "requires": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -19031,8 +19108,7 @@ "version": "3.7.4", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", - "dev": true, - "peer": true + "dev": true }, "prettier-linter-helpers": { "version": "1.0.0", @@ -19185,7 +19261,6 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "peer": true, "requires": { "loose-envify": "^1.1.0" } @@ -19197,6 +19272,8 @@ "@babel/preset-react": "^7.25.7", "@babel/preset-typescript": "^7.25.7", "@babel/runtime-corejs3": "^7.28.4", + "@compulim/mocked-speech-recognition": "0.0.0-0", + "@compulim/test-harness": "0.0.0-0", "@fluentui/react": "^8.121.4", "@happy-dom/jest-environment": "^16.7.3", "@testing-library/dom": "^10.4.0", @@ -19216,7 +19293,6 @@ "prettier": "^3.3.3", "publint": "^0.2.11", "react": "^18.3.1", - "react-dictate-button-mocked-speech-recognition": "^0.0.0-0", "react-dom": "^18.3.1", "react-test-renderer": "^18.3.1", "react-wrap-with": "^0.1.0", @@ -19234,98 +19310,10 @@ } } }, - "react-dictate-button-integration-test": { - "version": "file:packages/integration-test", - "requires": { - "@babel/core": "^7.25.8", - "@babel/preset-env": "^7.25.8", - "@babel/preset-react": "^7.25.7", - "@happy-dom/jest-environment": "^16.7.2", - "@testing-library/dom": "^10.4.0", - "@testing-library/react": "^16.2.0", - "@tsconfig/strictest": "^2.0.5", - "@types/dom-speech-recognition": "^0.0.4", - "@types/jest": "^29.5.13", - "@types/react": "^18.3.11", - "@types/react-dom": "^18.3.2", - "jest": "^29.7.0", - "react": "^18.3.1", - "react-dictate-button": "^0.0.0-0", - "react-dom": "^18.3.1", - "typescript": "^5.6.3" - } - }, - "react-dictate-button-mocked-speech-recognition": { - "version": "file:packages/mocked-speech-recognition", - "requires": { - "@babel/preset-env": "^7.25.8", - "@babel/preset-react": "^7.25.7", - "@babel/preset-typescript": "^7.25.7", - "@babel/runtime-corejs3": "^7.28.4", - "@fluentui/react": "^8.121.4", - "@testing-library/dom": "^10.4.0", - "@testing-library/react": "^16.0.1", - "@tsconfig/recommended": "^1.0.7", - "@tsconfig/strictest": "^2.0.5", - "@types/dom-speech-recognition": "^0.0.4", - "@types/jest": "^29.5.13", - "@types/lodash": "^4.17.10", - "@types/node": "^22.7.5", - "@types/react": "^18.3.11", - "@types/react-dom": "^18.3.2", - "core-js": "^3.47.0", - "esbuild": "^0.24.0", - "event-target-properties": "^0.1.1", - "jest": "^29.7.0", - "prettier": "^3.3.3", - "publint": "^0.2.11", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-test-renderer": "^18.3.1", - "react-wrap-with": "^0.1.0", - "tsup": "^8.3.0", - "type-fest": "^4.32.0", - "typescript": "^5.6.3", - "use-ref-from": "^0.1.0" - }, - "dependencies": { - "type-fest": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.33.0.tgz", - "integrity": "sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g==", - "dev": true - } - } - }, - "react-dictate-button-pages": { - "version": "file:packages/pages", - "requires": { - "@tsconfig/strictest": "^2.0.5", - "@types/react": "^18.3.11", - "@types/react-dom": "^18.3.1", - "esbuild": "^0.24.0", - "react": "^18.3.1", - "react-dictate-button": "^0.0.0-0", - "react-dom": "^18.3.1", - "react-wrap-with": "^0.1.0", - "type-fest": "^4.26.1", - "typescript": "^5.6.3", - "use-ref-from": "^0.1.0" - }, - "dependencies": { - "type-fest": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.33.0.tgz", - "integrity": "sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g==", - "dev": true - } - } - }, "react-dom": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "peer": true, "requires": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -20105,8 +20093,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "peer": true + "dev": true } } }, @@ -20505,8 +20492,7 @@ "version": "5.7.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", - "dev": true, - "peer": true + "dev": true }, "ufo": { "version": "1.6.1", @@ -20565,7 +20551,6 @@ "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", "dev": true, - "peer": true, "requires": { "@unrs/resolver-binding-android-arm-eabi": "1.11.1", "@unrs/resolver-binding-android-arm64": "1.11.1", @@ -20799,8 +20784,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/zod/-/zod-4.2.1.tgz", "integrity": "sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==", - "dev": true, - "peer": true + "dev": true }, "zod-validation-error": { "version": "4.0.2", diff --git a/package.json b/package.json index edb9a49..1980b85 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,12 @@ { - "name": "react-dictate-button-root", + "name": "@compulim/root", "version": "4.0.2-0", "description": "", "private": true, "author": "William Wong (https://github.com/compulim)", "license": "MIT", "workspaces": [ + "packages/test-harness", "packages/mocked-speech-recognition", "packages/react-dictate-button", "packages/pages", diff --git a/packages/integration-test/package.json b/packages/integration-test/package.json index 0fc66de..08004ea 100644 --- a/packages/integration-test/package.json +++ b/packages/integration-test/package.json @@ -1,5 +1,5 @@ { - "name": "react-dictate-button-integration-test", + "name": "@compulim/integration-test", "version": "0.0.0-0", "description": "", "private": true, @@ -18,9 +18,6 @@ }, "author": "William Wong (https://github.com/compulim)", "license": "MIT", - "localPeerDependencies": { - "react-dictate-button": "^0.0.0-0" - }, "switch:react-16": { "devDependencies": { "@testing-library/react": "^12", @@ -49,16 +46,30 @@ } }, "pinDependencies": { - "@testing-library/react": "^16", - "@types/react": "^18", - "@types/react-dom": "^18", - "react": "^18", - "react-dom": "^18" + "@testing-library/react": [ + "^16" + ], + "@types/react": [ + "^18" + ], + "@types/react-dom": [ + "^18" + ], + "react": [ + "^18" + ], + "react-dom": [ + "^18" + ] + }, + "localPeerDependencies": { + "react-dictate-button": "0.0.0-0" }, "devDependencies": { "@babel/core": "^7.25.8", "@babel/preset-env": "^7.25.8", "@babel/preset-react": "^7.25.7", + "@compulim/test-harness": "0.0.0-0", "@happy-dom/jest-environment": "^16.7.2", "@testing-library/dom": "^10.4.0", "@testing-library/react": "^16.2.0", @@ -73,6 +84,6 @@ "typescript": "^5.6.3" }, "dependencies": { - "react-dictate-button": "^0.0.0-0" + "react-dictate-button": "0.0.0-0" } } diff --git a/packages/mocked-speech-recognition/package.json b/packages/mocked-speech-recognition/package.json index e0e29a2..800e104 100644 --- a/packages/mocked-speech-recognition/package.json +++ b/packages/mocked-speech-recognition/package.json @@ -1,5 +1,5 @@ { - "name": "react-dictate-button-mocked-speech-recognition", + "name": "@compulim/mocked-speech-recognition", "private": true, "version": "0.0.0-0", "files": [ @@ -77,12 +77,24 @@ } }, "pinDependencies": { - "@testing-library/react": "^16", - "@types/react": "^18", - "@types/react-dom": "^18", - "react": "^18", - "react-dom": "^18", - "react-test-renderer": "^18" + "@testing-library/react": [ + "^16" + ], + "@types/react": [ + "^18" + ], + "@types/react-dom": [ + "^18" + ], + "react": [ + "^18" + ], + "react-dom": [ + "^18" + ], + "react-test-renderer": [ + "^18" + ] }, "devDependencies": { "@babel/preset-env": "^7.25.8", diff --git a/packages/pages/package.json b/packages/pages/package.json index e6e3a22..f630ba3 100644 --- a/packages/pages/package.json +++ b/packages/pages/package.json @@ -1,5 +1,5 @@ { - "name": "react-dictate-button-pages", + "name": "@compulim/pages", "version": "0.0.0-0", "description": "", "private": true, @@ -48,13 +48,21 @@ } }, "pinDependencies": { - "@types/react": "^18", - "@types/react-dom": "^18", - "react": "^18", - "react-dom": "^18" + "@types/react": [ + "^18" + ], + "@types/react-dom": [ + "^18" + ], + "react": [ + "^18" + ], + "react-dom": [ + "^18" + ] }, "localPeerDependencies": { - "react-dictate-button": "^0.0.0-0" + "react-dictate-button": "0.0.0-0" }, "devDependencies": { "@tsconfig/strictest": "^2.0.5", @@ -67,7 +75,7 @@ }, "dependencies": { "react": "^18.3.1", - "react-dictate-button": "^0.0.0-0", + "react-dictate-button": "0.0.0-0", "react-dom": "^18.3.1", "use-ref-from": "^0.1.0" } diff --git a/packages/react-dictate-button/package.json b/packages/react-dictate-button/package.json index c4d2bed..3d6b63a 100644 --- a/packages/react-dictate-button/package.json +++ b/packages/react-dictate-button/package.json @@ -101,17 +101,37 @@ } }, "pinDependencies": { - "@testing-library/react": "^16", - "@types/react": "^18", - "@types/react-dom": "^18", - "react": "^18", - "react-dom": "^18", - "react-test-renderer": "^18" + "@testing-library/react": [ + "^16" + ], + "@types/react": [ + "^18" + ], + "@types/react-dom": [ + "^18" + ], + "react": [ + "^18" + ], + "react-dom": [ + "^18" + ], + "react-test-renderer": [ + "^18" + ] + }, + "localPeerDependencies": { + "@compulim/mocked-speech-recognition": "0.0.0-0" + }, + "peerDependencies": { + "react": ">=16.8.6" }, "devDependencies": { "@babel/preset-env": "^7.25.8", "@babel/preset-react": "^7.25.7", "@babel/preset-typescript": "^7.25.7", + "@compulim/mocked-speech-recognition": "0.0.0-0", + "@compulim/test-harness": "0.0.0-0", "@fluentui/react": "^8.121.4", "@happy-dom/jest-environment": "^16.7.3", "@testing-library/dom": "^10.4.0", @@ -131,7 +151,6 @@ "prettier": "^3.3.3", "publint": "^0.2.11", "react": "^18.3.1", - "react-dictate-button-mocked-speech-recognition": "^0.0.0-0", "react-dom": "^18.3.1", "react-test-renderer": "^18.3.1", "react-wrap-with": "^0.1.0", @@ -139,9 +158,6 @@ "type-fest": "^4.32.0", "typescript": "^5.6.3" }, - "peerDependencies": { - "react": ">=16.8.6" - }, "dependencies": { "@babel/runtime-corejs3": "^7.28.4", "use-ref-from": "^0.1.0" diff --git a/packages/react-dictate-button/src/internal.ts b/packages/react-dictate-button/src/internal.ts index d3fabc9..0c799c1 100644 --- a/packages/react-dictate-button/src/internal.ts +++ b/packages/react-dictate-button/src/internal.ts @@ -1 +1 @@ -export * from 'react-dictate-button-mocked-speech-recognition'; +export * from '@compulim/mocked-speech-recognition'; diff --git a/packages/test-harness/package.json b/packages/test-harness/package.json new file mode 100644 index 0000000..d6ed124 --- /dev/null +++ b/packages/test-harness/package.json @@ -0,0 +1,11 @@ +{ + "name": "@compulim/test-harness", + "version": "0.0.0-0", + "description": "", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "William Wong (https://github.com/compulim)", + "license": "MIT", + "devDependencies": {} +}