diff --git a/package.json b/package.json index fe30956eb3..bfc73057a2 100644 --- a/package.json +++ b/package.json @@ -2,15 +2,13 @@ "name": "cursorless", "version": "0.1.0", "description": "The root of the Cursorless monorepo", - "main": "index.js", - "type": "module", - "keywords": [], - "author": "", "license": "MIT", + "packageManager": "pnpm@9.12.1", + "type": "module", + "main": "index.js", "engines": { "node": ">=20.16.0" }, - "packageManager": "pnpm@9.12.1", "scripts": { "build": "pnpm -r build", "clean": "pnpm -r clean", @@ -39,15 +37,15 @@ "@typescript-eslint/parser": "8.33.1", "cross-env": "7.0.3", "esbuild": "0.25.5", + "eslint": "9.28.0", "eslint-config-prettier": "10.1.5", "eslint-import-resolver-typescript": "4.4.2", "eslint-plugin-import": "2.31.0", "eslint-plugin-mocha": "10.5.0", "eslint-plugin-unicorn": "56.0.1", "eslint-plugin-unused-imports": "4.1.4", - "eslint": "9.28.0", - "prettier-plugin-tailwindcss": "0.6.12", "prettier": "3.3.3", + "prettier-plugin-tailwindcss": "0.6.12", "syncpack": "13.0.4", "typescript": "5.8.3" }, diff --git a/packages/cheatsheet-local/package.json b/packages/cheatsheet-local/package.json index 65663096cf..559cae9ad2 100644 --- a/packages/cheatsheet-local/package.json +++ b/packages/cheatsheet-local/package.json @@ -1,9 +1,24 @@ { "name": "@cursorless/cheatsheet-local", "version": "0.1.0", - "private": true, "description": "Thin wrapper around the cheatsheet for showing local cheatsheet", + "license": "MIT", + "private": true, + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, + "postcss": { + "plugins": { + "tailwindcss": {}, + "autoprefixer": {} + } + }, "scripts": { "compile": "tsc --build", "watch": "tsc --build --watch", @@ -13,16 +28,6 @@ "build:prod": "pnpm webpack --mode=production --node-env=production", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, "dependencies": { "@cursorless/cheatsheet": "workspace:*", "react": "19.1.0", @@ -52,12 +57,5 @@ "webpack": "5.99.9", "webpack-cli": "6.0.1", "webpack-dev-server": "5.2.2" - }, - "postcss": { - "plugins": { - "tailwindcss": {}, - "autoprefixer": {} - } - }, - "type": "module" + } } diff --git a/packages/cheatsheet/package.json b/packages/cheatsheet/package.json index 5106d2cdfa..6a228cb4e6 100644 --- a/packages/cheatsheet/package.json +++ b/packages/cheatsheet/package.json @@ -2,20 +2,9 @@ "name": "@cursorless/cheatsheet", "version": "0.1.0", "description": "Core cheatsheet react component", - "main": "./out/index.js", - "scripts": { - "test": "jest", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", - "compile:tsc": "tsc --build", - "compile:esbuild": "esbuild ./src/index.ts --sourcemap --format=esm --bundle --packages=external --outfile=./out/index.js", - "compile": "pnpm compile:tsc && pnpm compile:esbuild", - "watch:tsc": "pnpm compile:tsc --watch", - "watch:esbuild": "pnpm compile:esbuild --watch", - "watch": "pnpm run --filter @cursorless/cheatsheet --parallel '/^watch:.*/'" - }, - "keywords": [], - "author": "", "license": "MIT", + "type": "module", + "main": "./out/index.js", "types": "./out/index.d.ts", "exports": { ".": { @@ -26,6 +15,16 @@ "sideEffects": [ "*.css" ], + "scripts": { + "test": "jest", + "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "compile:tsc": "tsc --build", + "compile:esbuild": "esbuild ./src/index.ts --sourcemap --format=esm --bundle --packages=external --outfile=./out/index.js", + "compile": "pnpm compile:tsc && pnpm compile:esbuild", + "watch:tsc": "pnpm compile:tsc --watch", + "watch:esbuild": "pnpm compile:esbuild --watch", + "watch": "pnpm run --filter @cursorless/cheatsheet --parallel '/^watch:.*/'" + }, "dependencies": { "@fortawesome/fontawesome-svg-core": "6.7.2", "@fortawesome/free-solid-svg-icons": "6.7.2", @@ -46,6 +45,5 @@ "jest-environment-jsdom": "30.0.0-beta.3", "ts-jest": "29.3.4", "typescript": "5.8.3" - }, - "type": "module" + } } diff --git a/packages/common/package.json b/packages/common/package.json index 661375f6ca..338de0ed5f 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -2,7 +2,19 @@ "name": "@cursorless/common", "version": "0.1.0", "description": "Common utilities for use anywhere in our codebase", + "license": "MIT", + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", + "bin": { + "my-ts-node": "./scripts/my-ts-node.js" + }, + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", "compile:tsc": "tsc --build", @@ -12,9 +24,6 @@ "watch:esbuild": "pnpm compile:esbuild --watch", "watch": "pnpm run --filter @cursorless/common --parallel '/^watch:.*/'" }, - "keywords": [], - "author": "", - "license": "MIT", "dependencies": { "lodash-es": "4.17.21", "vscode-uri": "3.1.0" @@ -27,16 +36,5 @@ "fast-check": "4.1.1", "js-yaml": "4.1.0", "mocha": "11.5.0" - }, - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, - "bin": { - "my-ts-node": "./scripts/my-ts-node.js" - }, - "type": "module" + } } diff --git a/packages/cursorless-cheatsheet/package.json b/packages/cursorless-cheatsheet/package.json index c14ff5fa59..221d022876 100644 --- a/packages/cursorless-cheatsheet/package.json +++ b/packages/cursorless-cheatsheet/package.json @@ -2,9 +2,16 @@ "name": "@cursorless/cursorless-cheatsheet", "version": "0.1.0", "description": "Cursorless cheatsheet implementation", + "license": "MIT", "type": "module", "main": "./out/index.js", "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "compile:tsc": "tsc --build", "compile:esbuild": "esbuild ./src/index.ts --sourcemap --format=esm --bundle --packages=external --outfile=./out/index.js", @@ -14,15 +21,6 @@ "watch": "pnpm run --filter @cursorless/cursorless-cheatsheet --parallel '/^watch:.*/'", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/node-common": "workspace:*", diff --git a/packages/cursorless-engine/package.json b/packages/cursorless-engine/package.json index bc297517d4..4319848ccf 100644 --- a/packages/cursorless-engine/package.json +++ b/packages/cursorless-engine/package.json @@ -2,7 +2,16 @@ "name": "@cursorless/cursorless-engine", "version": "0.1.0", "description": "The core Cursorless engine, which is responsible for parsing and executing commands, allocating hats, etc", + "license": "MIT", + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", "compile:tsc": "tsc --build", @@ -17,9 +26,6 @@ "watch:esbuild": "pnpm compile:esbuild --watch", "watch": "pnpm run --filter @cursorless/cursorless-engine --parallel '/^watch:.*/'" }, - "keywords": [], - "author": "", - "license": "MIT", "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/node-common": "workspace:*", @@ -45,13 +51,5 @@ "js-yaml": "4.1.0", "mocha": "11.5.0", "sinon": "20.0.0" - }, - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, - "type": "module" + } } diff --git a/packages/cursorless-everywhere-talon-core/package.json b/packages/cursorless-everywhere-talon-core/package.json index cea4298e4e..128abfe194 100644 --- a/packages/cursorless-everywhere-talon-core/package.json +++ b/packages/cursorless-everywhere-talon-core/package.json @@ -2,9 +2,16 @@ "name": "@cursorless/cursorless-everywhere-talon-core", "version": "1.0.0", "description": "cursorless in talon js core packagee", - "main": "./out/index.js", "license": "MIT", "type": "module", + "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "compile:tsc": "tsc --build", "compile:esbuild": "esbuild ./src/index.ts --sourcemap --format=esm --bundle --packages=external --outfile=./out/index.js", @@ -22,12 +29,5 @@ }, "devDependencies": { "@types/lodash-es": "4.17.12" - }, - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } } } diff --git a/packages/cursorless-everywhere-talon-e2e/package.json b/packages/cursorless-everywhere-talon-e2e/package.json index e40c1f8049..234ef026e7 100644 --- a/packages/cursorless-everywhere-talon-e2e/package.json +++ b/packages/cursorless-everywhere-talon-e2e/package.json @@ -2,17 +2,15 @@ "name": "@cursorless/cursorless-everywhere-talon-e2e", "version": "1.0.0", "description": "Our Talon everywhere/JS end-to-end tests", - "main": "./out/index.js", + "license": "MIT", "private": true, + "type": "module", + "main": "./out/index.js", "scripts": { "compile": "tsc --build", "test:quickjs": "bash scripts/test-quickjs.sh", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "type": "module", "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/cursorless-everywhere-talon-core": "workspace:*", diff --git a/packages/cursorless-everywhere-talon/package.json b/packages/cursorless-everywhere-talon/package.json index 8a888e0d7e..32ce6ff01c 100644 --- a/packages/cursorless-everywhere-talon/package.json +++ b/packages/cursorless-everywhere-talon/package.json @@ -2,10 +2,10 @@ "name": "@cursorless/cursorless-everywhere-talon", "version": "1.0.0", "description": "cursorless in talon js", - "main": "./out/index.js", "license": "MIT", - "type": "module", "private": true, + "type": "module", + "main": "./out/index.js", "scripts": { "esbuild:dev": "pnpm run esbuild:base src/mainDevelopment.ts", "esbuild:prod": "pnpm run esbuild:base --minify src/mainProduction.ts", diff --git a/packages/cursorless-neovim-e2e/package.json b/packages/cursorless-neovim-e2e/package.json index f68ca91461..e8a8e6ead1 100644 --- a/packages/cursorless-neovim-e2e/package.json +++ b/packages/cursorless-neovim-e2e/package.json @@ -2,8 +2,11 @@ "name": "@cursorless/cursorless-neovim-e2e", "version": "1.0.0", "description": "Our neovim end-to-end tests", + "license": "MIT", "private": true, + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", "exports": { ".": { "cursorless:bundler": "./src/index.ts", @@ -15,16 +18,6 @@ "watch": "tsc --build --watch", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "devDependencies": { - "@types/chai": "5.2.2", - "@types/js-yaml": "4.0.9", - "@types/lodash": "4.17.17", - "@types/sinon": "17.0.4", - "neovim": "5.3.0" - }, "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/neovim-common": "workspace:*", @@ -32,6 +25,11 @@ "@cursorless/node-common": "workspace:*", "@cursorless/test-case-recorder": "workspace:*" }, - "types": "./out/index.d.ts", - "type": "module" + "devDependencies": { + "@types/chai": "5.2.2", + "@types/js-yaml": "4.0.9", + "@types/lodash": "4.17.17", + "@types/sinon": "17.0.4", + "neovim": "5.3.0" + } } diff --git a/packages/cursorless-neovim/package.json b/packages/cursorless-neovim/package.json index 6ed5c6894d..bd41b3a7b3 100644 --- a/packages/cursorless-neovim/package.json +++ b/packages/cursorless-neovim/package.json @@ -2,8 +2,16 @@ "name": "@cursorless/cursorless-neovim", "version": "1.0.0", "description": "cursorless in neovim", - "main": "./out/index.cjs", + "license": "MIT", "private": true, + "main": "./out/index.cjs", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.cjs" + } + }, "scripts": { "build": "pnpm run esbuild:prod && pnpm run populate-dist", "compile": "tsc --build", @@ -17,16 +25,6 @@ "watch": "pnpm run --filter @cursorless/cursorless-neovim --parallel '/^watch:.*/'", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.cjs" - } - }, "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/cursorless-engine": "workspace:*", diff --git a/packages/cursorless-org-docs/package.json b/packages/cursorless-org-docs/package.json index 13ae309d09..5c1c7bb41f 100644 --- a/packages/cursorless-org-docs/package.json +++ b/packages/cursorless-org-docs/package.json @@ -1,8 +1,29 @@ { "name": "@cursorless/cursorless-org-docs", - "description": "Cursorless documentation website", "version": "0.0.0", + "description": "Cursorless documentation website", + "license": "MIT", "private": true, + "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, "scripts": { "docusaurus": "docusaurus", "start": "docusaurus start", @@ -34,18 +55,6 @@ "react-dom": "19.1.0", "unist-util-visit": "5.0.0" }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, "devDependencies": { "@docusaurus/module-type-aliases": "3.8.0", "@docusaurus/types": "3.8.0", @@ -54,14 +63,5 @@ "@types/react": "19.1.6", "typescript": "5.8.3", "unified": "11.0.5" - }, - "license": "MIT", - "main": "./out/index.js", - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } } } diff --git a/packages/cursorless-org/package.json b/packages/cursorless-org/package.json index 43d9b27154..af3b10f650 100644 --- a/packages/cursorless-org/package.json +++ b/packages/cursorless-org/package.json @@ -2,7 +2,23 @@ "name": "@cursorless/cursorless-org", "version": "0.1.0", "description": "The cursorless.org website", + "license": "MIT", "private": true, + "type": "module", + "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, + "postcss": { + "plugins": { + "tailwindcss": {}, + "autoprefixer": {} + } + }, "scripts": { "dev": "next dev", "build": "next build", @@ -35,21 +51,5 @@ "postcss": "8.5.4", "tailwindcss": "3.4.14", "typescript": "5.8.3" - }, - "license": "MIT", - "main": "./out/index.js", - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, - "postcss": { - "plugins": { - "tailwindcss": {}, - "autoprefixer": {} - } - }, - "type": "module" + } } diff --git a/packages/cursorless-tutorial/package.json b/packages/cursorless-tutorial/package.json index d963739dcf..327c5f655e 100644 --- a/packages/cursorless-tutorial/package.json +++ b/packages/cursorless-tutorial/package.json @@ -2,7 +2,16 @@ "name": "@cursorless/cursorless-tutorial", "version": "1.0.0", "description": "Cursorless tutorial driver code", + "license": "MIT", + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "compile:tsc": "tsc --build", "compile:esbuild": "esbuild ./src/index.ts --sourcemap --format=esm --bundle --packages=external --outfile=./out/index.js", @@ -12,17 +21,6 @@ "watch": "pnpm run --filter @cursorless/cursorless-tutorial --parallel '/^watch:.*/'", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "type": "module", - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/cursorless-engine": "workspace:*", diff --git a/packages/cursorless-vscode-e2e/package.json b/packages/cursorless-vscode-e2e/package.json index bd0d987a5f..9e59ebe0d9 100644 --- a/packages/cursorless-vscode-e2e/package.json +++ b/packages/cursorless-vscode-e2e/package.json @@ -2,8 +2,11 @@ "name": "@cursorless/cursorless-vscode-e2e", "version": "0.1.0", "description": "Our VSCode end-to-end tests", + "license": "MIT", "private": true, + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", "exports": { ".": { "cursorless:bundler": "./src/index.ts", @@ -15,9 +18,6 @@ "watch": "tsc --build --watch", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/node-common": "workspace:*", @@ -36,7 +36,5 @@ "js-yaml": "4.1.0", "mocha": "11.5.0", "sinon": "20.0.0" - }, - "types": "./out/index.d.ts", - "type": "module" + } } diff --git a/packages/cursorless-vscode-tutorial-webview/package.json b/packages/cursorless-vscode-tutorial-webview/package.json index 489d23335c..81e94f2edd 100644 --- a/packages/cursorless-vscode-tutorial-webview/package.json +++ b/packages/cursorless-vscode-tutorial-webview/package.json @@ -2,7 +2,9 @@ "name": "@cursorless/cursorless-vscode-tutorial-webview", "version": "1.0.0", "description": "Contains the VSCode webview frontend for the Cursorless tutorial", + "license": "MIT", "private": true, + "type": "module", "main": "./out/index.js", "scripts": { "compile:tsc": "tsc --build", @@ -17,19 +19,15 @@ "build:dev": "pnpm build:esbuild && pnpm build:tailwind", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "type": "module", + "dependencies": { + "@cursorless/common": "workspace:*", + "react": "19.1.0", + "react-dom": "19.1.0" + }, "devDependencies": { "@types/react": "19.1.6", "@types/react-dom": "19.1.5", "@types/vscode-webview": "1.57.5", "tailwindcss": "3.4.14" - }, - "dependencies": { - "@cursorless/common": "workspace:*", - "react": "19.1.0", - "react-dom": "19.1.0" } } diff --git a/packages/cursorless-vscode/package.json b/packages/cursorless-vscode/package.json index 1777a9cdb9..8ee401fd28 100644 --- a/packages/cursorless-vscode/package.json +++ b/packages/cursorless-vscode/package.json @@ -1,33 +1,22 @@ { "name": "@cursorless/cursorless-vscode", "displayName": "Cursorless", - "description": "Structural voice coding at the speed of thought", - "private": true, - "icon": "images/logo.png", - "galleryBanner": { - "color": "#00001A", - "theme": "dark" - }, - "badges": [ - { - "url": "https://img.shields.io/badge/documentation-yes-brightgreen.svg?logo=data:image/svg%2bxml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJib29rIiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtYm9vayBmYS13LTE0IiByb2xlPSJpbWciCiAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNDQ4IDM2MFYyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNEg5NkM0MyAwIDAgNDMgMCA5NnYzMjBjMCA1MyA0MyA5NiA5NiA5NmgzMjhjMTMuMyAwIDI0LTEwLjcgMjQtMjR2LTE2YzAtNy41LTMuNS0xNC4zLTguOS0xOC43LTQuMi0xNS40LTQuMi01OS4zIDAtNzQuNyA1LjQtNC4zIDguOS0xMS4xIDguOS0xOC42ek0xMjggMTM0YzAtMy4zIDIuNy02IDYtNmgyMTJjMy4zIDAgNiAyLjcgNiA2djIwYzAgMy4zLTIuNyA2LTYgNkgxMzRjLTMuMyAwLTYtMi43LTYtNnYtMjB6bTAgNjRjMC0zLjMgMi43LTYgNi02aDIxMmMzLjMgMCA2IDIuNyA2IDZ2MjBjMCAzLjMtMi43IDYtNiA2SDEzNGMtMy4zIDAtNi0yLjctNi02di0yMHptMjUzLjQgMjUwSDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMiAwLTE3LjYgMTQuNC0zMiAzMi0zMmgyODUuNGMtMS45IDE3LjEtMS45IDQ2LjkgMCA2NHoiPjwvcGF0aD4KPC9zdmc+", - "href": "https://www.cursorless.org/docs/", - "description": "Documentation" - }, - { - "url": "https://img.shields.io/github/workflow/status/cursorless-dev/cursorless-vscode/Run%20Tests?logo=github&label=tests", - "href": "https://github.com/cursorless-dev/cursorless/actions/workflows/test.yml?query=branch%3Amain", - "description": "Tests" - } - ], "version": "1.0.0", - "publisher": "pokey", + "description": "Structural voice coding at the speed of thought", "license": "MIT", + "publisher": "pokey", + "homepage": "https://www.cursorless.org/", "repository": { "type": "git", "url": "https://github.com/cursorless-dev/cursorless.git" }, - "homepage": "https://www.cursorless.org/", + "funding": "https://github.com/sponsors/cursorless-dev", + "sponsor": { + "url": "https://github.com/sponsors/cursorless-dev" + }, + "private": true, + "type": "module", + "main": "./extension.cjs", "engines": { "vscode": "^1.82.0" }, @@ -41,13 +30,26 @@ "keywords": [ "Voice coding" ], - "extensionDependencies": [ - "pokey.parse-tree" - ], "activationEvents": [ "onLanguage" ], - "main": "./extension.cjs", + "icon": "images/logo.png", + "galleryBanner": { + "color": "#00001A", + "theme": "dark" + }, + "badges": [ + { + "url": "https://img.shields.io/badge/documentation-yes-brightgreen.svg?logo=data:image/svg%2bxml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJib29rIiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtYm9vayBmYS13LTE0IiByb2xlPSJpbWciCiAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNDQ4IDM2MFYyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNEg5NkM0MyAwIDAgNDMgMCA5NnYzMjBjMCA1MyA0MyA5NiA5NiA5NmgzMjhjMTMuMyAwIDI0LTEwLjcgMjQtMjR2LTE2YzAtNy41LTMuNS0xNC4zLTguOS0xOC43LTQuMi0xNS40LTQuMi01OS4zIDAtNzQuNyA1LjQtNC4zIDguOS0xMS4xIDguOS0xOC42ek0xMjggMTM0YzAtMy4zIDIuNy02IDYtNmgyMTJjMy4zIDAgNiAyLjcgNiA2djIwYzAgMy4zLTIuNyA2LTYgNkgxMzRjLTMuMyAwLTYtMi43LTYtNnYtMjB6bTAgNjRjMC0zLjMgMi43LTYgNi02aDIxMmMzLjMgMCA2IDIuNyA2IDZ2MjBjMCAzLjMtMi43IDYtNiA2SDEzNGMtMy4zIDAtNi0yLjctNi02di0yMHptMjUzLjQgMjUwSDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMiAwLTE3LjYgMTQuNC0zMiAzMi0zMmgyODUuNGMtMS45IDE3LjEtMS45IDQ2LjkgMCA2NHoiPjwvcGF0aD4KPC9zdmc+", + "href": "https://www.cursorless.org/docs/", + "description": "Documentation" + }, + { + "url": "https://img.shields.io/github/workflow/status/cursorless-dev/cursorless-vscode/Run%20Tests?logo=github&label=tests", + "href": "https://github.com/cursorless-dev/cursorless/actions/workflows/test.yml?query=branch%3Amain", + "description": "Tests" + } + ], "capabilities": { "untrustedWorkspaces": { "supported": true @@ -1233,10 +1235,6 @@ ] } }, - "sponsor": { - "url": "https://github.com/sponsors/cursorless-dev" - }, - "funding": "https://github.com/sponsors/cursorless-dev", "scripts": { "build": "pnpm run esbuild:prod && pnpm -F cheatsheet-local build:prod && pnpm -F cursorless-vscode-tutorial-webview build:prod && pnpm run populate-dist", "build:dev": "pnpm generate-grammar && pnpm run esbuild && pnpm -F cheatsheet-local build && pnpm -F cursorless-vscode-tutorial-webview build && pnpm run populate-dist", @@ -1262,22 +1260,9 @@ "watch": "tsc --build --watch", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "devDependencies": { - "@types/fs-extra": "11.0.4", - "@types/js-yaml": "4.0.9", - "@types/lodash-es": "4.17.12", - "@types/nearley": "2.11.5", - "@types/node": "20.17.50", - "@types/semver": "7.7.0", - "@types/sinon": "17.0.4", - "@types/tinycolor2": "1.4.6", - "@types/uuid": "10.0.0", - "@types/vscode": "1.82.0", - "esbuild": "0.25.5", - "fast-xml-parser": "5.2.3", - "fs-extra": "11.3.0", - "sinon": "20.0.0" - }, + "extensionDependencies": [ + "pokey.parse-tree" + ], "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/cursorless-cheatsheet": "workspace:*", @@ -1297,5 +1282,20 @@ "uuid": "11.1.0", "vscode-uri": "3.1.0" }, - "type": "module" + "devDependencies": { + "@types/fs-extra": "11.0.4", + "@types/js-yaml": "4.0.9", + "@types/lodash-es": "4.17.12", + "@types/nearley": "2.11.5", + "@types/node": "20.17.50", + "@types/semver": "7.7.0", + "@types/sinon": "17.0.4", + "@types/tinycolor2": "1.4.6", + "@types/uuid": "10.0.0", + "@types/vscode": "1.82.0", + "esbuild": "0.25.5", + "fast-xml-parser": "5.2.3", + "fs-extra": "11.3.0", + "sinon": "20.0.0" + } } diff --git a/packages/meta-updater/package.json b/packages/meta-updater/package.json index 5a148e42a0..cb9d3d6675 100644 --- a/packages/meta-updater/package.json +++ b/packages/meta-updater/package.json @@ -1,8 +1,18 @@ { "name": "@cursorless/meta-updater", - "description": "Cursorless configuration for meta-updater", "version": "0.1.0", + "description": "Cursorless configuration for meta-updater", + "license": "MIT", "private": true, + "type": "module", + "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "build": "esbuild ./src/index.ts --conditions=cursorless:bundler --bundle --outfile=dist/index.cjs --format=cjs --platform=node", "compile": "tsc --build", @@ -21,19 +31,9 @@ "path-exists": "5.0.0", "type-fest": "4.41.0" }, - "main": "./out/index.js", - "types": "./out/index.d.ts", - "license": "MIT", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, "devDependencies": { "@types/js-yaml": "4.0.9", "@types/lodash-es": "4.17.12", "esbuild": "0.25.5" - }, - "type": "module" + } } diff --git a/packages/meta-updater/src/updatePackageJson.ts b/packages/meta-updater/src/updatePackageJson.ts index 784fa25cb5..92fcef5f59 100644 --- a/packages/meta-updater/src/updatePackageJson.ts +++ b/packages/meta-updater/src/updatePackageJson.ts @@ -86,7 +86,9 @@ export async function updatePackageJson( ...extraFields, }; - return omitByDeep(output, isUndefined) as PackageJson; + removeEmptyFields(output); + + return omitByDeep(sortFields(output), isUndefined) as PackageJson; } interface PreCommitConfig { @@ -174,3 +176,74 @@ async function getTransformRecordedTestsScript(packageDir: string) { return transformRecordedTestsScript; } + +function removeEmptyFields(obj: Record) { + for (const keyword in obj) { + const value = obj[keyword]; + if (Array.isArray(value) && value.length === 0) { + delete obj[keyword]; + } + if (typeof value === "string" && value.length === 0) { + delete obj[keyword]; + } + } +} + +function sortFields(obj: Record): Record { + const orderedKeys = [ + "name", + "displayName", + "version", + "description", + "license", + "author", + "publisher", + "homepage", + "repository", + "funding", + "sponsor", + "private", + "packageManager", + "type", + "main", + "types", + "bin", + "exports", + "engines", + "extensionKind", + "categories", + "keywords", + "activationEvents", + "sideEffects", + "icon", + "galleryBanner", + "badges", + "capabilities", + "contributes", + "postcss", + "browserslist", + "scripts", + "extensionDependencies", + "dependencies", + "devDependencies", + "pnpm", + ]; + const sorted = Object.fromEntries( + Object.entries(obj).sort( + ([keyA], [keyB]) => orderedKeys.indexOf(keyA) - orderedKeys.indexOf(keyB), + ), + ); + + if (sorted.dependencies != null) { + sorted.dependencies = Object.fromEntries( + Object.entries(sorted.dependencies).sort(), + ); + } + if (sorted.devDependencies != null) { + sorted.devDependencies = Object.fromEntries( + Object.entries(sorted.devDependencies).sort(), + ); + } + + return sorted; +} diff --git a/packages/neovim-common/package.json b/packages/neovim-common/package.json index 77afaabee6..8447835366 100644 --- a/packages/neovim-common/package.json +++ b/packages/neovim-common/package.json @@ -2,8 +2,16 @@ "name": "@cursorless/neovim-common", "version": "1.0.0", "description": "Common utility functions usable anywhere that neovim api is available", - "main": "./out/index.js", + "license": "MIT", "type": "module", + "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "compile:tsc": "tsc --build", "compile:esbuild": "esbuild ./src/index.ts --sourcemap --format=esm --bundle --packages=external --outfile=./out/index.js", @@ -13,16 +21,6 @@ "watch": "pnpm run --filter @cursorless/neovim-common --parallel '/^watch:.*/'", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/neovim-registry": "workspace:*", diff --git a/packages/neovim-registry/package.json b/packages/neovim-registry/package.json index c4fb2de0bb..5d4ff78dd0 100644 --- a/packages/neovim-registry/package.json +++ b/packages/neovim-registry/package.json @@ -2,7 +2,16 @@ "name": "@cursorless/neovim-registry", "version": "1.0.0", "description": "Registry to share apis and commands between packages for neovim", + "license": "MIT", + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", "compile:tsc": "tsc --build", @@ -12,18 +21,7 @@ "watch:esbuild": "pnpm compile:esbuild --watch", "watch": "pnpm run --filter @cursorless/neovim-registry --parallel '/^watch:.*/'" }, - "keywords": [], - "author": "", - "license": "MIT", - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, "devDependencies": { "neovim": "5.3.0" - }, - "type": "module" + } } diff --git a/packages/node-common/package.json b/packages/node-common/package.json index 3c35d9ac44..74ed704edf 100644 --- a/packages/node-common/package.json +++ b/packages/node-common/package.json @@ -2,7 +2,16 @@ "name": "@cursorless/node-common", "version": "1.0.0", "description": "Package containing node utilities", + "license": "MIT", + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "compile:tsc": "tsc --build", "compile:esbuild": "esbuild ./src/index.ts --sourcemap --format=esm --bundle --packages=external --outfile=./out/index.js", @@ -12,17 +21,6 @@ "watch": "pnpm run --filter @cursorless/node-common --parallel '/^watch:.*/'", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "type": "module", - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, "dependencies": { "@cursorless/common": "workspace:*", "glob": "11.0.2", diff --git a/packages/sentence-parser/package.json b/packages/sentence-parser/package.json index a50229e764..7631fef708 100644 --- a/packages/sentence-parser/package.json +++ b/packages/sentence-parser/package.json @@ -2,7 +2,16 @@ "name": "@cursorless/sentence-parser", "version": "1.0.0", "description": "Parse text for sentence boundary detection", + "license": "MIT", + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "compile:tsc": "tsc --build", "compile:esbuild": "esbuild ./src/index.ts --sourcemap --format=esm --bundle --packages=external --outfile=./out/index.js", @@ -12,17 +21,6 @@ "watch": "pnpm run --filter @cursorless/sentence-parser --parallel '/^watch:.*/'", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "type": "module", - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, "devDependencies": { "@types/mocha": "10.0.10", "mocha": "11.5.0" diff --git a/packages/test-case-recorder/package.json b/packages/test-case-recorder/package.json index 1befc05fad..5a8ec97653 100644 --- a/packages/test-case-recorder/package.json +++ b/packages/test-case-recorder/package.json @@ -2,7 +2,16 @@ "name": "@cursorless/test-case-recorder", "version": "1.0.0", "description": "Package containing the test case recorder", + "license": "MIT", + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "compile:tsc": "tsc --build", "compile:esbuild": "esbuild ./src/index.ts --sourcemap --format=esm --bundle --packages=external --outfile=./out/index.js", @@ -12,17 +21,6 @@ "watch": "pnpm run --filter @cursorless/test-case-recorder --parallel '/^watch:.*/'", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" }, - "keywords": [], - "author": "", - "license": "MIT", - "type": "module", - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/cursorless-engine": "workspace:*", diff --git a/packages/test-harness/package.json b/packages/test-harness/package.json index 8af35759f6..95ab052a73 100644 --- a/packages/test-harness/package.json +++ b/packages/test-harness/package.json @@ -2,8 +2,16 @@ "name": "@cursorless/test-harness", "version": "0.1.0", "description": "Contains scripts and runners for testing Cursorless", + "license": "MIT", "private": true, + "type": "module", "main": "./out/runners/extensionTestsNeovim.cjs", + "types": "./out/runners/extensionTestsNeovim.d.ts", + "exports": { + ".": { + "default": "./out/runners/extensionTestsNeovim.cjs" + } + }, "scripts": { "test": "env CURSORLESS_MODE=test my-ts-node src/scripts/runVscodeTestsCI.ts", "test:neovim": "env CURSORLESS_MODE=test my-ts-node src/scripts/runNeovimTestsCI.ts", @@ -22,9 +30,6 @@ "generate-test-subset-file": "my-ts-node ./src/scripts/generateTestSubsetFile.ts --always-open", "generate-test-subset-file-strict": "my-ts-node ./src/scripts/generateTestSubsetFile.ts --fail-if-not-exists" }, - "keywords": [], - "author": "", - "license": "MIT", "dependencies": { "@cursorless/common": "workspace:*", "@cursorless/neovim-common": "workspace:*", @@ -41,12 +46,5 @@ "@vscode/test-electron": "2.5.2", "cross-spawn": "7.0.6", "mocha": "11.5.0" - }, - "types": "./out/runners/extensionTestsNeovim.d.ts", - "exports": { - ".": { - "default": "./out/runners/extensionTestsNeovim.cjs" - } - }, - "type": "module" + } } diff --git a/packages/vscode-common/package.json b/packages/vscode-common/package.json index 05c4adf20f..ea48dd65cc 100644 --- a/packages/vscode-common/package.json +++ b/packages/vscode-common/package.json @@ -2,7 +2,16 @@ "name": "@cursorless/vscode-common", "version": "0.1.0", "description": "Common utility functions usable anywhere that VSCode api is available", + "license": "MIT", + "type": "module", "main": "./out/index.js", + "types": "./out/index.d.ts", + "exports": { + ".": { + "cursorless:bundler": "./src/index.ts", + "default": "./out/index.js" + } + }, "scripts": { "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", "compile:tsc": "tsc --build", @@ -12,21 +21,10 @@ "watch:esbuild": "pnpm compile:esbuild --watch", "watch": "pnpm run --filter @cursorless/vscode-common --parallel '/^watch:.*/'" }, - "keywords": [], - "author": "", - "license": "MIT", "dependencies": { "@cursorless/common": "workspace:*" }, "devDependencies": { "@types/vscode": "1.82.0" - }, - "types": "./out/index.d.ts", - "exports": { - ".": { - "cursorless:bundler": "./src/index.ts", - "default": "./out/index.js" - } - }, - "type": "module" + } }