diff --git a/apps/website/astro.config.mjs b/apps/website/astro.config.mjs index e569575..addaf3d 100644 --- a/apps/website/astro.config.mjs +++ b/apps/website/astro.config.mjs @@ -47,8 +47,8 @@ export default defineConfig({ vite: { resolve: { alias: { - 'tempblot-language-service': new URL('../../packages/language-service/src/index.ts', import.meta.url).pathname, - 'tempblot-parser': new URL('../../packages/parser/src/index.ts', import.meta.url).pathname, + '@tempblot/language-service': new URL('../../packages/language-service/src/index.ts', import.meta.url).pathname, + '@tempblot/parser': new URL('../../packages/parser/src/index.ts', import.meta.url).pathname, }, }, }, diff --git a/apps/website/package.json b/apps/website/package.json index d9158fa..f3d82dc 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -13,6 +13,7 @@ "@astrojs/react": "^5.0.4", "@astrojs/starlight": "^0.39.2", "@monaco-editor/react": "^4.7.0", + "@tempblot/language-service": "workspace:*", "@volar/language-server": "~2.4.28", "astro": "^6.3.1", "monaco-editor": "^0.55.1", @@ -20,7 +21,6 @@ "react-dom": "^19.2.6", "sharp": "^0.34.5", "shiki": "^4.0.2", - "tempblot-language-service": "workspace:*", "tm-grammars": "^1.31.15", "tm-themes": "^1.12.2", "typescript": "^6.0.3", diff --git a/apps/website/src/workers/tempblotLanguageServer.worker.ts b/apps/website/src/workers/tempblotLanguageServer.worker.ts index ce238aa..cbdd846 100644 --- a/apps/website/src/workers/tempblotLanguageServer.worker.ts +++ b/apps/website/src/workers/tempblotLanguageServer.worker.ts @@ -9,7 +9,7 @@ import { import { createTempblotLanguagePlugin, createTempblotServicePlugin, -} from 'tempblot-language-service'; +} from '@tempblot/language-service'; import * as typescript from 'typescript'; import { create as createTypeScriptServicePlugins } from 'volar-service-typescript'; diff --git a/package.json b/package.json index 9523700..164bd5f 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "tempblot-root", + "name": "@tempblot/root", "private": true, "scripts": { "build": "nx affected --target=build", diff --git a/packages/compiler/eslint.config.mjs b/packages/compiler/eslint.config.mjs index f1ff2be..ed41856 100644 --- a/packages/compiler/eslint.config.mjs +++ b/packages/compiler/eslint.config.mjs @@ -1,4 +1,4 @@ -import tempblotPreset from 'tempblot-config/eslint-preset.js' +import tempblotPreset from '@tempblot/config/eslint-preset.js' export default [ ...tempblotPreset, diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 4df5a64..5b55ed9 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -23,14 +23,14 @@ }, "keywords": [], "dependencies": { - "tempblot-parser": "workspace:*", + "@tempblot/parser": "workspace:*", "typescript": "^6.0.3" }, "devDependencies": { "@arethetypeswrong/cli": "^0.18.2", + "@tempblot/config": "workspace:*", "@types/node": "^24.5.2", "publint": "^0.3.21", - "tempblot-config": "workspace:*", "unplugin-dts": "^1.0.0-beta.6", "vite": "^8.0.12", "vitest": "^4.1.6" diff --git a/packages/compiler/src/index.ts b/packages/compiler/src/index.ts index d441fcc..2c0c482 100644 --- a/packages/compiler/src/index.ts +++ b/packages/compiler/src/index.ts @@ -4,7 +4,7 @@ import { parseRoot, tokenizeRoot, transformOutputTemplate, -} from "tempblot-parser"; +} from "@tempblot/parser"; import { transformSetup } from "./setup-transformer.ts"; export { TempblotInstance, useParams } from "./instance.ts"; diff --git a/packages/compiler/tsconfig.app.json b/packages/compiler/tsconfig.app.json index 7ee67f9..f8e4107 100644 --- a/packages/compiler/tsconfig.app.json +++ b/packages/compiler/tsconfig.app.json @@ -1,4 +1,4 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "include": ["src"] } diff --git a/packages/compiler/tsconfig.config.json b/packages/compiler/tsconfig.config.json index e82a91d..da4f929 100644 --- a/packages/compiler/tsconfig.config.json +++ b/packages/compiler/tsconfig.config.json @@ -1,5 +1,5 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "compilerOptions": { "baseUrl": "." }, diff --git a/packages/compiler/tsconfig.spec.json b/packages/compiler/tsconfig.spec.json index 05fb679..fa0d498 100644 --- a/packages/compiler/tsconfig.spec.json +++ b/packages/compiler/tsconfig.spec.json @@ -1,5 +1,5 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "compilerOptions": { "baseUrl": "." }, diff --git a/packages/config/package.json b/packages/config/package.json index 4460374..7f73b07 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,5 +1,5 @@ { - "name": "tempblot-config", + "name": "@tempblot/config", "type": "module", "private": true, "version": "0.0.0", diff --git a/packages/language-server/eslint.config.mjs b/packages/language-server/eslint.config.mjs index 7eb16fa..cafdccd 100644 --- a/packages/language-server/eslint.config.mjs +++ b/packages/language-server/eslint.config.mjs @@ -1,4 +1,4 @@ -import tempblotPreset from 'tempblot-config/eslint-preset.js' +import tempblotPreset from '@tempblot/config/eslint-preset.js' export default [ ...tempblotPreset, diff --git a/packages/language-server/package.json b/packages/language-server/package.json index 9e2db68..0f48110 100644 --- a/packages/language-server/package.json +++ b/packages/language-server/package.json @@ -1,5 +1,5 @@ { - "name": "tempblot-language-server", + "name": "@tempblot/language-server", "version": "0.0.1", "type": "module", "description": "A language server for Tempblot", @@ -32,12 +32,12 @@ "test:eslint": "eslint ." }, "dependencies": { - "@volar/language-server": "~2.4.28", - "tempblot-language-service": "workspace:*" + "@tempblot/language-service": "workspace:*", + "@volar/language-server": "~2.4.28" }, "devDependencies": { + "@tempblot/config": "workspace:*", "@types/node": "^24.5.2", - "tempblot-config": "workspace:*", "typescript": "^6.0.3" } } diff --git a/packages/language-server/src/index.ts b/packages/language-server/src/index.ts index 72f016f..e50791f 100644 --- a/packages/language-server/src/index.ts +++ b/packages/language-server/src/index.ts @@ -5,7 +5,7 @@ import process from 'node:process'; import { createTempblotLanguagePlugin, createTempblotServicePlugin -} from 'tempblot-language-service'; +} from '@tempblot/language-service'; import { createConnection, createServer, diff --git a/packages/language-server/tsconfig.json b/packages/language-server/tsconfig.json index ca69544..2a77f1e 100644 --- a/packages/language-server/tsconfig.json +++ b/packages/language-server/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "compilerOptions": { "outDir": "lib", "rootDir": "src", diff --git a/packages/language-service/eslint.config.mjs b/packages/language-service/eslint.config.mjs index 7eb16fa..cafdccd 100644 --- a/packages/language-service/eslint.config.mjs +++ b/packages/language-service/eslint.config.mjs @@ -1,4 +1,4 @@ -import tempblotPreset from 'tempblot-config/eslint-preset.js' +import tempblotPreset from '@tempblot/config/eslint-preset.js' export default [ ...tempblotPreset, diff --git a/packages/language-service/package.json b/packages/language-service/package.json index ecc4c91..35343b1 100644 --- a/packages/language-service/package.json +++ b/packages/language-service/package.json @@ -1,5 +1,5 @@ { - "name": "tempblot-language-service", + "name": "@tempblot/language-service", "version": "0.0.1", "type": "module", "description": "Tempblot support for Volar", @@ -24,15 +24,15 @@ "test:eslint": "eslint ." }, "dependencies": { + "@tempblot/parser": "workspace:*", "@volar/language-core": "~2.4.23", "@volar/language-service": "~2.4.23", "@volar/typescript": "~2.4.23", - "tempblot-parser": "workspace:*", "vscode-uri": "^3.1.0" }, "devDependencies": { + "@tempblot/config": "workspace:*", "@types/node": "^24.5.2", - "tempblot-config": "workspace:*", "typescript": "^6.0.3" }, "sideEffects": false diff --git a/packages/language-service/src/language-plugin.ts b/packages/language-service/src/language-plugin.ts index e0364cc..e677a86 100644 --- a/packages/language-service/src/language-plugin.ts +++ b/packages/language-service/src/language-plugin.ts @@ -7,7 +7,7 @@ import { scanInterpolations, type InterpolationData, type ParsedRoot, -} from "tempblot-parser"; +} from "@tempblot/parser"; import type * as ts from "typescript"; import { URI } from "vscode-uri"; diff --git a/packages/language-service/tsconfig.json b/packages/language-service/tsconfig.json index a99a88d..0072f8d 100644 --- a/packages/language-service/tsconfig.json +++ b/packages/language-service/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "include": ["src"], "references": [{ "path": "../parser/tsconfig.build.json" }], diff --git a/packages/parser/eslint.config.mjs b/packages/parser/eslint.config.mjs index 7eb16fa..cafdccd 100644 --- a/packages/parser/eslint.config.mjs +++ b/packages/parser/eslint.config.mjs @@ -1,4 +1,4 @@ -import tempblotPreset from 'tempblot-config/eslint-preset.js' +import tempblotPreset from '@tempblot/config/eslint-preset.js' export default [ ...tempblotPreset, diff --git a/packages/parser/package.json b/packages/parser/package.json index 1e5e56c..e6f742a 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,5 +1,5 @@ { - "name": "tempblot-parser", + "name": "@tempblot/parser", "version": "0.0.1", "type": "module", "description": "Shared parser utilities for Tempblot", @@ -21,8 +21,8 @@ "test:eslint": "eslint ." }, "devDependencies": { + "@tempblot/config": "workspace:*", "@types/node": "^24.5.2", - "tempblot-config": "workspace:*", "typescript": "^6.0.3", "vitest": "^4.1.6" }, diff --git a/packages/parser/tsconfig.build.json b/packages/parser/tsconfig.build.json index 1223db8..2871ba9 100644 --- a/packages/parser/tsconfig.build.json +++ b/packages/parser/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "include": ["src"], "compilerOptions": { "declaration": true, diff --git a/packages/parser/tsconfig.spec.json b/packages/parser/tsconfig.spec.json index 10c6412..a578715 100644 --- a/packages/parser/tsconfig.spec.json +++ b/packages/parser/tsconfig.spec.json @@ -1,5 +1,5 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "include": ["src", "tests", "vite.config.ts"], "compilerOptions": { "noEmit": true, diff --git a/packages/prettier-plugin/eslint.config.mjs b/packages/prettier-plugin/eslint.config.mjs index 7eb16fa..cafdccd 100644 --- a/packages/prettier-plugin/eslint.config.mjs +++ b/packages/prettier-plugin/eslint.config.mjs @@ -1,4 +1,4 @@ -import tempblotPreset from 'tempblot-config/eslint-preset.js' +import tempblotPreset from '@tempblot/config/eslint-preset.js' export default [ ...tempblotPreset, diff --git a/packages/prettier-plugin/package.json b/packages/prettier-plugin/package.json index 7709185..c928259 100644 --- a/packages/prettier-plugin/package.json +++ b/packages/prettier-plugin/package.json @@ -20,13 +20,13 @@ "test:eslint": "eslint ." }, "dependencies": { - "tempblot-parser": "workspace:*" + "@tempblot/parser": "workspace:*" }, "devDependencies": { + "@tempblot/config": "workspace:*", "@types/node": "^24.5.2", "cli-testing-library": "^3.0.0", "prettier": "^3.6.2", - "tempblot-config": "workspace:*", "typescript": "^6.0.3", "vitest": "^4.1.6" }, diff --git a/packages/prettier-plugin/src/index.ts b/packages/prettier-plugin/src/index.ts index e583f7f..6d8ca4c 100644 --- a/packages/prettier-plugin/src/index.ts +++ b/packages/prettier-plugin/src/index.ts @@ -1,6 +1,6 @@ import * as prettier from 'prettier'; import type { AstPath, Options, Parser, ParserOptions, Plugin, Printer } from 'prettier'; -import { parseTempblotRoot, type ParsedRoot, type RootBlock } from 'tempblot-parser'; +import { parseTempblotRoot, type ParsedRoot, type RootBlock } from '@tempblot/parser'; interface TempblotAst { type: 'TempblotDocument'; diff --git a/packages/prettier-plugin/tsconfig.build.json b/packages/prettier-plugin/tsconfig.build.json index 0afa833..46719ed 100644 --- a/packages/prettier-plugin/tsconfig.build.json +++ b/packages/prettier-plugin/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "include": ["src"], "references": [{ "path": "../parser/tsconfig.build.json" }], "compilerOptions": { diff --git a/packages/prettier-plugin/tsconfig.spec.json b/packages/prettier-plugin/tsconfig.spec.json index 10c6412..a578715 100644 --- a/packages/prettier-plugin/tsconfig.spec.json +++ b/packages/prettier-plugin/tsconfig.spec.json @@ -1,5 +1,5 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "include": ["src", "tests", "vite.config.ts"], "compilerOptions": { "noEmit": true, diff --git a/packages/typescript-plugin/README.md b/packages/typescript-plugin/README.md index bfc2e0a..e57e962 100644 --- a/packages/typescript-plugin/README.md +++ b/packages/typescript-plugin/README.md @@ -12,7 +12,7 @@ A TypeScript plugin that provides language features for Tempblot (`.blot`) files ## Installation ```bash -npm install tempblot-typescript-plugin +npm install @tempblot/typescript-plugin ``` ## Configuration @@ -24,7 +24,7 @@ Add to your VS Code workspace settings (`.vscode/settings.json`): ```json { "typescript.preferences.plugins": [ - { "name": "tempblot-typescript-plugin" } + { "name": "@tempblot/typescript-plugin" } ] } ``` @@ -37,7 +37,7 @@ Add to your `tsconfig.json`: { "compilerOptions": { "plugins": [ - { "name": "tempblot-typescript-plugin" } + { "name": "@tempblot/typescript-plugin" } ] } } diff --git a/packages/typescript-plugin/eslint.config.mjs b/packages/typescript-plugin/eslint.config.mjs index 04e5a5d..04eafaf 100644 --- a/packages/typescript-plugin/eslint.config.mjs +++ b/packages/typescript-plugin/eslint.config.mjs @@ -1,4 +1,4 @@ -import tempblotPreset from 'tempblot-config/eslint-preset.js' +import tempblotPreset from '@tempblot/config/eslint-preset.js' export default [ ...tempblotPreset, diff --git a/packages/typescript-plugin/lib/index.cjs b/packages/typescript-plugin/lib/index.cjs index 171b9f3..dcd0ffb 100644 --- a/packages/typescript-plugin/lib/index.cjs +++ b/packages/typescript-plugin/lib/index.cjs @@ -3,7 +3,7 @@ const { createTempblotLanguagePlugin, createTempblotServicePlugin -} = require('tempblot-language-service') +} = require('@tempblot/language-service') const { createLanguageServicePlugin } = require('@volar/typescript/lib/quickstart/createLanguageServicePlugin.js') diff --git a/packages/typescript-plugin/package.json b/packages/typescript-plugin/package.json index 7813985..afd90f9 100644 --- a/packages/typescript-plugin/package.json +++ b/packages/typescript-plugin/package.json @@ -1,5 +1,5 @@ { - "name": "tempblot-typescript-plugin", + "name": "@tempblot/typescript-plugin", "version": "0.0.1", "type": "module", "description": "A TypeScript plugin to support language features in Tempblot files", @@ -24,12 +24,12 @@ "test:eslint": "eslint ." }, "dependencies": { - "@volar/typescript": "~2.4.23", - "tempblot-language-service": "workspace:*" + "@tempblot/language-service": "workspace:*", + "@volar/typescript": "~2.4.23" }, "devDependencies": { + "@tempblot/config": "workspace:*", "@types/node": "^24.5.2", - "tempblot-config": "workspace:*", "typescript": "^6.0.3" }, "sideEffects": false diff --git a/packages/typescript-plugin/tsconfig.json b/packages/typescript-plugin/tsconfig.json index 8f2588e..b919319 100644 --- a/packages/typescript-plugin/tsconfig.json +++ b/packages/typescript-plugin/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "include": ["lib"], "references": [{"path": "../language-service/tsconfig.json"}], "compilerOptions": { diff --git a/packages/vscode/eslint.config.mjs b/packages/vscode/eslint.config.mjs index f1ff2be..ed41856 100644 --- a/packages/vscode/eslint.config.mjs +++ b/packages/vscode/eslint.config.mjs @@ -1,4 +1,4 @@ -import tempblotPreset from 'tempblot-config/eslint-preset.js' +import tempblotPreset from '@tempblot/config/eslint-preset.js' export default [ ...tempblotPreset, diff --git a/packages/vscode/package.json b/packages/vscode/package.json index 5b74aba..585a360 100644 --- a/packages/vscode/package.json +++ b/packages/vscode/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "tempblot-vscode", + "name": "@tempblot/vscode", "version": "0.0.1", "categories": [ "Programming Languages" @@ -90,7 +90,7 @@ ], "typescriptServerPlugins": [ { - "name": "tempblot-typescript-plugin", + "name": "@tempblot/typescript-plugin", "enableForWorkspaceTypeScriptVersions": true, "configNamespace": "typescript", "languages": [ @@ -107,14 +107,14 @@ "test:eslint": "eslint ." }, "dependencies": { + "@tempblot/language-server": "workspace:*", "@volar/language-server": "~2.4.28", - "@volar/vscode": "~2.4.23", - "tempblot-language-server": "workspace:*" + "@volar/vscode": "~2.4.23" }, "devDependencies": { + "@tempblot/config": "workspace:*", "@types/vscode": "^1.104.0", "esbuild": "^0.28.0", - "tempblot-config": "workspace:*", "vsce": "^2.15.0" } } diff --git a/packages/vscode/scripts/build.mjs b/packages/vscode/scripts/build.mjs index 8c63a59..4f1acbb 100644 --- a/packages/vscode/scripts/build.mjs +++ b/packages/vscode/scripts/build.mjs @@ -12,8 +12,8 @@ await build({ bundle: true, entryPoints: { 'out/extension': require.resolve('../src/extension.ts'), - 'out/language-server': require.resolve('tempblot-language-server'), - 'node_modules/tempblot-typescript-plugin': require.resolve( + 'out/language-server': require.resolve('@tempblot/language-server'), + 'node_modules/@tempblot/typescript-plugin': require.resolve( '../../typescript-plugin/lib/index.cjs' ) }, diff --git a/packages/vscode/tsconfig.json b/packages/vscode/tsconfig.json index a4b3594..b04b1e2 100644 --- a/packages/vscode/tsconfig.json +++ b/packages/vscode/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "tempblot-config/tsconfig.json", + "extends": "@tempblot/config/tsconfig.json", "compilerOptions": { "outDir": "out", "rootDir": "src", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 86b0de0..31850d6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,6 +50,9 @@ importers: '@monaco-editor/react': specifier: ^4.7.0 version: 4.7.0(monaco-editor@0.55.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@tempblot/language-service': + specifier: workspace:* + version: link:../../packages/language-service '@volar/language-server': specifier: ~2.4.28 version: 2.4.28 @@ -71,9 +74,6 @@ importers: shiki: specifier: ^4.0.2 version: 4.0.2 - tempblot-language-service: - specifier: workspace:* - version: link:../../packages/language-service tm-grammars: specifier: ^1.31.15 version: 1.31.15 @@ -108,7 +108,7 @@ importers: packages/compiler: dependencies: - tempblot-parser: + '@tempblot/parser': specifier: workspace:* version: link:../parser typescript: @@ -118,15 +118,15 @@ importers: '@arethetypeswrong/cli': specifier: ^0.18.2 version: 0.18.2 + '@tempblot/config': + specifier: workspace:* + version: link:../config '@types/node': specifier: ^24.5.2 version: 24.12.4 publint: specifier: ^0.3.21 version: 0.3.21 - tempblot-config: - specifier: workspace:* - version: link:../config unplugin-dts: specifier: ^1.0.0-beta.6 version: 1.0.0(esbuild@0.28.0)(rolldown@1.0.0)(rollup@4.60.3)(typescript@6.0.3)(vite@8.0.12(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(yaml@2.9.0)) @@ -145,25 +145,28 @@ importers: packages/language-server: dependencies: + '@tempblot/language-service': + specifier: workspace:* + version: link:../language-service '@volar/language-server': specifier: ~2.4.28 version: 2.4.28 - tempblot-language-service: - specifier: workspace:* - version: link:../language-service devDependencies: + '@tempblot/config': + specifier: workspace:* + version: link:../config '@types/node': specifier: ^24.5.2 version: 24.12.4 - tempblot-config: - specifier: workspace:* - version: link:../config typescript: specifier: ^6.0.3 version: 6.0.3 packages/language-service: dependencies: + '@tempblot/parser': + specifier: workspace:* + version: link:../parser '@volar/language-core': specifier: ~2.4.23 version: 2.4.28 @@ -173,31 +176,28 @@ importers: '@volar/typescript': specifier: ~2.4.23 version: 2.4.28 - tempblot-parser: - specifier: workspace:* - version: link:../parser vscode-uri: specifier: ^3.1.0 version: 3.1.0 devDependencies: + '@tempblot/config': + specifier: workspace:* + version: link:../config '@types/node': specifier: ^24.5.2 version: 24.12.4 - tempblot-config: - specifier: workspace:* - version: link:../config typescript: specifier: ^6.0.3 version: 6.0.3 packages/parser: devDependencies: + '@tempblot/config': + specifier: workspace:* + version: link:../config '@types/node': specifier: ^24.5.2 version: 24.12.4 - tempblot-config: - specifier: workspace:* - version: link:../config typescript: specifier: ^6.0.3 version: 6.0.3 @@ -207,10 +207,13 @@ importers: packages/prettier-plugin: dependencies: - tempblot-parser: + '@tempblot/parser': specifier: workspace:* version: link:../parser devDependencies: + '@tempblot/config': + specifier: workspace:* + version: link:../config '@types/node': specifier: ^24.5.2 version: 24.12.4 @@ -220,9 +223,6 @@ importers: prettier: specifier: ^3.6.2 version: 3.8.3 - tempblot-config: - specifier: workspace:* - version: link:../config typescript: specifier: ^6.0.3 version: 6.0.3 @@ -232,44 +232,44 @@ importers: packages/typescript-plugin: dependencies: + '@tempblot/language-service': + specifier: workspace:* + version: link:../language-service '@volar/typescript': specifier: ~2.4.23 version: 2.4.28 - tempblot-language-service: - specifier: workspace:* - version: link:../language-service devDependencies: + '@tempblot/config': + specifier: workspace:* + version: link:../config '@types/node': specifier: ^24.5.2 version: 24.12.4 - tempblot-config: - specifier: workspace:* - version: link:../config typescript: specifier: ^6.0.3 version: 6.0.3 packages/vscode: dependencies: + '@tempblot/language-server': + specifier: workspace:* + version: link:../language-server '@volar/language-server': specifier: ~2.4.28 version: 2.4.28 '@volar/vscode': specifier: ~2.4.23 version: 2.4.28 - tempblot-language-server: - specifier: workspace:* - version: link:../language-server devDependencies: + '@tempblot/config': + specifier: workspace:* + version: link:../config '@types/vscode': specifier: ^1.104.0 version: 1.118.0 esbuild: specifier: ^0.28.0 version: 0.28.0 - tempblot-config: - specifier: workspace:* - version: link:../config vsce: specifier: ^2.15.0 version: 2.15.0 -- 2.51.2 From 92998709b0e0292587d6f51efadefe2ad0f01c6b Mon Sep 17 00:00:00 2001 From: Corbin Crutchley Date: Thu, 14 May 2026 04:02:40 -0400 Subject: [PATCH 2/4] chore: version to 0.1 --- apps/website/package.json | 2 +- packages/compiler/package.json | 2 +- packages/config/package.json | 2 +- packages/language-server/package.json | 2 +- packages/language-service/package.json | 2 +- packages/parser/package.json | 2 +- packages/prettier-plugin/package.json | 2 +- packages/typescript-plugin/package.json | 2 +- packages/vscode/package.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/website/package.json b/apps/website/package.json index f3d82dc..291dc02 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -1,7 +1,7 @@ { "name": "website", "type": "module", - "version": "0.0.1", + "version": "0.1.0", "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 5b55ed9..7af642d 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,7 +1,7 @@ { "name": "tempblot", "type": "module", - "version": "0.0.1", + "version": "0.1.0", "description": "A modern type-safe templating engine", "author": "crutchcorn", "license": "MIT", diff --git a/packages/config/package.json b/packages/config/package.json index 7f73b07..9e33d6a 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -2,7 +2,7 @@ "name": "@tempblot/config", "type": "module", "private": true, - "version": "0.0.0", + "version": "0.1.0", "scripts": { "lint": "eslint \"*.{js,jsx,ts,tsx}\"", "format": "eslint \"*.{js,jsx,ts,tsx}\" --fix" diff --git a/packages/language-server/package.json b/packages/language-server/package.json index 0f48110..1d607c9 100644 --- a/packages/language-server/package.json +++ b/packages/language-server/package.json @@ -1,6 +1,6 @@ { "name": "@tempblot/language-server", - "version": "0.0.1", + "version": "0.1.0", "type": "module", "description": "A language server for Tempblot", "repository": { diff --git a/packages/language-service/package.json b/packages/language-service/package.json index 35343b1..375d159 100644 --- a/packages/language-service/package.json +++ b/packages/language-service/package.json @@ -1,6 +1,6 @@ { "name": "@tempblot/language-service", - "version": "0.0.1", + "version": "0.1.0", "type": "module", "description": "Tempblot support for Volar", "exports": { diff --git a/packages/parser/package.json b/packages/parser/package.json index e6f742a..1b09f82 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,6 +1,6 @@ { "name": "@tempblot/parser", - "version": "0.0.1", + "version": "0.1.0", "type": "module", "description": "Shared parser utilities for Tempblot", "exports": { diff --git a/packages/prettier-plugin/package.json b/packages/prettier-plugin/package.json index c928259..151c3de 100644 --- a/packages/prettier-plugin/package.json +++ b/packages/prettier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "prettier-plugin-tempblot", - "version": "0.0.1", + "version": "0.1.0", "type": "module", "description": "Prettier plugin for Tempblot templates", "exports": { diff --git a/packages/typescript-plugin/package.json b/packages/typescript-plugin/package.json index afd90f9..580753b 100644 --- a/packages/typescript-plugin/package.json +++ b/packages/typescript-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tempblot/typescript-plugin", - "version": "0.0.1", + "version": "0.1.0", "type": "module", "description": "A TypeScript plugin to support language features in Tempblot files", "main": "./lib/index.cjs", diff --git a/packages/vscode/package.json b/packages/vscode/package.json index 585a360..918d03b 100644 --- a/packages/vscode/package.json +++ b/packages/vscode/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@tempblot/vscode", - "version": "0.0.1", + "version": "0.1.0", "categories": [ "Programming Languages" ], -- 2.51.2 From e50fd7c2b11ef5a0e2c393a51f0b2b64c55ccaff Mon Sep 17 00:00:00 2001 From: Corbin Crutchley Date: Thu, 14 May 2026 04:08:57 -0400 Subject: [PATCH 3/4] docs: add prettier plugin docs --- packages/prettier-plugin/README.md | 103 +++++++++++++++++++++++++++ packages/typescript-plugin/README.md | 20 ------ 2 files changed, 103 insertions(+), 20 deletions(-) create mode 100644 packages/prettier-plugin/README.md diff --git a/packages/prettier-plugin/README.md b/packages/prettier-plugin/README.md new file mode 100644 index 0000000..1678000 --- /dev/null +++ b/packages/prettier-plugin/README.md @@ -0,0 +1,103 @@ +# Tempblot Prettier Plugin + +Prettier plugin for formatting Tempblot (`.blot`) templates. + +## Installation + +```bash +npm install --save-dev prettier prettier-plugin-tempblot +``` + +This package supports Prettier 3 and newer. + +## Configuration + +Add the plugin to your Prettier configuration: + +```json +{ + "plugins": ["prettier-plugin-tempblot"] +} +``` + +The plugin registers `.blot` files with the `tempblot` parser, so Prettier can format Tempblot files once the plugin is loaded. + +## Usage + +Format Tempblot files with the Prettier CLI: + +```bash +npx prettier --write "**/*.blot" +``` + +You can also pass the plugin explicitly: + +```bash +npx prettier --plugin prettier-plugin-tempblot --write "**/*.blot" +``` + +Use the plugin programmatically with `parser: "tempblot"`: + +```ts +import * as prettier from "prettier"; +import tempblotPlugin from "prettier-plugin-tempblot"; + +const formatted = await prettier.format(source, { + parser: "tempblot", + plugins: [tempblotPlugin], +}); +``` + +## What Gets Formatted + +The plugin formats the Tempblot document structure and delegates supported block contents to Prettier's built-in parsers. + +Supported blocks: + +- `` is formatted as TypeScript. +- `` without `lang`, with `lang="json"`, or with `lang="jsonc"` is formatted as JSON. +- `` and `` are formatted as YAML. +- `` is formatted as HTML. +- `` is formatted as CSS. +- `` and `` are formatted as JavaScript. +- `` and `` are formatted as TypeScript. + +Unknown output languages are preserved as plain text after trimming surrounding whitespace. + +## Example + +Input: + +```blot + + +const value={hello:"world",items:[1,2,3]} + + + +{"hello":"world","items":[1,2,3]} + +``` + +Output: + +```blot + + + +const value = { hello: "world", items: [1, 2, 3] }; + + + +{ "hello": "world", "items": [1, 2, 3] } + +``` + +## Formatting Behavior + +- Root-level blocks are separated by one blank line. +- Leading and trailing content outside Tempblot blocks is preserved after trimming surrounding whitespace. +- Attribute order is preserved. +- Empty blocks are printed with opening and closing tags on separate lines. +- Files are always written with a trailing newline. +- If an embedded parser cannot format a block, the original trimmed block contents are preserved. diff --git a/packages/typescript-plugin/README.md b/packages/typescript-plugin/README.md index e57e962..222e491 100644 --- a/packages/typescript-plugin/README.md +++ b/packages/typescript-plugin/README.md @@ -61,23 +61,3 @@ const count = 42; } ``` - -## Architecture - -This plugin uses the [Volar](https://volarjs.dev) framework to integrate with TypeScript's language service, providing: - -- **Virtual Code Generation**: Transforms Tempblot templates into TypeScript code for analysis -- **Source Mapping**: Maps between original Tempblot source and generated TypeScript -- **Embedded Languages**: Supports TypeScript in setup blocks and JSON in output blocks -- **Custom Diagnostics**: Validates Tempblot-specific rules (required setup/output tags, etc.) - -## Migration from Language Server - -If you're migrating from the Tempblot language server, you can: - -1. Remove the language server configuration from your VS Code settings -2. Install this TypeScript plugin -3. Configure it using one of the methods above -4. Restart the TypeScript service (`Cmd+Shift+P` → "TypeScript: Restart TS Server") - -The TypeScript plugin provides the same language features as the language server but with better performance and compatibility with other TypeScript tools. -- 2.51.2 From 1c58950546675a188aa0223cc2f527beca7ce759 Mon Sep 17 00:00:00 2001 From: Corbin Crutchley Date: Thu, 14 May 2026 04:11:19 -0400 Subject: [PATCH 4/4] chore: update metadata for packages --- apps/website/package.json | 21 ++++++++++++++++++++- package.json | 20 ++++++++++++++++++++ packages/compiler/package.json | 16 +++++++++++++--- packages/config/package.json | 18 ++++++++++++++++++ packages/language-server/package.json | 16 ++++++++++++---- packages/language-service/package.json | 21 +++++++++++++++++++-- packages/parser/package.json | 22 ++++++++++++++++++++++ packages/prettier-plugin/package.json | 22 ++++++++++++++++++++++ packages/typescript-plugin/package.json | 21 +++++++++++++++++++-- packages/vscode/package.json | 20 ++++++++++++++++++-- 10 files changed, 183 insertions(+), 14 deletions(-) diff --git a/apps/website/package.json b/apps/website/package.json index 291dc02..1f80754 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -1,7 +1,26 @@ { - "name": "website", + "name": "@tempblot/website", + "private": true, "type": "module", "version": "0.1.0", + "description": "Documentation website for Tempblot", + "author": "Corbin Crutchley ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/crutchcorn/tempblot.git", + "directory": "apps/website" + }, + "homepage": "https://github.com/crutchcorn/tempblot", + "bugs": { + "url": "https://github.com/crutchcorn/tempblot/issues" + }, + "keywords": [ + "astro", + "documentation", + "playground", + "tempblot" + ], "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/package.json b/package.json index 164bd5f..d53fd2b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,26 @@ { "name": "@tempblot/root", "private": true, + "description": "Tempblot monorepo workspace", + "author": "Corbin Crutchley ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/crutchcorn/tempblot.git" + }, + "homepage": "https://github.com/crutchcorn/tempblot", + "bugs": { + "url": "https://github.com/crutchcorn/tempblot/issues" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/crutchcorn" + }, + "keywords": [ + "tempblot", + "templating", + "typescript" + ], "scripts": { "build": "nx affected --target=build", "build:all": "nx run-many --target=build", diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 7af642d..1737fe8 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -3,17 +3,28 @@ "type": "module", "version": "0.1.0", "description": "A modern type-safe templating engine", - "author": "crutchcorn", + "author": "Corbin Crutchley ", "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/crutchcorn/tempblot.git", + "url": "git+https://github.com/crutchcorn/tempblot.git", "directory": "packages/compiler" }, "funding": { "type": "github", "url": "https://github.com/sponsors/crutchcorn" }, + "homepage": "https://github.com/crutchcorn/tempblot", + "bugs": { + "url": "https://github.com/crutchcorn/tempblot/issues" + }, + "keywords": [ + "compiler", + "tempblot", + "template", + "templating", + "typescript" + ], "scripts": { "build": "vite build", "test:lib": "vitest", @@ -21,7 +32,6 @@ "test:types": "tsc --noEmit", "test:eslint": "eslint ." }, - "keywords": [], "dependencies": { "@tempblot/parser": "workspace:*", "typescript": "^6.0.3" diff --git a/packages/config/package.json b/packages/config/package.json index 9e33d6a..32afae5 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -3,6 +3,24 @@ "type": "module", "private": true, "version": "0.1.0", + "description": "Shared configuration for Tempblot packages", + "author": "Corbin Crutchley ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/crutchcorn/tempblot.git", + "directory": "packages/config" + }, + "homepage": "https://github.com/crutchcorn/tempblot", + "bugs": { + "url": "https://github.com/crutchcorn/tempblot/issues" + }, + "keywords": [ + "config", + "eslint", + "tempblot", + "typescript" + ], "scripts": { "lint": "eslint \"*.{js,jsx,ts,tsx}\"", "format": "eslint \"*.{js,jsx,ts,tsx}\" --fix" diff --git a/packages/language-server/package.json b/packages/language-server/package.json index 1d607c9..ed91ae8 100644 --- a/packages/language-server/package.json +++ b/packages/language-server/package.json @@ -5,13 +5,19 @@ "description": "A language server for Tempblot", "repository": { "type": "git", - "url": "https://github.com/crutchcorn/tempblot.git", + "url": "git+https://github.com/crutchcorn/tempblot.git", "directory": "packages/language-server" }, "homepage": "https://github.com/crutchcorn/tempblot", - "bugs": "https://github.com/crutchcorn/tempblot/issues", + "bugs": { + "url": "https://github.com/crutchcorn/tempblot/issues" + }, "author": "Corbin Crutchley ", "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/crutchcorn" + }, "exports": "./lib/index.js", "bin": { "tempblot-language-server": "./lib/index.js" @@ -20,10 +26,12 @@ "lib" ], "keywords": [ - "IntelliSense", + "intellisense", + "language-server", + "lsp", "tempblot", - "typescript", "templating", + "typescript", "volar" ], "scripts": { diff --git a/packages/language-service/package.json b/packages/language-service/package.json index 375d159..a3e0dad 100644 --- a/packages/language-service/package.json +++ b/packages/language-service/package.json @@ -3,6 +3,21 @@ "version": "0.1.0", "type": "module", "description": "Tempblot support for Volar", + "author": "Corbin Crutchley ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/crutchcorn/tempblot.git", + "directory": "packages/language-service" + }, + "homepage": "https://github.com/crutchcorn/tempblot", + "bugs": { + "url": "https://github.com/crutchcorn/tempblot/issues" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/crutchcorn" + }, "exports": { ".": { "types": "./lib/src/index.d.ts", @@ -13,10 +28,12 @@ "lib" ], "keywords": [ + "intellisense", + "language-service", "tempblot", + "templating", "typescript", - "volar", - "templating" + "volar" ], "scripts": { "build": "tsc --build", diff --git a/packages/parser/package.json b/packages/parser/package.json index 1b09f82..b4d107c 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -3,6 +3,28 @@ "version": "0.1.0", "type": "module", "description": "Shared parser utilities for Tempblot", + "author": "Corbin Crutchley ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/crutchcorn/tempblot.git", + "directory": "packages/parser" + }, + "homepage": "https://github.com/crutchcorn/tempblot", + "bugs": { + "url": "https://github.com/crutchcorn/tempblot/issues" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/crutchcorn" + }, + "keywords": [ + "parser", + "tempblot", + "template", + "templating", + "typescript" + ], "exports": { ".": { "types": "./lib/index.d.ts", diff --git a/packages/prettier-plugin/package.json b/packages/prettier-plugin/package.json index 151c3de..4cf9972 100644 --- a/packages/prettier-plugin/package.json +++ b/packages/prettier-plugin/package.json @@ -3,6 +3,28 @@ "version": "0.1.0", "type": "module", "description": "Prettier plugin for Tempblot templates", + "author": "Corbin Crutchley ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/crutchcorn/tempblot.git", + "directory": "packages/prettier-plugin" + }, + "homepage": "https://github.com/crutchcorn/tempblot", + "bugs": { + "url": "https://github.com/crutchcorn/tempblot/issues" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/crutchcorn" + }, + "keywords": [ + "formatter", + "prettier", + "prettier-plugin", + "tempblot", + "templating" + ], "exports": { ".": { "types": "./lib/index.d.ts", diff --git a/packages/typescript-plugin/package.json b/packages/typescript-plugin/package.json index 580753b..5d31872 100644 --- a/packages/typescript-plugin/package.json +++ b/packages/typescript-plugin/package.json @@ -3,6 +3,21 @@ "version": "0.1.0", "type": "module", "description": "A TypeScript plugin to support language features in Tempblot files", + "author": "Corbin Crutchley ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/crutchcorn/tempblot.git", + "directory": "packages/typescript-plugin" + }, + "homepage": "https://github.com/crutchcorn/tempblot", + "bugs": { + "url": "https://github.com/crutchcorn/tempblot/issues" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/crutchcorn" + }, "main": "./lib/index.cjs", "exports": { "types": "./types/index.d.cts", @@ -13,10 +28,12 @@ "types" ], "keywords": [ + "intellisense", + "language-service", "tempblot", + "templating", "typescript", - "plugin", - "templating" + "typescript-plugin" ], "scripts": { "prepack": "tsc --build --clean && tsc --build", diff --git a/packages/vscode/package.json b/packages/vscode/package.json index 918d03b..82da1e7 100644 --- a/packages/vscode/package.json +++ b/packages/vscode/package.json @@ -2,15 +2,31 @@ "private": true, "name": "@tempblot/vscode", "version": "0.1.0", + "publisher": "crutchcorn", + "author": "Corbin Crutchley ", + "license": "MIT", "categories": [ "Programming Languages" ], "displayName": "Tempblot Language Features", - "description": "Tempblot Language Features", + "description": "Syntax highlighting and language features for Tempblot files", "repository": { "type": "git", - "url": "https://github.com/crutchcorn/tempblot.git" + "url": "git+https://github.com/crutchcorn/tempblot.git", + "directory": "packages/vscode" }, + "homepage": "https://github.com/crutchcorn/tempblot", + "bugs": { + "url": "https://github.com/crutchcorn/tempblot/issues" + }, + "keywords": [ + "intellisense", + "language-server", + "syntax-highlighting", + "tempblot", + "typescript", + "vscode" + ], "engines": { "vscode": "^1.104.0" },