Skip to content

Commit 82b45dd

Browse files
committed
[ci skip] Migrate to pnpm monorepo
1 parent 592af95 commit 82b45dd

File tree

108 files changed

+19923
-3139
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+19923
-3139
lines changed

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ insert_final_newline = false
2222
# with a line that has trailing white space. Many of our recorded
2323
# tests use strings with trailing white space to represent the final
2424
# document contents. For example
25-
# packages/cursorless-vscode-e2e/suite/fixtures/recorded/languages/ruby/changeCondition.yml
25+
# packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/ruby/changeCondition.yml
2626
trim_trailing_whitespace = false
2727

2828
[Makefile]

.eslintrc.json

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,9 @@
1010
"ecmaVersion": 6,
1111
"sourceType": "module"
1212
},
13-
"plugins": ["@typescript-eslint", "unused-imports"],
13+
"plugins": ["@typescript-eslint", "unused-imports", "import"],
1414
"rules": {
15-
// Note: you must disable the base rule as it can report incorrect errors
16-
"no-restricted-imports": "off",
17-
"@typescript-eslint/no-restricted-imports": "error",
15+
"import/no-relative-packages": "error",
1816
"@typescript-eslint/consistent-type-assertions": [
1917
"error",
2018
{
@@ -51,5 +49,31 @@
5149
"no-throw-literal": "warn",
5250
"semi": "off"
5351
},
54-
"ignorePatterns": ["**/vendor/**/*.ts", "**/vendor/**/*.js"]
52+
"overrides": [
53+
{
54+
"files": ["*.tsx"],
55+
"rules": {
56+
"@typescript-eslint/naming-convention": [
57+
"warn",
58+
{
59+
"selector": ["function"],
60+
"format": ["PascalCase", "camelCase"]
61+
}
62+
]
63+
}
64+
}
65+
],
66+
"settings": {
67+
"import/parsers": {
68+
"@typescript-eslint/parser": [".ts", ".tsx"]
69+
},
70+
"import/resolver": {
71+
"typescript": {
72+
"alwaysTryTypes": true, // always try to resolve types under `<root>@types` directory even it doesn't contain any source code, like `@types/unist`
73+
74+
"project": ["tsconfig.json", "packages/*/tsconfig.json"]
75+
}
76+
}
77+
},
78+
"ignorePatterns": ["**/vendor/**/*.ts", "**/vendor/**/*.js", "**/out/**"]
5579
}

.github/workflows/deploy.yaml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,24 @@ jobs:
1515
- uses: actions/checkout@v3
1616
with:
1717
fetch-depth: 0
18+
- uses: pnpm/action-setup@v2
19+
with:
20+
version: 7
1821
- uses: actions/setup-node@v3
1922
with:
2023
node-version: 16
21-
cache: yarn
22-
- run: yarn install --frozen-lockfile
23-
- run: yarn run compile
24-
- run: yarn run prepare-for-extension-publish
25-
- name: Initialize cursorless-nx subdir
26-
run: npm ci
27-
working-directory: cursorless-nx
28-
- name: Build cheatsheet html
29-
run: npx nx build cheatsheet-local
30-
working-directory: cursorless-nx
24+
cache: pnpm
25+
- run: pnpm install
26+
- run: pnpm compile
27+
- run: pnpm build
28+
env:
29+
CURSORLESS_DEPLOY: true
3130
- name: Publish to Open VSX Registry
32-
uses: HaaLeo/publish-vscode-extension@v1
3331
id: publishToOpenVSX
32+
uses: HaaLeo/publish-vscode-extension@v1
3433
with:
3534
pat: ${{ secrets.OPEN_VSX_TOKEN }}
35+
packagePath: packages/cursorless-vscode/dist
3636
- name: Publish to Visual Studio Marketplace
3737
uses: HaaLeo/publish-vscode-extension@v1
3838
with:

.github/workflows/test-docs.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- uses: actions/checkout@v3
12+
- uses: pnpm/action-setup@v2
13+
with:
14+
version: 7
1215
- uses: actions/setup-node@v3
1316
with:
1417
node-version: 16
15-
cache: yarn
16-
- run: bash -x scripts/docs-build.sh
18+
cache: pnpm
19+
- run: bash -x scripts/build-and-assemble-website.sh

.github/workflows/test.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,28 @@ jobs:
2525
VSCODE_LOGS_DIR: ${{ github.workspace }}/artifacts/logs
2626
steps:
2727
- uses: actions/checkout@v3
28+
- uses: pnpm/action-setup@v2
29+
with:
30+
version: 7
2831
- uses: actions/setup-node@v3
2932
with:
3033
node-version: 16
31-
cache: yarn
34+
cache: pnpm
3235
- run: mkdir -p "${{ env.VSCODE_CRASH_DIR }}" "${{ env.VSCODE_LOGS_DIR }}"
3336
shell: bash
34-
- run: yarn install --frozen-lockfile
35-
- run: xvfb-run -a yarn test
37+
- run: pnpm --color install
38+
- run: pnpm --color compile
39+
- run: pnpm --color --filter '!cursorless-org' --filter '!cursorless-org-*' build
40+
- run: xvfb-run -a pnpm --color test
3641
if: runner.os == 'Linux'
37-
- run: yarn test
42+
- run: pnpm --color test
3843
if: runner.os != 'Linux'
44+
- name: Test create vsix
45+
uses: HaaLeo/publish-vscode-extension@v1
46+
with:
47+
pat: none
48+
packagePath: packages/cursorless-vscode/dist
49+
dryRun: true
3950
- name: Archive logs
4051
uses: actions/upload-artifact@v3
4152
with:

.gitignore

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,37 @@ node_modules
88

99
# TypeDoc output
1010
docs/contributing/api/
11+
12+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
13+
14+
# dependencies
15+
.pnp
16+
.pnp.js
17+
18+
# testing
19+
coverage
20+
21+
# next.js
22+
.next/
23+
24+
# production
25+
build
26+
27+
# misc
28+
*.pem
29+
30+
# debug
31+
npm-debug.log*
32+
yarn-debug.log*
33+
yarn-error.log*
34+
.pnpm-debug.log*
35+
36+
# local env files
37+
.env*.local
38+
39+
# vercel
40+
.vercel
41+
42+
# typescript
43+
*.tsbuildinfo
44+
next-env.d.ts

.meta-updater/main.mjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { updater } from "../packages/meta-updater/out/index.js";
2+
3+
export default updater;

.npmrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
save-workspace-protocol=rolling
2+
save-prefix=""

.pre-commit-config.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,16 @@ repos:
2424
- id: detect-private-key
2525
- id: end-of-file-fixer
2626
exclude_types: [svg]
27+
exclude: patches/.*\.patch
2728
- id: fix-byte-order-marker
2829
- id: mixed-line-ending
2930
- id: trailing-whitespace
3031
# Trailing whitespace breaks yaml files if you use a multiline string
3132
# with a line that has trailing white space. Many of our recorded
3233
# tests use strings with trailing white space to represent the final
3334
# document contents. For example
34-
# packages/cursorless-vscode-e2e/suite/fixtures/recorded/languages/ruby/changeCondition.yml
35-
exclude: ^packages/cursorless-vscode-e2e/suite/fixtures/recorded/.*/[^/]*\.yml$
35+
# packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/ruby/changeCondition.yml
36+
exclude: ^packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/.*/[^/]*\.yml$
3637
- repo: https://github.com/pre-commit/mirrors-prettier
3738
rev: "v2.7.1"
3839
hooks:

.prettierignore

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
**/vendor
22

33
# We use our own format for our recorded yaml tests to keep them compact
4-
/packages/cursorless-vscode-e2e/suite/fixtures/recorded/**/*.yml
4+
/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/**/*.yml
55

6-
# This was swizzled from a Docusaurus core class
7-
docs-site/src/theme/SearchBar/index.js
6+
pnpm-lock.yaml

.syncpackrc.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"dependencyTypes": [
3+
"dev",
4+
"overrides",
5+
"peer",
6+
"pnpmOverrides",
7+
"prod",
8+
"resolutions"
9+
]
10+
}

.vscode/launch.json

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
"type": "extensionHost",
1111
"request": "launch",
1212
"args": [
13-
"--extensionDevelopmentPath=${workspaceFolder}",
13+
"--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
1414
"--profile=cursorlessDevelopment"
1515
],
16-
"outFiles": ["${workspaceFolder}/out/**/*.js"],
16+
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
1717
"preLaunchTask": "${defaultBuildTask}",
1818
"resolveSourceMapLocations": [
1919
"${workspaceFolder}/**",
@@ -29,10 +29,10 @@
2929
},
3030
"args": [
3131
"--profile=cursorlessDevelopment",
32-
"--extensionDevelopmentPath=${workspaceFolder}",
33-
"--extensionTestsPath=${workspaceFolder}/out/test-harness/runners/all"
32+
"--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
33+
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/runners/all"
3434
],
35-
"outFiles": ["${workspaceFolder}/out/**/*.js"],
35+
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
3636
"preLaunchTask": "${defaultBuildTask}",
3737
"resolveSourceMapLocations": [
3838
"${workspaceFolder}/**",
@@ -43,11 +43,11 @@
4343
"type": "node",
4444
"request": "launch",
4545
"name": "Unit tests only",
46-
"program": "${workspaceFolder}/out/test-harness/scripts/runUnitTestsOnly",
46+
"program": "${workspaceFolder}/packages/test-harness/out/scripts/runUnitTestsOnly",
4747
"env": {
4848
"CURSORLESS_TEST": "true"
4949
},
50-
"outFiles": ["${workspaceFolder}/out/**/*.js"],
50+
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
5151
"preLaunchTask": "${defaultBuildTask}",
5252
"resolveSourceMapLocations": [
5353
"${workspaceFolder}/**",
@@ -64,10 +64,10 @@
6464
},
6565
"args": [
6666
"--profile=cursorlessDevelopment",
67-
"--extensionDevelopmentPath=${workspaceFolder}",
68-
"--extensionTestsPath=${workspaceFolder}/out/test-harness/runners/all"
67+
"--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
68+
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/runners/all"
6969
],
70-
"outFiles": ["${workspaceFolder}/out/**/*.js"],
70+
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
7171
"preLaunchTask": "${defaultBuildTask}",
7272
"resolveSourceMapLocations": [
7373
"${workspaceFolder}/**",
@@ -84,10 +84,10 @@
8484
},
8585
"args": [
8686
"--profile=cursorlessDevelopment",
87-
"--extensionDevelopmentPath=${workspaceFolder}",
88-
"--extensionTestsPath=${workspaceFolder}/out/test-harness/runners/all"
87+
"--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
88+
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/runners/all"
8989
],
90-
"outFiles": ["${workspaceFolder}/out/**/*.js"],
90+
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
9191
"preLaunchTask": "${defaultBuildTask}",
9292
"resolveSourceMapLocations": [
9393
"${workspaceFolder}/**",
@@ -105,10 +105,10 @@
105105
},
106106
"args": [
107107
"--profile=cursorlessDevelopment",
108-
"--extensionDevelopmentPath=${workspaceFolder}",
109-
"--extensionTestsPath=${workspaceFolder}/out/test-harness/runners/all"
108+
"--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
109+
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/runners/all"
110110
],
111-
"outFiles": ["${workspaceFolder}/out/**/*.js"],
111+
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
112112
"preLaunchTask": "${defaultBuildTask}",
113113
"resolveSourceMapLocations": [
114114
"${workspaceFolder}/**",
@@ -119,9 +119,9 @@
119119
"name": "Docusaurus Start (Debug)",
120120
"type": "node",
121121
"request": "launch",
122-
"cwd": "${workspaceFolder}/docs-site",
123-
"runtimeExecutable": "npm",
124-
"runtimeArgs": ["run", "start"],
122+
"cwd": "${workspaceFolder}/packages/cursorless-org-docs",
123+
"runtimeExecutable": "pnpm",
124+
"runtimeArgs": ["start"],
125125
"resolveSourceMapLocations": [
126126
"${workspaceFolder}/**",
127127
"!**/node_modules/**"
@@ -131,9 +131,9 @@
131131
"name": "Docusaurus Build (Debug)",
132132
"type": "node",
133133
"request": "launch",
134-
"cwd": "${workspaceFolder}/docs-site",
135-
"runtimeExecutable": "npm",
136-
"runtimeArgs": ["run", "build"],
134+
"cwd": "${workspaceFolder}/packages/cursorless-org-docs",
135+
"runtimeExecutable": "pnpm",
136+
"runtimeArgs": ["build"],
137137
"resolveSourceMapLocations": [
138138
"${workspaceFolder}/**",
139139
"!**/node_modules/**"
@@ -143,13 +143,8 @@
143143
"name": "cursorless.org client-side",
144144
"type": "chrome",
145145
"request": "launch",
146-
"url": "http://localhost:4200",
147-
"webRoot": "${workspaceFolder}/cursorless-nx",
148-
"sourceMapPathOverrides": {
149-
"webpack://_N_E/*": "${webRoot}/apps/cursorless-org/*",
150-
"webpack://_N_E/libs/*": "${webRoot}/libs/*",
151-
"webpack://_N_E/node_modules/*": "${webRoot}/node_modules/*"
152-
}
146+
"url": "http://localhost:3000",
147+
"webRoot": "${workspaceFolder}/packages/cursorless-org"
153148
}
154149
]
155150
}

.vscode/settings.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,8 @@
2020
"pojo",
2121
"subword"
2222
],
23-
"files.eol": "\n"
23+
"task.allowAutomaticTasks": "on",
24+
"files.eol": "\n",
25+
"typescript.enablePromptUseWorkspaceTsdk": true,
26+
"typescript.tsdk": "node_modules/typescript/lib"
2427
}

.vscode/tasks.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"tasks": [
66
{
77
"label": "Build",
8-
"dependsOn": ["ESBuild", "TSBuild"],
8+
"dependsOn": ["Populate dist"],
99
"group": {
1010
"kind": "build",
1111
"isDefault": true
@@ -15,6 +15,8 @@
1515
"label": "ESBuild",
1616
"type": "npm",
1717
"script": "esbuild",
18+
"dependsOn": ["TSBuild"],
19+
"path": "packages/cursorless-vscode",
1820
"isBackground": true,
1921
"presentation": {
2022
"reveal": "never"
@@ -32,6 +34,18 @@
3234
},
3335
"group": "build"
3436
},
37+
{
38+
"label": "Populate dist",
39+
"type": "npm",
40+
"script": "populate-dist",
41+
"dependsOn": ["ESBuild"],
42+
"path": "packages/cursorless-vscode",
43+
"isBackground": true,
44+
"presentation": {
45+
"reveal": "never"
46+
},
47+
"group": "build"
48+
},
3549
{
3650
"type": "npm",
3751
"script": "watch",

0 commit comments

Comments
 (0)