diff --git a/.prettierignore b/.prettierignore index bfc6e5afa..931d28058 100644 --- a/.prettierignore +++ b/.prettierignore @@ -19,6 +19,7 @@ dist/ !/packages/environment*/-private/intrinsics/**/*.d.ts packages/core/__tests__/support/character-position-viewer.html +test-packages/*/__tests__/support/*.html /packages/vscode/src/generated-meta.ts diff --git a/packages/core/__tests__/tsconfig.json b/packages/core/__tests__/tsconfig.json deleted file mode 100644 index ef62c8bfc..000000000 --- a/packages/core/__tests__/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../tsconfig.json", - "include": ["../src", "**/*.ts"], - "compilerOptions": { - "rootDir": ".." - }, - "references": [{ "path": "../../../test-packages/test-utils" }] -} diff --git a/packages/core/package.json b/packages/core/package.json index 2a836699b..bd1ec0328 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -6,7 +6,6 @@ "license": "MIT", "author": "Dan Freeman (https://github.com/dfreeman)", "type": "module", - "main": "lib/index.js", "exports": { ".": { "types": "./lib/index.d.ts", @@ -16,7 +15,11 @@ "types": "./lib/config/types.d.cts", "default": "./lib/config/types.cjs" }, - "./bin/*": "./bin/*.js" + "./bin/*": "./bin/*.js", + "./*": { + "types": "./lib/*.d.ts", + "default": "./lib/*.js" + } }, "files": [ "README.md", @@ -29,10 +32,6 @@ "glint-language-server": "bin/glint-language-server.js" }, "scripts": { - "test": "vitest run", - "test:typecheck": "echo 'no standalone typecheck within this project'", - "test:tsc": "echo 'no standalone typecheck within this project'", - "test:watch": "vitest watch", "build": "tsc --build", "dev": "tsc --watch", "prepack": "pnpm build" @@ -73,7 +72,6 @@ "execa": "^4.0.1", "glint-monorepo-test-utils": "workspace:*", "strip-ansi": "^6.0.0", - "vitest": "~3.0.9", "typescript": ">=5.6.0" }, "publishConfig": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ee7bb1361..53e78d7d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -117,7 +117,7 @@ importers: version: 0.3.5 '@vitest/ui': specifier: ~1.0.0 - version: 1.0.4(vitest@3.0.9) + version: 1.0.4 common-tags: specifier: ^1.8.0 version: 1.8.2 @@ -133,9 +133,6 @@ importers: typescript: specifier: '>=5.6.0' version: 5.8.2 - vitest: - specifier: ~3.0.9 - version: 3.0.9(@types/node@18.19.81)(@vitest/ui@1.0.4) packages/environment-ember-loose: devDependencies: @@ -308,6 +305,66 @@ importers: specifier: ^0.5.0 version: 0.5.5 + test-packages/package-test-core: + devDependencies: + '@glimmer/component': + specifier: ^2.0.0 + version: 2.0.0 + '@glint/core': + specifier: workspace:* + version: link:../../packages/core + '@glint/environment-ember-loose': + specifier: workspace:* + version: link:../../packages/environment-ember-loose + '@glint/environment-ember-template-imports': + specifier: workspace:* + version: link:../../packages/environment-ember-template-imports + '@types/common-tags': + specifier: ^1.8.0 + version: 1.8.4 + '@types/node': + specifier: ^18.11.5 + version: 18.19.81 + '@types/semver': + specifier: ^7.3.13 + version: 7.5.8 + '@types/uuid': + specifier: ^8.3.4 + version: 8.3.4 + '@types/yargs': + specifier: ^17.0.10 + version: 17.0.13 + '@typescript/server-harness': + specifier: latest + version: 0.3.5 + '@vitest/ui': + specifier: ~1.0.0 + version: 1.0.4(vitest@3.0.9) + '@volar/language-server': + specifier: 2.4.12 + version: 2.4.12 + common-tags: + specifier: ^1.8.0 + version: 1.8.2 + execa: + specifier: ^4.0.1 + version: 4.1.0 + glint-monorepo-test-utils: + specifier: workspace:* + version: link:../test-utils + strip-ansi: + specifier: ^6.0.0 + version: 6.0.1 + typescript: + specifier: '>=5.6.0' + version: 5.8.2 + vitest: + specifier: ~3.0.9 + version: 3.0.9(@types/node@18.19.81)(@vitest/ui@1.0.4) + vscode-uri: + specifier: ^3.0.8 + version: 3.1.0 + test-packages/test-utils: dependencies: '@glint/core': @@ -9633,7 +9690,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.24 + '@types/node': 18.19.81 '@types/yargs': 17.0.13 chalk: 4.1.2 @@ -9902,7 +9959,7 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.17.24 + '@types/node': 18.19.81 '@types/chai-as-promised@7.1.8': dependencies: @@ -9914,11 +9971,11 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 20.17.24 + '@types/node': 18.19.81 '@types/cors@2.8.17': dependencies: - '@types/node': 20.17.24 + '@types/node': 18.19.81 '@types/eslint-scope@3.7.7': dependencies: @@ -9939,7 +9996,7 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 20.17.24 + '@types/node': 18.19.81 '@types/qs': 6.9.18 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -9953,21 +10010,21 @@ snapshots: '@types/fs-extra@5.1.0': dependencies: - '@types/node': 22.13.11 + '@types/node': 18.19.81 '@types/fs-extra@8.1.5': dependencies: - '@types/node': 20.17.24 + '@types/node': 18.19.81 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.17.24 + '@types/node': 18.19.81 '@types/glob@8.1.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.13.11 + '@types/node': 18.19.81 '@types/http-errors@2.0.4': {} @@ -10014,7 +10071,7 @@ snapshots: '@types/rimraf@2.0.5': dependencies: '@types/glob': 8.1.0 - '@types/node': 22.13.11 + '@types/node': 18.19.81 '@types/rsvp@4.0.9': {} @@ -10023,12 +10080,12 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.17.24 + '@types/node': 18.19.81 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.17.24 + '@types/node': 18.19.81 '@types/send': 0.17.4 '@types/stack-utils@2.0.3': {} @@ -10175,6 +10232,16 @@ snapshots: dependencies: tinyspy: 3.0.2 + '@vitest/ui@1.0.4': + dependencies: + '@vitest/utils': 1.0.4 + fast-glob: 3.3.3 + fflate: 0.8.2 + flatted: 3.3.3 + pathe: 1.1.2 + picocolors: 1.1.1 + sirv: 2.0.4 + '@vitest/ui@1.0.4(vitest@3.0.9)': dependencies: '@vitest/utils': 1.0.4 @@ -12716,7 +12783,7 @@ snapshots: engine.io@6.6.4: dependencies: '@types/cors': 2.8.17 - '@types/node': 20.17.24 + '@types/node': 18.19.81 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -14468,7 +14535,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.24 + '@types/node': 18.19.81 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -14476,7 +14543,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.17.24 + '@types/node': 18.19.81 merge-stream: 2.0.0 supports-color: 8.1.1 diff --git a/packages/core/__tests__/cli/build-watch.test.ts b/test-packages/package-test-core/__tests__/cli/build-watch.test.ts similarity index 100% rename from packages/core/__tests__/cli/build-watch.test.ts rename to test-packages/package-test-core/__tests__/cli/build-watch.test.ts diff --git a/packages/core/__tests__/cli/build.test.ts b/test-packages/package-test-core/__tests__/cli/build.test.ts similarity index 100% rename from packages/core/__tests__/cli/build.test.ts rename to test-packages/package-test-core/__tests__/cli/build.test.ts diff --git a/packages/core/__tests__/cli/check-watch.test.ts b/test-packages/package-test-core/__tests__/cli/check-watch.test.ts similarity index 100% rename from packages/core/__tests__/cli/check-watch.test.ts rename to test-packages/package-test-core/__tests__/cli/check-watch.test.ts diff --git a/packages/core/__tests__/cli/check.test.ts b/test-packages/package-test-core/__tests__/cli/check.test.ts similarity index 100% rename from packages/core/__tests__/cli/check.test.ts rename to test-packages/package-test-core/__tests__/cli/check.test.ts diff --git a/packages/core/__tests__/cli/declaration.test.ts b/test-packages/package-test-core/__tests__/cli/declaration.test.ts similarity index 100% rename from packages/core/__tests__/cli/declaration.test.ts rename to test-packages/package-test-core/__tests__/cli/declaration.test.ts diff --git a/packages/core/__tests__/cli/incremental.test.ts b/test-packages/package-test-core/__tests__/cli/incremental.test.ts similarity index 100% rename from packages/core/__tests__/cli/incremental.test.ts rename to test-packages/package-test-core/__tests__/cli/incremental.test.ts diff --git a/packages/core/__tests__/config/environment.test.ts b/test-packages/package-test-core/__tests__/config/environment.test.ts similarity index 99% rename from packages/core/__tests__/config/environment.test.ts rename to test-packages/package-test-core/__tests__/config/environment.test.ts index fab5f1651..7b35f6cb5 100644 --- a/packages/core/__tests__/config/environment.test.ts +++ b/test-packages/package-test-core/__tests__/config/environment.test.ts @@ -2,7 +2,7 @@ import * as fs from 'node:fs'; import * as os from 'node:os'; import { describe, beforeEach, afterEach, test, expect } from 'vitest'; import { GlintExtensionPreprocess, GlintExtensionTransform } from '@glint/core/config-types'; -import { GlintEnvironment } from '../../src/config/environment.js'; +import { GlintEnvironment } from '@glint/core/config/index'; describe('Config: Environments', () => { describe('template tags config', () => { diff --git a/packages/core/__tests__/config/load-config.test.ts b/test-packages/package-test-core/__tests__/config/load-config.test.ts similarity index 96% rename from packages/core/__tests__/config/load-config.test.ts rename to test-packages/package-test-core/__tests__/config/load-config.test.ts index ea4ac1af5..37deb096d 100644 --- a/packages/core/__tests__/config/load-config.test.ts +++ b/test-packages/package-test-core/__tests__/config/load-config.test.ts @@ -1,9 +1,9 @@ import * as fs from 'node:fs'; import * as os from 'node:os'; import { describe, beforeEach, afterEach, test, expect, vi } from 'vitest'; -import { loadConfig } from '../../src/config/index.js'; -import { normalizePath } from '../../src/config/config.js'; -import { findTypeScript, loadConfigInput, require } from '../../src/config/loader.js'; +import { loadConfig } from '@glint/core/config/index'; +import { normalizePath } from '@glint/core/config/config'; +import { findTypeScript, loadConfigInput, require } from '@glint/core/config/loader'; describe('Config: loadConfig', () => { const testDir = `${os.tmpdir()}/glint-config-test-load-config-${process.pid}`; diff --git a/packages/core/__tests__/config/loader.test.ts b/test-packages/package-test-core/__tests__/config/loader.test.ts similarity index 97% rename from packages/core/__tests__/config/loader.test.ts rename to test-packages/package-test-core/__tests__/config/loader.test.ts index 28f5ac68c..0674a6d51 100644 --- a/packages/core/__tests__/config/loader.test.ts +++ b/test-packages/package-test-core/__tests__/config/loader.test.ts @@ -1,8 +1,8 @@ import * as fs from 'node:fs'; import * as os from 'node:os'; import { describe, beforeEach, afterEach, test, expect } from 'vitest'; -import { ConfigLoader } from '../../src/config/index.js'; -import { normalizePath } from '../../src/config/config.js'; +import { ConfigLoader } from '@glint/core/config/index'; +import { normalizePath } from '@glint/core/config/config'; describe('Config: loadConfig', () => { const testDir = `${os.tmpdir()}/glint-config-test-loader-${process.pid}`; diff --git a/packages/core/__tests__/language-server/completions.test.ts b/test-packages/package-test-core/__tests__/language-server/completions.test.ts similarity index 100% rename from packages/core/__tests__/language-server/completions.test.ts rename to test-packages/package-test-core/__tests__/language-server/completions.test.ts diff --git a/packages/core/__tests__/language-server/definitions.test.ts b/test-packages/package-test-core/__tests__/language-server/definitions.test.ts similarity index 100% rename from packages/core/__tests__/language-server/definitions.test.ts rename to test-packages/package-test-core/__tests__/language-server/definitions.test.ts diff --git a/packages/core/__tests__/language-server/diagnostic-augmentation.test.ts b/test-packages/package-test-core/__tests__/language-server/diagnostic-augmentation.test.ts similarity index 100% rename from packages/core/__tests__/language-server/diagnostic-augmentation.test.ts rename to test-packages/package-test-core/__tests__/language-server/diagnostic-augmentation.test.ts diff --git a/packages/core/__tests__/language-server/diagnostics.test.ts b/test-packages/package-test-core/__tests__/language-server/diagnostics.test.ts similarity index 100% rename from packages/core/__tests__/language-server/diagnostics.test.ts rename to test-packages/package-test-core/__tests__/language-server/diagnostics.test.ts diff --git a/packages/core/__tests__/language-server/hover.test.ts b/test-packages/package-test-core/__tests__/language-server/hover.test.ts similarity index 100% rename from packages/core/__tests__/language-server/hover.test.ts rename to test-packages/package-test-core/__tests__/language-server/hover.test.ts diff --git a/packages/core/__tests__/language-server/references.test.ts b/test-packages/package-test-core/__tests__/language-server/references.test.ts similarity index 100% rename from packages/core/__tests__/language-server/references.test.ts rename to test-packages/package-test-core/__tests__/language-server/references.test.ts diff --git a/packages/core/__tests__/language-server/rename.test.ts b/test-packages/package-test-core/__tests__/language-server/rename.test.ts similarity index 100% rename from packages/core/__tests__/language-server/rename.test.ts rename to test-packages/package-test-core/__tests__/language-server/rename.test.ts diff --git a/packages/core/__tests__/support/character-position-viewer.html b/test-packages/package-test-core/__tests__/support/character-position-viewer.html similarity index 100% rename from packages/core/__tests__/support/character-position-viewer.html rename to test-packages/package-test-core/__tests__/support/character-position-viewer.html diff --git a/packages/core/__tests__/transform/offset-mapping.test.ts b/test-packages/package-test-core/__tests__/transform/offset-mapping.test.ts similarity index 98% rename from packages/core/__tests__/transform/offset-mapping.test.ts rename to test-packages/package-test-core/__tests__/transform/offset-mapping.test.ts index 0e630fe9d..382bfef9a 100644 --- a/packages/core/__tests__/transform/offset-mapping.test.ts +++ b/test-packages/package-test-core/__tests__/transform/offset-mapping.test.ts @@ -1,10 +1,10 @@ -import { rewriteModule, TransformedModule } from '../../src/transform/index.js'; +import { rewriteModule, TransformedModule } from '@glint/core/transform/index'; import { stripIndent } from 'common-tags'; import { describe, test, expect } from 'vitest'; -import { Range, SourceFile } from '../../src/transform/template/transformed-module.js'; +import { Range, SourceFile } from '@glint/core/transform/template/transformed-module'; import * as ts from 'typescript'; -import { assert } from '../../src/transform/util.js'; -import { GlintEnvironment } from '../../src/config/index.js'; +import { assert } from '@glint/core/transform/util'; +import { GlintEnvironment } from '@glint/core/config/index'; const emberLooseEnvironment = GlintEnvironment.load('ember-loose'); const emberTemplateImportsEnvironment = GlintEnvironment.load('ember-template-imports'); diff --git a/packages/core/__tests__/transform/rewrite.test.ts b/test-packages/package-test-core/__tests__/transform/rewrite.test.ts similarity index 99% rename from packages/core/__tests__/transform/rewrite.test.ts rename to test-packages/package-test-core/__tests__/transform/rewrite.test.ts index 8ff5c1dc9..0dbe80f13 100644 --- a/packages/core/__tests__/transform/rewrite.test.ts +++ b/test-packages/package-test-core/__tests__/transform/rewrite.test.ts @@ -1,8 +1,8 @@ import ts from 'typescript'; import { describe, test, expect } from 'vitest'; -import { rewriteModule } from '../../src/transform/index.js'; +import { rewriteModule } from '@glint/core/transform/index'; import { stripIndent } from 'common-tags'; -import { GlintEnvironment } from '../../src/config/index.js'; +import { GlintEnvironment } from '@glint/core/config/index'; describe('Transform: rewriteModule', () => { describe('inline tagged template', () => { diff --git a/packages/core/__tests__/transform/template-to-typescript.test.ts b/test-packages/package-test-core/__tests__/transform/template-to-typescript.test.ts similarity index 99% rename from packages/core/__tests__/transform/template-to-typescript.test.ts rename to test-packages/package-test-core/__tests__/transform/template-to-typescript.test.ts index b86681dbf..416e3b2d5 100644 --- a/packages/core/__tests__/transform/template-to-typescript.test.ts +++ b/test-packages/package-test-core/__tests__/transform/template-to-typescript.test.ts @@ -3,7 +3,7 @@ import { describe, test, expect } from 'vitest'; import { templateToTypescript, TemplateToTypescriptOptions, -} from '../../src/transform/template/template-to-typescript.js'; +} from '@glint/core/transform/template/template-to-typescript'; describe('Transform: rewriteTemplate', () => { // Slices out the template boilerplate to return only the code representing diff --git a/test-packages/package-test-core/package.json b/test-packages/package-test-core/package.json new file mode 100644 index 000000000..bbcc75532 --- /dev/null +++ b/test-packages/package-test-core/package.json @@ -0,0 +1,37 @@ +{ + "name": "package-test-core", + "version": "0.0.0", + "private": true, + "license": "MIT", + "type": "module", + "scripts": { + "test": "vitest run", + "test:typecheck": "echo 'no standalone typecheck within this project'", + "test:tsc": "echo 'no standalone typecheck within this project'", + "test:watch": "vitest watch" + }, + "devDependencies": { + "@glimmer/component": "^2.0.0", + "@glint/core": "workspace:*", + "@glint/environment-ember-template-imports": "workspace:*", + "@glint/environment-ember-loose": "workspace:*", + "@volar/language-server": "2.4.12", + "@types/common-tags": "^1.8.0", + "@types/node": "^18.11.5", + "@types/semver": "^7.3.13", + "@types/uuid": "^8.3.4", + "@types/yargs": "^17.0.10", + "@typescript/server-harness": "latest", + "@vitest/ui": "~1.0.0", + "common-tags": "^1.8.0", + "execa": "^4.0.1", + "glint-monorepo-test-utils": "workspace:*", + "strip-ansi": "^6.0.0", + "typescript": ">=5.6.0", + "vitest": "~3.0.9", + "vscode-uri": "^3.0.8" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/test-packages/package-test-core/tsconfig.json b/test-packages/package-test-core/tsconfig.json new file mode 100644 index 000000000..f12950ed9 --- /dev/null +++ b/test-packages/package-test-core/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.compileroptions.json", + "include": ["../src", "**/*.ts"], + "compilerOptions": { + "types": ["@types/node"] + }, + "references": [{ "path": "../test-utils" }] +} diff --git a/packages/core/vitest.config.ts b/test-packages/package-test-core/vitest.config.ts similarity index 100% rename from packages/core/vitest.config.ts rename to test-packages/package-test-core/vitest.config.ts