diff --git a/.changeset/tiny-cycles-arrive.md b/.changeset/tiny-cycles-arrive.md new file mode 100644 index 000000000..4a3b3f35a --- /dev/null +++ b/.changeset/tiny-cycles-arrive.md @@ -0,0 +1,11 @@ +--- +'@shopify/theme-language-server-common': minor +'@shopify/theme-check-common': minor +'theme-check-vscode': patch +--- + +Add public subpath entry points for path utilities and LSP request types + +`@shopify/theme-check-common/path` and `@shopify/theme-language-server-common/types` are now public entry points. They re-export the same members as the package barrel, but importing them pulls in only that module instead of the whole package. + +The VS Code extension uses them to keep the language server out of the client bundle: `browser/extension.js` is 2.1 MB instead of 6.7 MB, and `node/extension.js` is 1.4 MB instead of 6.5 MB. The barrel imports still work exactly as before. diff --git a/packages/theme-check-common/path.d.ts b/packages/theme-check-common/path.d.ts new file mode 100644 index 000000000..cc2f65808 --- /dev/null +++ b/packages/theme-check-common/path.d.ts @@ -0,0 +1 @@ +export * from './dist/path'; diff --git a/packages/theme-check-common/path.js b/packages/theme-check-common/path.js new file mode 100644 index 000000000..886a4fcad --- /dev/null +++ b/packages/theme-check-common/path.js @@ -0,0 +1 @@ +module.exports = require('./dist/path'); diff --git a/packages/theme-language-server-common/types.d.ts b/packages/theme-language-server-common/types.d.ts new file mode 100644 index 000000000..7236c51a0 --- /dev/null +++ b/packages/theme-language-server-common/types.d.ts @@ -0,0 +1 @@ +export * from './dist/types'; diff --git a/packages/theme-language-server-common/types.js b/packages/theme-language-server-common/types.js new file mode 100644 index 000000000..d94f7183d --- /dev/null +++ b/packages/theme-language-server-common/types.js @@ -0,0 +1 @@ +module.exports = require('./dist/types'); diff --git a/packages/vscode-extension/src/browser/extension.ts b/packages/vscode-extension/src/browser/extension.ts index 074c1447b..ef4479b96 100644 --- a/packages/vscode-extension/src/browser/extension.ts +++ b/packages/vscode-extension/src/browser/extension.ts @@ -1,5 +1,6 @@ /// -import { FileStat, FileTuple, path } from '@shopify/theme-check-common'; +import * as path from '@shopify/theme-check-common/path'; +import type { FileStat, FileTuple } from '@shopify/theme-check-common'; import { commands, ExtensionContext, languages, Uri, workspace } from 'vscode'; import { LanguageClient, diff --git a/packages/vscode-extension/src/common/ReferencesProvider.ts b/packages/vscode-extension/src/common/ReferencesProvider.ts index b08930701..76bbc9508 100644 --- a/packages/vscode-extension/src/common/ReferencesProvider.ts +++ b/packages/vscode-extension/src/common/ReferencesProvider.ts @@ -1,12 +1,11 @@ -import { path } from '@shopify/theme-check-common'; +import * as path from '@shopify/theme-check-common/path'; import { - AugmentedLocation, - AugmentedReference, ThemeGraphDependenciesRequest, ThemeGraphDidUpdateNotification, ThemeGraphReferenceRequest, ThemeGraphRootRequest, -} from '@shopify/theme-language-server-common'; +} from '@shopify/theme-language-server-common/types'; +import type { AugmentedLocation, AugmentedReference } from '@shopify/theme-language-server-common'; import { commands, Event, diff --git a/packages/vscode-extension/src/common/VsCodeFileSystem.ts b/packages/vscode-extension/src/common/VsCodeFileSystem.ts index 4a465e9d9..e55e73b1f 100644 --- a/packages/vscode-extension/src/common/VsCodeFileSystem.ts +++ b/packages/vscode-extension/src/common/VsCodeFileSystem.ts @@ -1,4 +1,4 @@ -import { AbstractFileSystem, FileTuple, FileStat } from '@shopify/theme-check-common'; +import type { AbstractFileSystem, FileStat, FileTuple } from '@shopify/theme-check-common'; import { Connection } from 'vscode-languageserver'; import { URI } from 'vscode-uri'; diff --git a/packages/vscode-extension/src/common/commands.ts b/packages/vscode-extension/src/common/commands.ts index 12c5f59e7..a2469544e 100644 --- a/packages/vscode-extension/src/common/commands.ts +++ b/packages/vscode-extension/src/common/commands.ts @@ -1,9 +1,9 @@ -import { path } from '@shopify/theme-check-common'; +import * as path from '@shopify/theme-check-common/path'; import { - AugmentedLocation, ThemeGraphDeadCodeRequest, ThemeGraphRootRequest, -} from '@shopify/theme-language-server-common'; +} from '@shopify/theme-language-server-common/types'; +import type { AugmentedLocation } from '@shopify/theme-language-server-common'; import { commands, Position, Range, Uri, window, workspace } from 'vscode'; import { BaseLanguageClient } from 'vscode-languageclient'; diff --git a/packages/vscode-extension/src/node/extension.ts b/packages/vscode-extension/src/node/extension.ts index 0bf9b99fc..bef002b6e 100644 --- a/packages/vscode-extension/src/node/extension.ts +++ b/packages/vscode-extension/src/node/extension.ts @@ -1,4 +1,5 @@ -import { FileStat, FileTuple, path as pathUtils } from '@shopify/theme-check-common'; +import * as pathUtils from '@shopify/theme-check-common/path'; +import type { FileStat, FileTuple } from '@shopify/theme-check-common'; import * as path from 'node:path'; import { commands, ExtensionContext, languages, Uri, workspace } from 'vscode'; import {