Overview
This issue collects work items for publishing the scratchpad TS server plugin (documentdb-scratchpad-ts-plugin) as a standalone npm package with its own release pipeline.
Currently, the plugin is bundled inline by webpack and requires a runtime node_modules stub created during extension activation (see ClustersExtension.ts). This workaround exists because:
- VS Code's
typescriptServerPlugins resolves plugins via node_modules/<name> under the extension root
@vscode/vsce hardcodes ignore: 'node_modules/**' in its file collection, so the stub cannot be shipped inside the VSIX
- The official VS Code docs recommend TS plugins be published as separate npm packages listed in
dependencies
Steps (to be expanded)
References
Overview
This issue collects work items for publishing the scratchpad TS server plugin (
documentdb-scratchpad-ts-plugin) as a standalone npm package with its own release pipeline.Currently, the plugin is bundled inline by webpack and requires a runtime
node_modulesstub created during extension activation (seeClustersExtension.ts). This workaround exists because:typescriptServerPluginsresolves plugins vianode_modules/<name>under the extension root@vscode/vscehardcodesignore: 'node_modules/**'in its file collection, so the stub cannot be shipped inside the VSIXdependenciesSteps (to be expanded)
documentdb-scratchpad-ts-pluginas an npm package (private or scoped)dependencyinpackage.jsonClustersExtension.ts(marked withTODO)--no-dependenciesflag fromvsce package(or usepackagedDependenciesto include only the plugin)scratchpadTsPluginand the CopyWebpackPlugin stub entry (if still present)References
src/documentdb/ClustersExtension.ts(search forTODO: Remove this runtime stub)src/documentdb/scratchpad/tsPlugin/index.ts