From d14bf23fa3f9d7cfcb8b03aa05be854d4c4b3469 Mon Sep 17 00:00:00 2001 From: Brooklyn Nicholson Date: Mon, 13 Jul 2026 17:28:32 -0400 Subject: [PATCH] =?UTF-8?q?chore(desktop):=20build=20config=20=E2=80=94=20?= =?UTF-8?q?keep=20tsc=20emit=20out=20of=20src,=20gitignore=20artifacts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 11 +++++++++++ apps/desktop/eslint.config.mjs | 19 +++++++++++++++++++ apps/desktop/tsconfig.json | 1 + apps/desktop/vite.config.ts | 1 + 4 files changed, 32 insertions(+) diff --git a/.gitignore b/.gitignore index 4d25e5425b6b..6f1b3be6d92b 100644 --- a/.gitignore +++ b/.gitignore @@ -68,6 +68,17 @@ environments/benchmarks/evals/ hermes_cli/web_dist/ apps/desktop/build/ apps/desktop/dist/ + +# tsc-emitted artifacts (a stray `tsc -b` compiles into src/, and vite then +# resolves the stale .js OVER the .tsx — never track these) +apps/desktop/src/**/*.js +apps/desktop/src/**/*.js.map +apps/desktop/src/**/*.d.ts +!apps/desktop/src/global.d.ts +!apps/desktop/src/vite-env.d.ts +apps/shared/src/**/*.js +apps/shared/src/**/*.js.map +apps/shared/src/**/*.d.ts apps/desktop/release/ *.tsbuildinfo diff --git a/apps/desktop/eslint.config.mjs b/apps/desktop/eslint.config.mjs index 2a5a925e8ff9..6cec34d289a6 100644 --- a/apps/desktop/eslint.config.mjs +++ b/apps/desktop/eslint.config.mjs @@ -104,6 +104,25 @@ export default [ react: { version: 'detect' } } }, + { + // THE PLUGIN FENCE: plugins speak @hermes/plugin-sdk (+ react), never `@/…` + // internals — the same isolation a runtime-fetched published plugin gets, + // enforced on bundled ones so the SDK surface stays honest and sufficient. + files: ['src/plugins/**/*.{ts,tsx}'], + rules: { + 'no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['@/*', '../*', '@hermes/shared'], + message: 'Plugins import only @hermes/plugin-sdk (and react). Missing something? Add it to the SDK.' + } + ] + } + ] + } + }, { files: ['**/*.js', '**/*.cjs', '**/*.mjs'], ignores: ['**/node_modules/**', '**/dist/**'], diff --git a/apps/desktop/tsconfig.json b/apps/desktop/tsconfig.json index 41a4b25a8b96..43ed639c3c99 100644 --- a/apps/desktop/tsconfig.json +++ b/apps/desktop/tsconfig.json @@ -17,6 +17,7 @@ "jsx": "react-jsx", "paths": { "@/*": ["./src/*"], + "@hermes/plugin-sdk": ["./src/sdk/index.ts"], "@hermes/shared": ["../shared/src/index.ts"] } }, diff --git a/apps/desktop/vite.config.ts b/apps/desktop/vite.config.ts index 7b5e162cd28c..4110d53aeebe 100644 --- a/apps/desktop/vite.config.ts +++ b/apps/desktop/vite.config.ts @@ -58,6 +58,7 @@ export default defineConfig({ resolve: { alias: { '@': path.resolve(__dirname, './src'), + '@hermes/plugin-sdk': path.resolve(__dirname, './src/sdk/index.ts'), '@hermes/shared': path.resolve(__dirname, '../shared/src'), react: path.resolve(__dirname, '../../node_modules/react'), 'react-dom': path.resolve(__dirname, '../../node_modules/react-dom'),