From bcf1cd3cb9c7d5c632579f3d2b868947369d4039 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 11:20:13 -0500
Subject: [PATCH 01/29] Try to make a test to prevent #1688 (and other prettier
breakages)
---
.../integration-tests/test/package.json | 3 +-
.../test/syntax/prettier-test.ts | 30 +++
pnpm-lock.yaml | 172 +++---------------
3 files changed, 62 insertions(+), 143 deletions(-)
create mode 100644 packages/@glimmer-workspace/integration-tests/test/syntax/prettier-test.ts
diff --git a/packages/@glimmer-workspace/integration-tests/test/package.json b/packages/@glimmer-workspace/integration-tests/test/package.json
index 02ea2e148..0c3030ca8 100644
--- a/packages/@glimmer-workspace/integration-tests/test/package.json
+++ b/packages/@glimmer-workspace/integration-tests/test/package.json
@@ -22,6 +22,7 @@
"@glimmer/syntax": "workspace:*",
"@glimmer/util": "workspace:*",
"@glimmer/validator": "workspace:*",
- "@glimmer/wire-format": "workspace:*"
+ "@glimmer/wire-format": "workspace:*",
+ "prettier": "^3.4.2"
}
}
diff --git a/packages/@glimmer-workspace/integration-tests/test/syntax/prettier-test.ts b/packages/@glimmer-workspace/integration-tests/test/syntax/prettier-test.ts
new file mode 100644
index 000000000..577e39d0c
--- /dev/null
+++ b/packages/@glimmer-workspace/integration-tests/test/syntax/prettier-test.ts
@@ -0,0 +1,30 @@
+import { jitSuite, RenderTest, test } from '@glimmer-workspace/integration-tests';
+import * as prettier from 'prettier';
+
+/**
+ * See: https://github.com/glimmerjs/glimmer-vm/issues/1688
+ */
+class PrettierSuite extends RenderTest {
+ static suiteName = 'Prettier';
+
+ @test
+ async 'Underlynig preprocess API works'() {
+ let result = (await import('@glimmer/syntax')).preprocess('
');
+
+ this.assert.ok(result, `It can be await import()'d, and doesn't error`);
+ }
+
+ /**
+ * Requires the root package.json#pnpm#overrides point at our internal
+ * copy of @glimmer/syntax, or else prettier brings its own already published
+ * copy of @glimmer/syntax
+ */
+ @test
+ async 'Prettier can call preprocess'() {
+ let result = await prettier.format(` \n
`, { parser: 'glimmer' });
+
+ this.assert.strictEqual(result, '');
+ }
+}
+
+jitSuite(PrettierSuite);
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 126251827..3dc0d0c64 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -67,7 +67,7 @@ importers:
version: 2.0.3
'@pnpm/workspace.find-packages':
specifier: ^1000.0.3
- version: 1000.0.3(@pnpm/logger@1000.0.0)
+ version: 1000.0.3(@pnpm/logger@5.2.0)
'@rollup/plugin-sucrase':
specifier: ^5.0.2
version: 5.0.2(rollup@4.31.0-0)
@@ -308,7 +308,7 @@ importers:
version: 1000.1.0
'@pnpm/workspace.find-packages':
specifier: ^1000.0.1
- version: 1000.0.5(@pnpm/logger@5.2.0)
+ version: 1000.0.5(@pnpm/logger@1000.0.0)
'@types/node':
specifier: ^20.17.10
version: 20.17.10
@@ -736,6 +736,9 @@ importers:
'@glimmer/wire-format':
specifier: workspace:*
version: link:../../../@glimmer/wire-format
+ prettier:
+ specifier: ^3.4.2
+ version: 3.4.2
packages/@glimmer-workspace/test-utils:
dependencies:
@@ -12526,15 +12529,15 @@ snapshots:
'@pnpm/types': 12.2.0
load-json-file: 6.2.0
- '@pnpm/cli-utils@1000.0.3(@pnpm/logger@1000.0.0)':
+ '@pnpm/cli-utils@1000.0.3(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
- '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@1000.0.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@5.2.0)
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 1000.0.0
- '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@1000.0.0)
- '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@1000.0.0)
+ '@pnpm/logger': 5.2.0
+ '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@5.2.0)
+ '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@5.2.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -12554,20 +12557,6 @@ snapshots:
chalk: 4.1.2
load-json-file: 6.2.0
- '@pnpm/cli-utils@1000.0.5(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-meta': 1000.0.1
- '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
- '@pnpm/default-reporter': 1001.1.3(@pnpm/logger@5.2.0)
- '@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/manifest-utils': 1000.0.3(@pnpm/logger@5.2.0)
- '@pnpm/package-is-installable': 1000.0.3(@pnpm/logger@5.2.0)
- '@pnpm/read-project-manifest': 1000.0.3
- '@pnpm/types': 1000.1.0
- chalk: 4.1.2
- load-json-file: 6.2.0
-
'@pnpm/cli-utils@4.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -12586,7 +12575,7 @@ snapshots:
'@pnpm/config.env-replace@3.0.0': {}
- '@pnpm/config@1002.1.0(@pnpm/logger@1000.0.0)':
+ '@pnpm/config@1002.1.0(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/catalogs.config': 1000.0.1
'@pnpm/catalogs.types': 1000.0.0
@@ -12596,7 +12585,7 @@ snapshots:
'@pnpm/git-utils': 1000.0.0
'@pnpm/matcher': 1000.0.0
'@pnpm/npm-conf': 2.3.1
- '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@1000.0.0)
+ '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@5.2.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
'@pnpm/workspace.read-manifest': 1000.0.1
@@ -12646,36 +12635,6 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
- '@pnpm/config@1002.1.2(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/catalogs.config': 1000.0.1
- '@pnpm/catalogs.types': 1000.0.0
- '@pnpm/config.env-replace': 3.0.0
- '@pnpm/constants': 1001.0.0
- '@pnpm/error': 1000.0.1
- '@pnpm/git-utils': 1000.0.0
- '@pnpm/matcher': 1000.0.0
- '@pnpm/npm-conf': 3.0.0
- '@pnpm/pnpmfile': 1001.0.3(@pnpm/logger@5.2.0)
- '@pnpm/read-project-manifest': 1000.0.3
- '@pnpm/types': 1000.1.0
- '@pnpm/workspace.read-manifest': 1000.0.1
- better-path-resolve: 1.0.0
- camelcase: 6.3.0
- camelcase-keys: 6.2.2
- can-write-to-dir: 1.1.1
- is-subdir: 1.2.0
- is-windows: 1.0.2
- normalize-registry-url: 2.0.0
- path-absolute: 1.0.1
- path-name: 1.0.0
- ramda: '@pnpm/ramda@0.28.1'
- read-ini-file: 4.0.0
- realpath-missing: 1.1.0
- which: '@pnpm/which@3.0.1'
- transitivePeerDependencies:
- - '@pnpm/logger'
-
'@pnpm/config@21.8.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/catalogs.config': 0.1.1
@@ -12717,9 +12676,9 @@ snapshots:
'@pnpm/logger': 5.2.0
'@pnpm/types': 12.2.0
- '@pnpm/core-loggers@1000.1.0(@pnpm/logger@1000.0.0)':
+ '@pnpm/core-loggers@1000.1.0(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/types': 1000.0.0
'@pnpm/core-loggers@1000.1.1(@pnpm/logger@1000.0.0)':
@@ -12727,11 +12686,6 @@ snapshots:
'@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.1.0
- '@pnpm/core-loggers@1000.1.1(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/logger': 5.2.0
- '@pnpm/types': 1000.1.0
-
'@pnpm/crypto.base32-hash@3.0.1':
dependencies:
'@pnpm/crypto.polyfill': 1.0.0
@@ -12761,15 +12715,15 @@ snapshots:
'@pnpm/dedupe.types@2.0.0': {}
- '@pnpm/default-reporter@1001.1.1(@pnpm/logger@1000.0.0)':
+ '@pnpm/default-reporter@1001.1.1(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/dedupe.issues-renderer': 1000.0.0
'@pnpm/dedupe.types': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/render-peer-issues': 1000.0.1
'@pnpm/types': 1000.0.0
ansi-diff: 1.2.0
@@ -12809,30 +12763,6 @@ snapshots:
stacktracey: 2.1.8
string-length: 4.0.2
- '@pnpm/default-reporter@1001.1.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-meta': 1000.0.1
- '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/dedupe.issues-renderer': 1000.0.0
- '@pnpm/dedupe.types': 1000.0.0
- '@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/render-peer-issues': 1000.0.2
- '@pnpm/types': 1000.1.0
- ansi-diff: 1.2.0
- boxen: 5.1.2
- chalk: 4.1.2
- cli-truncate: 2.1.0
- normalize-path: 3.0.0
- pretty-bytes: 5.6.0
- pretty-ms: 7.0.1
- ramda: '@pnpm/ramda@0.28.1'
- rxjs: 7.8.1
- semver: 7.6.3
- stacktracey: 2.1.8
- string-length: 4.0.2
-
'@pnpm/default-reporter@14.0.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -12995,9 +12925,9 @@ snapshots:
bole: 5.0.17
ndjson: 2.0.0
- '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@1000.0.0)':
+ '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/error': 1000.0.1
'@pnpm/types': 1000.0.0
transitivePeerDependencies:
@@ -13011,14 +12941,6 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
- '@pnpm/manifest-utils@1000.0.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/error': 1000.0.1
- '@pnpm/types': 1000.1.0
- transitivePeerDependencies:
- - '@pnpm/logger'
-
'@pnpm/manifest-utils@6.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13064,13 +12986,13 @@ snapshots:
'@pnpm/network.ca-file': 1.0.2
config-chain: 1.1.13
- '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@1000.0.0)':
+ '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/env.system-node-version': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/types': 1000.0.0
detect-libc: 2.0.3
execa: safe-execa@0.1.2
@@ -13090,19 +13012,6 @@ snapshots:
mem: 8.1.1
semver: 7.6.3
- '@pnpm/package-is-installable@1000.0.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-meta': 1000.0.1
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/env.system-node-version': 1000.0.1
- '@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/types': 1000.1.0
- detect-libc: 2.0.3
- execa: safe-execa@0.1.2
- mem: 8.1.1
- semver: 7.6.3
-
'@pnpm/package-is-installable@9.0.12(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13142,14 +13051,14 @@ snapshots:
'@pnpm/patching.types@1000.0.0': {}
- '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@1000.0.0)':
+ '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/crypto.hash': 1000.0.0
'@pnpm/error': 1000.0.1
'@pnpm/hooks.types': 1001.0.0
'@pnpm/lockfile.types': 1001.0.0
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/store-controller-types': 1000.1.0
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -13168,19 +13077,6 @@ snapshots:
chalk: 4.1.2
path-absolute: 1.0.1
- '@pnpm/pnpmfile@1001.0.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/crypto.hash': 1000.0.0
- '@pnpm/error': 1000.0.1
- '@pnpm/hooks.types': 1001.0.1
- '@pnpm/lockfile.types': 1001.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/store-controller-types': 1001.0.0
- '@pnpm/types': 1000.1.0
- chalk: 4.1.2
- path-absolute: 1.0.1
-
'@pnpm/pnpmfile@6.0.13(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13339,11 +13235,11 @@ snapshots:
dependencies:
isexe: 2.0.0
- '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@1000.0.0)':
+ '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@1000.0.0)
+ '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@5.2.0)
'@pnpm/fs.find-packages': 1000.0.1
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/types': 1000.0.0
'@pnpm/util.lex-comparator': 3.0.0
@@ -13355,14 +13251,6 @@ snapshots:
'@pnpm/types': 1000.1.0
'@pnpm/util.lex-comparator': 3.0.0
- '@pnpm/workspace.find-packages@1000.0.5(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-utils': 1000.0.5(@pnpm/logger@5.2.0)
- '@pnpm/fs.find-packages': 1000.0.3
- '@pnpm/logger': 5.2.0
- '@pnpm/types': 1000.1.0
- '@pnpm/util.lex-comparator': 3.0.0
-
'@pnpm/workspace.find-packages@4.0.14(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-utils': 4.0.9(@pnpm/logger@5.2.0)
From 07347e6fda71bccb601e30bc0c200362b1cdda4a Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 11:30:15 -0500
Subject: [PATCH 02/29] Seems fine so far...
---
.../integration-tests/test/package.json | 3 +-
.../test/syntax/prettier-test.ts | 30 --
.../node-tests/package.json | 17 ++
.../node-tests/prettier.test.ts | 37 +++
pnpm-lock.yaml | 288 ++++++++++++++++++
5 files changed, 343 insertions(+), 32 deletions(-)
delete mode 100644 packages/@glimmer-workspace/integration-tests/test/syntax/prettier-test.ts
create mode 100644 packages/@glimmer-workspace/node-tests/package.json
create mode 100644 packages/@glimmer-workspace/node-tests/prettier.test.ts
diff --git a/packages/@glimmer-workspace/integration-tests/test/package.json b/packages/@glimmer-workspace/integration-tests/test/package.json
index 0c3030ca8..02ea2e148 100644
--- a/packages/@glimmer-workspace/integration-tests/test/package.json
+++ b/packages/@glimmer-workspace/integration-tests/test/package.json
@@ -22,7 +22,6 @@
"@glimmer/syntax": "workspace:*",
"@glimmer/util": "workspace:*",
"@glimmer/validator": "workspace:*",
- "@glimmer/wire-format": "workspace:*",
- "prettier": "^3.4.2"
+ "@glimmer/wire-format": "workspace:*"
}
}
diff --git a/packages/@glimmer-workspace/integration-tests/test/syntax/prettier-test.ts b/packages/@glimmer-workspace/integration-tests/test/syntax/prettier-test.ts
deleted file mode 100644
index 577e39d0c..000000000
--- a/packages/@glimmer-workspace/integration-tests/test/syntax/prettier-test.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { jitSuite, RenderTest, test } from '@glimmer-workspace/integration-tests';
-import * as prettier from 'prettier';
-
-/**
- * See: https://github.com/glimmerjs/glimmer-vm/issues/1688
- */
-class PrettierSuite extends RenderTest {
- static suiteName = 'Prettier';
-
- @test
- async 'Underlynig preprocess API works'() {
- let result = (await import('@glimmer/syntax')).preprocess('');
-
- this.assert.ok(result, `It can be await import()'d, and doesn't error`);
- }
-
- /**
- * Requires the root package.json#pnpm#overrides point at our internal
- * copy of @glimmer/syntax, or else prettier brings its own already published
- * copy of @glimmer/syntax
- */
- @test
- async 'Prettier can call preprocess'() {
- let result = await prettier.format(` \n
`, { parser: 'glimmer' });
-
- this.assert.strictEqual(result, '');
- }
-}
-
-jitSuite(PrettierSuite);
diff --git a/packages/@glimmer-workspace/node-tests/package.json b/packages/@glimmer-workspace/node-tests/package.json
new file mode 100644
index 000000000..ba3b89a63
--- /dev/null
+++ b/packages/@glimmer-workspace/node-tests/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "@glimmer-workspace/node-tests",
+ "version": "0.92.0",
+ "type": "module",
+ "private": true,
+ "scripts": {
+ "test:lint": "eslint . --quiet",
+ "test:node": "vitest"
+ },
+ "dependencies": {
+ "@glimmer/syntax": "workspace:*",
+ "prettier": "^3.4.2"
+ },
+ "devDependencies": {
+ "vitest": "^3.0.4"
+ }
+}
diff --git a/packages/@glimmer-workspace/node-tests/prettier.test.ts b/packages/@glimmer-workspace/node-tests/prettier.test.ts
new file mode 100644
index 000000000..0d7713a79
--- /dev/null
+++ b/packages/@glimmer-workspace/node-tests/prettier.test.ts
@@ -0,0 +1,37 @@
+import { describe, it, expect } from 'vitest';
+import * as prettier from 'prettier';
+import { createRequire } from 'node:module';
+
+const require = createRequire(import.meta.url);
+
+/**
+ * See: https://github.com/glimmerjs/glimmer-vm/issues/1688
+ *
+ * Requires the root package.json#pnpm#overrides point at our internal
+ * copy of @glimmer/syntax, or else prettier brings its own already published
+ * copy of @glimmer/syntax
+ */
+describe('Prettier', () => {
+ it(`SANITY: we've symlinked to the in-repo copy of @glimmer/syntax`, async () => {
+ let workspacePath = require.resolve('@glimmer/syntax');
+ let prettierPath = require.resolve('prettier');
+ let prettierGlimmer = require.resolve('@glimmer/syntax', {paths: [prettierPath]});
+
+ expect(prettierGlimmer).toBe(workspacePath);
+ });
+
+ it('Underlynig preprocess API works', async () => {
+ let result = (await import('@glimmer/syntax')).preprocess('');
+
+ expect(result, `It can be await import()'d, and doesn't error`).toBeTruthy();
+ });
+
+ it('Prettier can call preprocess', async () => {
+ let result = await prettier.format(` \n
`, { parser: 'glimmer' });
+
+ expect(result).toMatchInlineSnapshot(`
+ "
+
"
+ `);
+ });
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3dc0d0c64..d04a72f4c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -736,9 +736,19 @@ importers:
'@glimmer/wire-format':
specifier: workspace:*
version: link:../../../@glimmer/wire-format
+
+ packages/@glimmer-workspace/node-tests:
+ dependencies:
+ '@glimmer/syntax':
+ specifier: workspace:*
+ version: link:../../@glimmer/syntax
prettier:
specifier: ^3.4.2
version: 3.4.2
+ devDependencies:
+ vitest:
+ specifier: ^3.0.4
+ version: 3.0.4(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
packages/@glimmer-workspace/test-utils:
dependencies:
@@ -4419,6 +4429,35 @@ packages:
resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@vitest/expect@3.0.4':
+ resolution: {integrity: sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==}
+
+ '@vitest/mocker@3.0.4':
+ resolution: {integrity: sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==}
+ peerDependencies:
+ msw: ^2.4.9
+ vite: ^5.0.0 || ^6.0.0
+ peerDependenciesMeta:
+ msw:
+ optional: true
+ vite:
+ optional: true
+
+ '@vitest/pretty-format@3.0.4':
+ resolution: {integrity: sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==}
+
+ '@vitest/runner@3.0.4':
+ resolution: {integrity: sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==}
+
+ '@vitest/snapshot@3.0.4':
+ resolution: {integrity: sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==}
+
+ '@vitest/spy@3.0.4':
+ resolution: {integrity: sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==}
+
+ '@vitest/utils@3.0.4':
+ resolution: {integrity: sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==}
+
'@xmldom/xmldom@0.8.10':
resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==}
engines: {node: '>=10.0.0'}
@@ -4678,6 +4717,10 @@ packages:
assert-never@1.4.0:
resolution: {integrity: sha512-5oJg84os6NMQNl27T9LnZkvvqzvAnHu03ShCnoj6bsJwS7L8AO4lf+C/XjK/nvzEqQB744moC6V128RucQd1jA==}
+ assertion-error@2.0.1:
+ resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
+ engines: {node: '>=12'}
+
assign-symbols@1.0.0:
resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
engines: {node: '>=0.10.0'}
@@ -5119,6 +5162,10 @@ packages:
resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==}
hasBin: true
+ chai@5.1.2:
+ resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==}
+ engines: {node: '>=12'}
+
chalk@1.1.3:
resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
engines: {node: '>=0.10.0'}
@@ -5149,6 +5196,10 @@ packages:
charm@1.0.2:
resolution: {integrity: sha512-wqW3VdPnlSWT4eRiYX+hcs+C6ViBPUWk1qTCd+37qw9kEm/a5n2qcyQDMBWvSYKN/ctqZzeXNQaeBjOetJJUkw==}
+ check-error@2.1.1:
+ resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
+ engines: {node: '>= 16'}
+
chokidar@3.5.3:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
engines: {node: '>= 8.10.0'}
@@ -5820,6 +5871,10 @@ packages:
resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==}
engines: {node: '>=4'}
+ deep-eql@5.0.2:
+ resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
+ engines: {node: '>=6'}
+
deep-extend@0.6.0:
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
engines: {node: '>=4.0.0'}
@@ -6124,6 +6179,9 @@ packages:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
+ es-module-lexer@1.6.0:
+ resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==}
+
es-object-atoms@1.0.0:
resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
engines: {node: '>= 0.4'}
@@ -6397,6 +6455,9 @@ packages:
estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
@@ -6465,6 +6526,10 @@ packages:
resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
engines: {node: '>=0.10.0'}
+ expect-type@1.1.0:
+ resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==}
+ engines: {node: '>=12.0.0'}
+
express@4.21.2:
resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
engines: {node: '>= 0.10.0'}
@@ -7942,6 +8007,9 @@ packages:
resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==}
engines: {node: '>=4'}
+ loupe@3.1.2:
+ resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==}
+
lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
@@ -8823,6 +8891,13 @@ packages:
pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ pathe@2.0.2:
+ resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==}
+
+ pathval@2.0.0:
+ resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
+ engines: {node: '>= 14.16'}
+
pause-stream@0.0.11:
resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
@@ -9793,6 +9868,9 @@ packages:
resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
engines: {node: '>= 0.4'}
+ siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+
signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
@@ -9972,6 +10050,9 @@ packages:
resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+ stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+
stacktracey@2.1.8:
resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
@@ -9987,6 +10068,9 @@ packages:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
+ std-env@3.8.0:
+ resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==}
+
stdin-discarder@0.2.2:
resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
engines: {node: '>=18'}
@@ -10269,6 +10353,24 @@ packages:
tiny-lr@2.0.0:
resolution: {integrity: sha512-f6nh0VMRvhGx4KCeK1lQ/jaL0Zdb5WdR+Jk8q9OSUQnaSDxAEGH1fgqLZ+cMl5EW3F2MGnCsalBO1IsnnogW1Q==}
+ tinybench@2.9.0:
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
+
+ tinypool@1.0.2:
+ resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+
+ tinyrainbow@2.0.0:
+ resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
+ engines: {node: '>=14.0.0'}
+
+ tinyspy@3.0.2:
+ resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
+ engines: {node: '>=14.0.0'}
+
tmp@0.0.28:
resolution: {integrity: sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg==}
engines: {node: '>=0.4.0'}
@@ -10706,6 +10808,11 @@ packages:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
+ vite-node@3.0.4:
+ resolution: {integrity: sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+
vite@5.4.10:
resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==}
engines: {node: ^18.0.0 || >=20.0.0}
@@ -10777,6 +10884,34 @@ packages:
yaml:
optional: true
+ vitest@3.0.4:
+ resolution: {integrity: sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/debug': ^4.1.12
+ '@types/node': ^20.17.10
+ '@vitest/browser': 3.0.4
+ '@vitest/ui': 3.0.4
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/debug':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+
walk-sync@0.3.4:
resolution: {integrity: sha512-ttGcuHA/OBnN2pcM6johpYlEms7XpO5/fyKIr48541xXedan4roO8cS1Q2S/zbbjGH/BarYDAMeS2Mi9HE5Tig==}
@@ -10857,6 +10992,11 @@ packages:
engines: {node: ^18.17.0 || >=20.5.0}
hasBin: true
+ why-is-node-running@2.3.0:
+ resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
+ engines: {node: '>=8'}
+ hasBin: true
+
wide-align@1.1.5:
resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
@@ -14109,6 +14249,46 @@ snapshots:
'@typescript-eslint/types': 8.20.0
eslint-visitor-keys: 4.2.0
+ '@vitest/expect@3.0.4':
+ dependencies:
+ '@vitest/spy': 3.0.4
+ '@vitest/utils': 3.0.4
+ chai: 5.1.2
+ tinyrainbow: 2.0.0
+
+ '@vitest/mocker@3.0.4(vite@6.0.10(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))':
+ dependencies:
+ '@vitest/spy': 3.0.4
+ estree-walker: 3.0.3
+ magic-string: 0.30.17
+ optionalDependencies:
+ vite: 6.0.10(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
+
+ '@vitest/pretty-format@3.0.4':
+ dependencies:
+ tinyrainbow: 2.0.0
+
+ '@vitest/runner@3.0.4':
+ dependencies:
+ '@vitest/utils': 3.0.4
+ pathe: 2.0.2
+
+ '@vitest/snapshot@3.0.4':
+ dependencies:
+ '@vitest/pretty-format': 3.0.4
+ magic-string: 0.30.17
+ pathe: 2.0.2
+
+ '@vitest/spy@3.0.4':
+ dependencies:
+ tinyspy: 3.0.2
+
+ '@vitest/utils@3.0.4':
+ dependencies:
+ '@vitest/pretty-format': 3.0.4
+ loupe: 3.1.2
+ tinyrainbow: 2.0.0
+
'@xmldom/xmldom@0.8.10': {}
'@zkochan/which@2.0.3':
@@ -14375,6 +14555,8 @@ snapshots:
assert-never@1.4.0: {}
+ assertion-error@2.0.1: {}
+
assign-symbols@1.0.0: {}
ast-types@0.13.4:
@@ -15126,6 +15308,14 @@ snapshots:
ansicolors: 0.3.2
redeyed: 2.1.1
+ chai@5.1.2:
+ dependencies:
+ assertion-error: 2.0.1
+ check-error: 2.1.1
+ deep-eql: 5.0.2
+ loupe: 3.1.2
+ pathval: 2.0.0
+
chalk@1.1.3:
dependencies:
ansi-styles: 2.2.1
@@ -15157,6 +15347,8 @@ snapshots:
dependencies:
inherits: 2.0.4
+ check-error@2.1.1: {}
+
chokidar@3.5.3:
dependencies:
anymatch: 3.1.3
@@ -15700,6 +15892,8 @@ snapshots:
dependencies:
mimic-response: 1.0.1
+ deep-eql@5.0.2: {}
+
deep-extend@0.6.0: {}
deep-is@0.1.4: {}
@@ -16177,6 +16371,8 @@ snapshots:
es-errors@1.3.0: {}
+ es-module-lexer@1.6.0: {}
+
es-object-atoms@1.0.0:
dependencies:
es-errors: 1.3.0
@@ -16605,6 +16801,10 @@ snapshots:
estree-walker@2.0.2: {}
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.6
+
esutils@2.0.3: {}
esyes@1.0.3:
@@ -16748,6 +16948,8 @@ snapshots:
dependencies:
homedir-polyfill: 1.0.3
+ expect-type@1.1.0: {}
+
express@4.21.2:
dependencies:
accepts: 1.3.8
@@ -18435,6 +18637,8 @@ snapshots:
cli-cursor: 2.1.0
wrap-ansi: 3.0.1
+ loupe@3.1.2: {}
+
lower-case@2.0.2:
dependencies:
tslib: 2.8.1
@@ -19380,6 +19584,10 @@ snapshots:
pathe@1.1.2: {}
+ pathe@2.0.2: {}
+
+ pathval@2.0.0: {}
+
pause-stream@0.0.11:
dependencies:
through: 2.3.8
@@ -20487,6 +20695,8 @@ snapshots:
side-channel-map: 1.0.1
side-channel-weakmap: 1.0.2
+ siginfo@2.0.0: {}
+
signal-exit@3.0.7: {}
signal-exit@4.1.0: {}
@@ -20689,6 +20899,8 @@ snapshots:
stable@0.1.8: {}
+ stackback@0.0.2: {}
+
stacktracey@2.1.8:
dependencies:
as-table: 1.0.55
@@ -20703,6 +20915,8 @@ snapshots:
statuses@2.0.1: {}
+ std-env@3.8.0: {}
+
stdin-discarder@0.2.2: {}
stream-combiner@0.0.4:
@@ -21180,6 +21394,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ tinybench@2.9.0: {}
+
+ tinyexec@0.3.2: {}
+
+ tinypool@1.0.2: {}
+
+ tinyrainbow@2.0.0: {}
+
+ tinyspy@3.0.2: {}
+
tmp@0.0.28:
dependencies:
os-tmpdir: 1.0.2
@@ -21639,6 +21863,27 @@ snapshots:
vary@1.1.2: {}
+ vite-node@3.0.4(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0):
+ dependencies:
+ cac: 6.7.14
+ debug: 4.4.0(supports-color@8.1.1)
+ es-module-lexer: 1.6.0
+ pathe: 2.0.2
+ vite: 6.0.10(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
+ transitivePeerDependencies:
+ - '@types/node'
+ - jiti
+ - less
+ - lightningcss
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - yaml
+
vite@5.4.10(@types/node@20.17.10)(terser@5.37.0):
dependencies:
esbuild: 0.21.5
@@ -21662,6 +21907,44 @@ snapshots:
tsx: 4.19.2
yaml: 2.7.0
+ vitest@3.0.4(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0):
+ dependencies:
+ '@vitest/expect': 3.0.4
+ '@vitest/mocker': 3.0.4(vite@6.0.10(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))
+ '@vitest/pretty-format': 3.0.4
+ '@vitest/runner': 3.0.4
+ '@vitest/snapshot': 3.0.4
+ '@vitest/spy': 3.0.4
+ '@vitest/utils': 3.0.4
+ chai: 5.1.2
+ debug: 4.4.0(supports-color@8.1.1)
+ expect-type: 1.1.0
+ magic-string: 0.30.17
+ pathe: 2.0.2
+ std-env: 3.8.0
+ tinybench: 2.9.0
+ tinyexec: 0.3.2
+ tinypool: 1.0.2
+ tinyrainbow: 2.0.0
+ vite: 6.0.10(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
+ vite-node: 3.0.4(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
+ why-is-node-running: 2.3.0
+ optionalDependencies:
+ '@types/node': 20.17.10
+ transitivePeerDependencies:
+ - jiti
+ - less
+ - lightningcss
+ - msw
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - yaml
+
walk-sync@0.3.4:
dependencies:
ensure-posix-path: 1.1.1
@@ -21779,6 +22062,11 @@ snapshots:
dependencies:
isexe: 3.1.1
+ why-is-node-running@2.3.0:
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+
wide-align@1.1.5:
dependencies:
string-width: 4.2.3
From 67841dc0d31d6d08dffc5042b17aa2a3b7490789 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 11:34:52 -0500
Subject: [PATCH 03/29] Add node testing to CI
---
.github/workflows/ci.yml | 15 +++++++++++++++
package.json | 2 +-
.../@glimmer-workspace/node-tests/package.json | 2 +-
3 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index aa1729faa..4391a99a0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -45,6 +45,7 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: pnpm repo:lint:all
+
verify:
name: Verify
runs-on: ubuntu-latest
@@ -62,6 +63,20 @@ jobs:
- run: pnpm repo:update:metadata
- uses: wyvox/action-no-git-diff@v1
+
+ test-node:
+ name: Node
+ runs-on: ubuntu-latest
+ needs: ['install_dependencies']
+ timeout-minutes: 5
+
+ steps:
+ - uses: wyvox/action@v1
+ with:
+ node-version: 22.13.0
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: pnpm test:node
+
test-chrome:
name: Chrome
runs-on: ubuntu-latest
diff --git a/package.json b/package.json
index cfdbf92bd..bb53bdcfc 100644
--- a/package.json
+++ b/package.json
@@ -37,7 +37,7 @@
"test:babel-plugins": "yarn workspace @glimmer/vm-babel-plugins test",
"test:browserstack": "ember test --test-port=7774 --host 127.0.0.1 --config-file=testem-browserstack.js",
"test:lint": "eslint . --quiet",
- "test:node": "node bin/run-node-tests.mjs",
+ "test:node": "pnpm -r test:node",
"test:smoke": "SMOKE_TESTS=true ember test",
"ts": "node --disable-warning=ExperimentalWarning --experimental-strip-types",
"unlink:all": "esyes ./bin/unlink-all.mts"
diff --git a/packages/@glimmer-workspace/node-tests/package.json b/packages/@glimmer-workspace/node-tests/package.json
index ba3b89a63..abeea00ff 100644
--- a/packages/@glimmer-workspace/node-tests/package.json
+++ b/packages/@glimmer-workspace/node-tests/package.json
@@ -5,7 +5,7 @@
"private": true,
"scripts": {
"test:lint": "eslint . --quiet",
- "test:node": "vitest"
+ "test:node": "vitest --run"
},
"dependencies": {
"@glimmer/syntax": "workspace:*",
From 0e3dde17b5e25fcc1117e7ffc1250a611a84d4cd Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 11:35:11 -0500
Subject: [PATCH 04/29] delete unused file
---
bin/run-node-tests.mjs | 46 ------------------------------------------
1 file changed, 46 deletions(-)
delete mode 100755 bin/run-node-tests.mjs
diff --git a/bin/run-node-tests.mjs b/bin/run-node-tests.mjs
deleted file mode 100755
index 927f6ea45..000000000
--- a/bin/run-node-tests.mjs
+++ /dev/null
@@ -1,46 +0,0 @@
-import path from 'node:path';
-
-import { execaSync } from 'execa';
-
-const __dirname = new URL('.', import.meta.url).pathname;
-
-const PROJECT_ROOT = path.resolve(__dirname, '..');
-const EMBER_BIN = 'ember';
-const QUNIT_BIN = 'qunit';
-const NODE_TEST_GLOB = '@glimmer/{node,bundle-compiler}/test/**/*node-test.js';
-
-// With the TAP reporter, testem swallows any errors generated while running
-// this script that are not in TAP format and does not treat non-zero exit codes
-// as a test failure. This handler ensures that any non-zero exits emit a
-// TAP-compatible bail out message.
-process.on('exit', (code) => {
- if (code !== 0) {
- console.log('Bail out! Non-zero exit code ' + code);
- }
-});
-
-let outputDir = process.env['EMBER_CLI_TEST_OUTPUT'];
-
-// When running inside `ember test`, we already have a build we can use.
-if (outputDir) {
- process.chdir(outputDir);
- exec(QUNIT_BIN, [NODE_TEST_GLOB]);
-} else {
- // When running script directly, we need to build first to ensure we have
- // tests to run.
- process.chdir(PROJECT_ROOT);
- exec(EMBER_BIN, ['build']);
- exec(QUNIT_BIN, [`dist/${NODE_TEST_GLOB}`]);
-}
-
-// Executes a command and pipes stdout back to the user.
-/**
- * @param {string} command
- * @param {readonly string[] | undefined} args
- */
-function exec(command, args) {
- execaSync(command, args, {
- stdio: 'inherit',
- preferLocal: true,
- });
-}
From dcebdb43128d41064f9070c7568f13fd4f59fb95 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 11:35:44 -0500
Subject: [PATCH 05/29] Remove mention of run-node-tests
---
repo-metadata/metadata.json | 1 -
1 file changed, 1 deletion(-)
diff --git a/repo-metadata/metadata.json b/repo-metadata/metadata.json
index 5d3c8e26c..f5e903616 100644
--- a/repo-metadata/metadata.json
+++ b/repo-metadata/metadata.json
@@ -47,7 +47,6 @@
"./package.json": [[["default"], "./package.json"]],
"./patch-all.mjs": [[["default"], "./patch-all.mjs"]],
"./run-browserstack-tests.mjs": [[["default"], "./run-browserstack-tests.mjs"]],
- "./run-node-tests.mjs": [[["default"], "./run-node-tests.mjs"]],
"./run-tests.mjs": [[["default"], "./run-tests.mjs"]],
"./run-types-tests.mjs": [[["default"], "./run-types-tests.mjs"]],
"./sync-npm-owners.mjs": [[["default"], "./sync-npm-owners.mjs"]]
From 42ee4d0edd67cb798a900cb5e26d05683296e0bd Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 11:48:48 -0500
Subject: [PATCH 06/29] Why isn't linting working?
---
.../package.json | 8 +-
.../tests}/prettier.test.ts | 0
pnpm-lock.yaml | 195 ++++++++++++++----
3 files changed, 162 insertions(+), 41 deletions(-)
rename packages/@glimmer-workspace/{node-tests => integration-node-tests}/package.json (67%)
rename packages/@glimmer-workspace/{node-tests => integration-node-tests/tests}/prettier.test.ts (100%)
diff --git a/packages/@glimmer-workspace/node-tests/package.json b/packages/@glimmer-workspace/integration-node-tests/package.json
similarity index 67%
rename from packages/@glimmer-workspace/node-tests/package.json
rename to packages/@glimmer-workspace/integration-node-tests/package.json
index abeea00ff..d3fa8b8d1 100644
--- a/packages/@glimmer-workspace/node-tests/package.json
+++ b/packages/@glimmer-workspace/integration-node-tests/package.json
@@ -1,8 +1,14 @@
{
- "name": "@glimmer-workspace/node-tests",
+ "name": "@glimmer-workspace/integration-node-tests",
"version": "0.92.0",
"type": "module",
"private": true,
+ "repo-meta": {
+ "strictness": "loose",
+ "lint": [
+ "tests/**/*"
+ ]
+ },
"scripts": {
"test:lint": "eslint . --quiet",
"test:node": "vitest --run"
diff --git a/packages/@glimmer-workspace/node-tests/prettier.test.ts b/packages/@glimmer-workspace/integration-node-tests/tests/prettier.test.ts
similarity index 100%
rename from packages/@glimmer-workspace/node-tests/prettier.test.ts
rename to packages/@glimmer-workspace/integration-node-tests/tests/prettier.test.ts
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d04a72f4c..32b99ff72 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -67,7 +67,7 @@ importers:
version: 2.0.3
'@pnpm/workspace.find-packages':
specifier: ^1000.0.3
- version: 1000.0.3(@pnpm/logger@5.2.0)
+ version: 1000.0.3(@pnpm/logger@1000.0.0)
'@rollup/plugin-sucrase':
specifier: ^5.0.2
version: 5.0.2(rollup@4.31.0-0)
@@ -308,7 +308,7 @@ importers:
version: 1000.1.0
'@pnpm/workspace.find-packages':
specifier: ^1000.0.1
- version: 1000.0.5(@pnpm/logger@1000.0.0)
+ version: 1000.0.5(@pnpm/logger@5.2.0)
'@types/node':
specifier: ^20.17.10
version: 20.17.10
@@ -592,6 +592,19 @@ importers:
specifier: ^9.18.0
version: 9.18.0(jiti@2.4.2)
+ packages/@glimmer-workspace/integration-node-tests:
+ dependencies:
+ '@glimmer/syntax':
+ specifier: workspace:*
+ version: link:../../@glimmer/syntax
+ prettier:
+ specifier: ^3.4.2
+ version: 3.4.2
+ devDependencies:
+ vitest:
+ specifier: ^3.0.4
+ version: 3.0.4(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
+
packages/@glimmer-workspace/integration-tests:
dependencies:
'@glimmer-workspace/test-utils':
@@ -737,19 +750,6 @@ importers:
specifier: workspace:*
version: link:../../../@glimmer/wire-format
- packages/@glimmer-workspace/node-tests:
- dependencies:
- '@glimmer/syntax':
- specifier: workspace:*
- version: link:../../@glimmer/syntax
- prettier:
- specifier: ^3.4.2
- version: 3.4.2
- devDependencies:
- vitest:
- specifier: ^3.0.4
- version: 3.0.4(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
-
packages/@glimmer-workspace/test-utils:
dependencies:
'@glimmer/interfaces':
@@ -12669,15 +12669,15 @@ snapshots:
'@pnpm/types': 12.2.0
load-json-file: 6.2.0
- '@pnpm/cli-utils@1000.0.3(@pnpm/logger@5.2.0)':
+ '@pnpm/cli-utils@1000.0.3(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
- '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@1000.0.0)
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@5.2.0)
- '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@5.2.0)
+ '@pnpm/logger': 1000.0.0
+ '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@1000.0.0)
+ '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@1000.0.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -12697,6 +12697,20 @@ snapshots:
chalk: 4.1.2
load-json-file: 6.2.0
+ '@pnpm/cli-utils@1000.0.5(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-meta': 1000.0.1
+ '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
+ '@pnpm/default-reporter': 1001.1.3(@pnpm/logger@5.2.0)
+ '@pnpm/error': 1000.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/manifest-utils': 1000.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/package-is-installable': 1000.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/read-project-manifest': 1000.0.3
+ '@pnpm/types': 1000.1.0
+ chalk: 4.1.2
+ load-json-file: 6.2.0
+
'@pnpm/cli-utils@4.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -12715,7 +12729,7 @@ snapshots:
'@pnpm/config.env-replace@3.0.0': {}
- '@pnpm/config@1002.1.0(@pnpm/logger@5.2.0)':
+ '@pnpm/config@1002.1.0(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/catalogs.config': 1000.0.1
'@pnpm/catalogs.types': 1000.0.0
@@ -12725,7 +12739,7 @@ snapshots:
'@pnpm/git-utils': 1000.0.0
'@pnpm/matcher': 1000.0.0
'@pnpm/npm-conf': 2.3.1
- '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@5.2.0)
+ '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@1000.0.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
'@pnpm/workspace.read-manifest': 1000.0.1
@@ -12775,6 +12789,36 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
+ '@pnpm/config@1002.1.2(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/catalogs.config': 1000.0.1
+ '@pnpm/catalogs.types': 1000.0.0
+ '@pnpm/config.env-replace': 3.0.0
+ '@pnpm/constants': 1001.0.0
+ '@pnpm/error': 1000.0.1
+ '@pnpm/git-utils': 1000.0.0
+ '@pnpm/matcher': 1000.0.0
+ '@pnpm/npm-conf': 3.0.0
+ '@pnpm/pnpmfile': 1001.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/read-project-manifest': 1000.0.3
+ '@pnpm/types': 1000.1.0
+ '@pnpm/workspace.read-manifest': 1000.0.1
+ better-path-resolve: 1.0.0
+ camelcase: 6.3.0
+ camelcase-keys: 6.2.2
+ can-write-to-dir: 1.1.1
+ is-subdir: 1.2.0
+ is-windows: 1.0.2
+ normalize-registry-url: 2.0.0
+ path-absolute: 1.0.1
+ path-name: 1.0.0
+ ramda: '@pnpm/ramda@0.28.1'
+ read-ini-file: 4.0.0
+ realpath-missing: 1.1.0
+ which: '@pnpm/which@3.0.1'
+ transitivePeerDependencies:
+ - '@pnpm/logger'
+
'@pnpm/config@21.8.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/catalogs.config': 0.1.1
@@ -12816,9 +12860,9 @@ snapshots:
'@pnpm/logger': 5.2.0
'@pnpm/types': 12.2.0
- '@pnpm/core-loggers@1000.1.0(@pnpm/logger@5.2.0)':
+ '@pnpm/core-loggers@1000.1.0(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.0.0
'@pnpm/core-loggers@1000.1.1(@pnpm/logger@1000.0.0)':
@@ -12826,6 +12870,11 @@ snapshots:
'@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.1.0
+ '@pnpm/core-loggers@1000.1.1(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/logger': 5.2.0
+ '@pnpm/types': 1000.1.0
+
'@pnpm/crypto.base32-hash@3.0.1':
dependencies:
'@pnpm/crypto.polyfill': 1.0.0
@@ -12855,15 +12904,15 @@ snapshots:
'@pnpm/dedupe.types@2.0.0': {}
- '@pnpm/default-reporter@1001.1.1(@pnpm/logger@5.2.0)':
+ '@pnpm/default-reporter@1001.1.1(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/dedupe.issues-renderer': 1000.0.0
'@pnpm/dedupe.types': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/render-peer-issues': 1000.0.1
'@pnpm/types': 1000.0.0
ansi-diff: 1.2.0
@@ -12903,6 +12952,30 @@ snapshots:
stacktracey: 2.1.8
string-length: 4.0.2
+ '@pnpm/default-reporter@1001.1.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-meta': 1000.0.1
+ '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/dedupe.issues-renderer': 1000.0.0
+ '@pnpm/dedupe.types': 1000.0.0
+ '@pnpm/error': 1000.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/render-peer-issues': 1000.0.2
+ '@pnpm/types': 1000.1.0
+ ansi-diff: 1.2.0
+ boxen: 5.1.2
+ chalk: 4.1.2
+ cli-truncate: 2.1.0
+ normalize-path: 3.0.0
+ pretty-bytes: 5.6.0
+ pretty-ms: 7.0.1
+ ramda: '@pnpm/ramda@0.28.1'
+ rxjs: 7.8.1
+ semver: 7.6.3
+ stacktracey: 2.1.8
+ string-length: 4.0.2
+
'@pnpm/default-reporter@14.0.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13065,9 +13138,9 @@ snapshots:
bole: 5.0.17
ndjson: 2.0.0
- '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@5.2.0)':
+ '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/error': 1000.0.1
'@pnpm/types': 1000.0.0
transitivePeerDependencies:
@@ -13081,6 +13154,14 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
+ '@pnpm/manifest-utils@1000.0.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/error': 1000.0.1
+ '@pnpm/types': 1000.1.0
+ transitivePeerDependencies:
+ - '@pnpm/logger'
+
'@pnpm/manifest-utils@6.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13126,13 +13207,13 @@ snapshots:
'@pnpm/network.ca-file': 1.0.2
config-chain: 1.1.13
- '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@5.2.0)':
+ '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/env.system-node-version': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.0.0
detect-libc: 2.0.3
execa: safe-execa@0.1.2
@@ -13152,6 +13233,19 @@ snapshots:
mem: 8.1.1
semver: 7.6.3
+ '@pnpm/package-is-installable@1000.0.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-meta': 1000.0.1
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/env.system-node-version': 1000.0.1
+ '@pnpm/error': 1000.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/types': 1000.1.0
+ detect-libc: 2.0.3
+ execa: safe-execa@0.1.2
+ mem: 8.1.1
+ semver: 7.6.3
+
'@pnpm/package-is-installable@9.0.12(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13191,14 +13285,14 @@ snapshots:
'@pnpm/patching.types@1000.0.0': {}
- '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@5.2.0)':
+ '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/crypto.hash': 1000.0.0
'@pnpm/error': 1000.0.1
'@pnpm/hooks.types': 1001.0.0
'@pnpm/lockfile.types': 1001.0.0
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/store-controller-types': 1000.1.0
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -13217,6 +13311,19 @@ snapshots:
chalk: 4.1.2
path-absolute: 1.0.1
+ '@pnpm/pnpmfile@1001.0.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/crypto.hash': 1000.0.0
+ '@pnpm/error': 1000.0.1
+ '@pnpm/hooks.types': 1001.0.1
+ '@pnpm/lockfile.types': 1001.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/store-controller-types': 1001.0.0
+ '@pnpm/types': 1000.1.0
+ chalk: 4.1.2
+ path-absolute: 1.0.1
+
'@pnpm/pnpmfile@6.0.13(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13375,11 +13482,11 @@ snapshots:
dependencies:
isexe: 2.0.0
- '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@5.2.0)':
+ '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@1000.0.0)
'@pnpm/fs.find-packages': 1000.0.1
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.0.0
'@pnpm/util.lex-comparator': 3.0.0
@@ -13391,6 +13498,14 @@ snapshots:
'@pnpm/types': 1000.1.0
'@pnpm/util.lex-comparator': 3.0.0
+ '@pnpm/workspace.find-packages@1000.0.5(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-utils': 1000.0.5(@pnpm/logger@5.2.0)
+ '@pnpm/fs.find-packages': 1000.0.3
+ '@pnpm/logger': 5.2.0
+ '@pnpm/types': 1000.1.0
+ '@pnpm/util.lex-comparator': 3.0.0
+
'@pnpm/workspace.find-packages@4.0.14(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-utils': 4.0.9(@pnpm/logger@5.2.0)
From 4554a5ab54dae27d777ad4b8636048311185d59b Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 12:43:50 -0500
Subject: [PATCH 07/29] As I feared, we have the build wrong
---
.../integration-node-tests/package.json | 1 +
.../tests/prettier.test.ts | 111 ++++++++++-
pnpm-lock.yaml | 172 +++---------------
turbo.json | 3 +-
4 files changed, 143 insertions(+), 144 deletions(-)
diff --git a/packages/@glimmer-workspace/integration-node-tests/package.json b/packages/@glimmer-workspace/integration-node-tests/package.json
index d3fa8b8d1..2c8b3576e 100644
--- a/packages/@glimmer-workspace/integration-node-tests/package.json
+++ b/packages/@glimmer-workspace/integration-node-tests/package.json
@@ -15,6 +15,7 @@
},
"dependencies": {
"@glimmer/syntax": "workspace:*",
+ "execa": "^9.5.2",
"prettier": "^3.4.2"
},
"devDependencies": {
diff --git a/packages/@glimmer-workspace/integration-node-tests/tests/prettier.test.ts b/packages/@glimmer-workspace/integration-node-tests/tests/prettier.test.ts
index 0d7713a79..c7e1be449 100644
--- a/packages/@glimmer-workspace/integration-node-tests/tests/prettier.test.ts
+++ b/packages/@glimmer-workspace/integration-node-tests/tests/prettier.test.ts
@@ -1,7 +1,12 @@
import { describe, it, expect } from 'vitest';
import * as prettier from 'prettier';
import { createRequire } from 'node:module';
+import os from 'node:os';
+import { join } from 'node:path';
+import { $ } from 'execa';
+import { readFile, mkdtemp, writeFile } from 'node:fs/promises';
+const monorepoRoot = join(import.meta.dirname, '../../../../');
const require = createRequire(import.meta.url);
/**
@@ -15,7 +20,7 @@ describe('Prettier', () => {
it(`SANITY: we've symlinked to the in-repo copy of @glimmer/syntax`, async () => {
let workspacePath = require.resolve('@glimmer/syntax');
let prettierPath = require.resolve('prettier');
- let prettierGlimmer = require.resolve('@glimmer/syntax', {paths: [prettierPath]});
+ let prettierGlimmer = require.resolve('@glimmer/syntax', { paths: [prettierPath] });
expect(prettierGlimmer).toBe(workspacePath);
});
@@ -34,4 +39,108 @@ describe('Prettier', () => {
"
`);
});
+
+ /**
+ * This is important because we don't test the code we ship to npm
+ * (the code we ship to npm goes through a build process, and we opted
+ * to not do that for in-repo dev ergonomics)
+ *
+ * Process:
+ * 1. build @glimmer/syntax (and dependencies)
+ * 2. creat a tmp folder
+ * 3. create a project in that tmp folder
+ * 4. pack and add the tarballs to the project
+ * 6. See if a basic import and call to pre-process works
+ */
+ it('Uses the real build, and not our monorepo infra', async () => {
+ /**
+ * pnpm packs tgz's with the name format ${hyphenated-package-name}-${version}.tgz
+ */
+ async function versionOf(name) {
+ let manifestPath = join(monorepoRoot, 'packages', name, 'package.json');
+ let manifestString = await readFile(manifestPath);
+ return JSON.parse(manifestString.toString()).version;
+ }
+
+ let tarballs = {
+ syntax: `glimmer-syntax-${await versionOf('@glimmer/syntax')}`,
+ util: `glimmer-util-${await versionOf('@glimmer/util')}`,
+ wireFormat: `glimmer-wire-format-${await versionOf('@glimmer/wire-format')}`,
+ };
+
+ let file = `console.log((await import('@glimmer/syntax')).preprocess(''));`;
+ let manifest = JSON.stringify({
+ name: 'real-test',
+ type: 'module',
+ private: true,
+ devDependencies: {
+ '@glimmer/syntax': `file://./${tarballs.syntax}`,
+ '@glimmer/util': `file://./${tarballs.util}`,
+ '@glimmer/wire-format': `file://./${tarballs.wireFormat}`,
+ },
+ pnpm: {
+ overrides: {
+ '@glimmer/syntax': `file://./${tarballs.syntax}.tgz`,
+ '@glimmer/util': `file://./${tarballs.util}.tgz`,
+ '@glimmer/wire-format': `file://./${tarballs.wireFormat}.tgz`,
+ },
+ },
+ });
+
+ async function newTmpDir() {
+ const tmpDir = await mkdtemp(
+ join(os.tmpdir(), `glimmer-node-integration-testing-${Date.now()}-`)
+ );
+
+ return tmpDir;
+ }
+
+ function inDir(dir: string, cmd: string) {
+ return $({ cwd: dir, preferLocal: true, shell: true })(cmd);
+ }
+ function inRoot(cmd: string) {
+ return inDir(monorepoRoot, cmd);
+ }
+
+ function inTmp(cmd: string) {
+ return inDir(tmp, cmd);
+ }
+
+ //////////
+ // 1 build
+ // When turbo is set up with "dependsOn": "["^prepack"], we see these packages
+ // - @glimmer/syntax
+ // - @glimmer/util
+ // - @glimmer/wire-format
+ //
+ // So these 3 packages need to be packed and installed
+ await inRoot(`pnpm turbo --filter "@glimmer/syntax" prepack`);
+
+ //////////
+ // 2 create a space that doesn't mess up the repo
+ let tmp = await newTmpDir();
+
+ console.debug(`Project can be inspected at ${tmp}`);
+
+ //////////
+ // 3 create a project that represents real consumer usage
+ await writeFile(join(tmp, 'package.json'), manifest);
+ await writeFile(join(tmp, 'index.js'), file);
+
+ //////////
+ // 4 install the tarballs using stable names so we don't have to
+ // dynamically build the package.json
+ let packToTemp = `pnpm pack --pack-destination ${tmp}`;
+ await inDir(join(monorepoRoot, 'packages/@glimmer/syntax'), packToTemp);
+ await inDir(join(monorepoRoot, 'packages/@glimmer/util'), packToTemp);
+ await inDir(join(monorepoRoot, 'packages/@glimmer/wire-format'), packToTemp);
+ await inTmp(`pnpm install`);
+
+ //////////
+ // 5 does it work?
+ let result = await inTmp(`node index.js`);
+ let stdout = result.stdout;
+
+ expect(stdout).toMatchInlineSnapshot();
+ });
});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 32b99ff72..202b7bd4d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -67,7 +67,7 @@ importers:
version: 2.0.3
'@pnpm/workspace.find-packages':
specifier: ^1000.0.3
- version: 1000.0.3(@pnpm/logger@1000.0.0)
+ version: 1000.0.3(@pnpm/logger@5.2.0)
'@rollup/plugin-sucrase':
specifier: ^5.0.2
version: 5.0.2(rollup@4.31.0-0)
@@ -308,7 +308,7 @@ importers:
version: 1000.1.0
'@pnpm/workspace.find-packages':
specifier: ^1000.0.1
- version: 1000.0.5(@pnpm/logger@5.2.0)
+ version: 1000.0.5(@pnpm/logger@1000.0.0)
'@types/node':
specifier: ^20.17.10
version: 20.17.10
@@ -597,6 +597,9 @@ importers:
'@glimmer/syntax':
specifier: workspace:*
version: link:../../@glimmer/syntax
+ execa:
+ specifier: ^9.5.2
+ version: 9.5.2
prettier:
specifier: ^3.4.2
version: 3.4.2
@@ -12669,15 +12672,15 @@ snapshots:
'@pnpm/types': 12.2.0
load-json-file: 6.2.0
- '@pnpm/cli-utils@1000.0.3(@pnpm/logger@1000.0.0)':
+ '@pnpm/cli-utils@1000.0.3(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
- '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@1000.0.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@5.2.0)
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 1000.0.0
- '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@1000.0.0)
- '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@1000.0.0)
+ '@pnpm/logger': 5.2.0
+ '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@5.2.0)
+ '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@5.2.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -12697,20 +12700,6 @@ snapshots:
chalk: 4.1.2
load-json-file: 6.2.0
- '@pnpm/cli-utils@1000.0.5(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-meta': 1000.0.1
- '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
- '@pnpm/default-reporter': 1001.1.3(@pnpm/logger@5.2.0)
- '@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/manifest-utils': 1000.0.3(@pnpm/logger@5.2.0)
- '@pnpm/package-is-installable': 1000.0.3(@pnpm/logger@5.2.0)
- '@pnpm/read-project-manifest': 1000.0.3
- '@pnpm/types': 1000.1.0
- chalk: 4.1.2
- load-json-file: 6.2.0
-
'@pnpm/cli-utils@4.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -12729,7 +12718,7 @@ snapshots:
'@pnpm/config.env-replace@3.0.0': {}
- '@pnpm/config@1002.1.0(@pnpm/logger@1000.0.0)':
+ '@pnpm/config@1002.1.0(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/catalogs.config': 1000.0.1
'@pnpm/catalogs.types': 1000.0.0
@@ -12739,7 +12728,7 @@ snapshots:
'@pnpm/git-utils': 1000.0.0
'@pnpm/matcher': 1000.0.0
'@pnpm/npm-conf': 2.3.1
- '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@1000.0.0)
+ '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@5.2.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
'@pnpm/workspace.read-manifest': 1000.0.1
@@ -12789,36 +12778,6 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
- '@pnpm/config@1002.1.2(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/catalogs.config': 1000.0.1
- '@pnpm/catalogs.types': 1000.0.0
- '@pnpm/config.env-replace': 3.0.0
- '@pnpm/constants': 1001.0.0
- '@pnpm/error': 1000.0.1
- '@pnpm/git-utils': 1000.0.0
- '@pnpm/matcher': 1000.0.0
- '@pnpm/npm-conf': 3.0.0
- '@pnpm/pnpmfile': 1001.0.3(@pnpm/logger@5.2.0)
- '@pnpm/read-project-manifest': 1000.0.3
- '@pnpm/types': 1000.1.0
- '@pnpm/workspace.read-manifest': 1000.0.1
- better-path-resolve: 1.0.0
- camelcase: 6.3.0
- camelcase-keys: 6.2.2
- can-write-to-dir: 1.1.1
- is-subdir: 1.2.0
- is-windows: 1.0.2
- normalize-registry-url: 2.0.0
- path-absolute: 1.0.1
- path-name: 1.0.0
- ramda: '@pnpm/ramda@0.28.1'
- read-ini-file: 4.0.0
- realpath-missing: 1.1.0
- which: '@pnpm/which@3.0.1'
- transitivePeerDependencies:
- - '@pnpm/logger'
-
'@pnpm/config@21.8.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/catalogs.config': 0.1.1
@@ -12860,9 +12819,9 @@ snapshots:
'@pnpm/logger': 5.2.0
'@pnpm/types': 12.2.0
- '@pnpm/core-loggers@1000.1.0(@pnpm/logger@1000.0.0)':
+ '@pnpm/core-loggers@1000.1.0(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/types': 1000.0.0
'@pnpm/core-loggers@1000.1.1(@pnpm/logger@1000.0.0)':
@@ -12870,11 +12829,6 @@ snapshots:
'@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.1.0
- '@pnpm/core-loggers@1000.1.1(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/logger': 5.2.0
- '@pnpm/types': 1000.1.0
-
'@pnpm/crypto.base32-hash@3.0.1':
dependencies:
'@pnpm/crypto.polyfill': 1.0.0
@@ -12904,15 +12858,15 @@ snapshots:
'@pnpm/dedupe.types@2.0.0': {}
- '@pnpm/default-reporter@1001.1.1(@pnpm/logger@1000.0.0)':
+ '@pnpm/default-reporter@1001.1.1(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/dedupe.issues-renderer': 1000.0.0
'@pnpm/dedupe.types': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/render-peer-issues': 1000.0.1
'@pnpm/types': 1000.0.0
ansi-diff: 1.2.0
@@ -12952,30 +12906,6 @@ snapshots:
stacktracey: 2.1.8
string-length: 4.0.2
- '@pnpm/default-reporter@1001.1.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-meta': 1000.0.1
- '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/dedupe.issues-renderer': 1000.0.0
- '@pnpm/dedupe.types': 1000.0.0
- '@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/render-peer-issues': 1000.0.2
- '@pnpm/types': 1000.1.0
- ansi-diff: 1.2.0
- boxen: 5.1.2
- chalk: 4.1.2
- cli-truncate: 2.1.0
- normalize-path: 3.0.0
- pretty-bytes: 5.6.0
- pretty-ms: 7.0.1
- ramda: '@pnpm/ramda@0.28.1'
- rxjs: 7.8.1
- semver: 7.6.3
- stacktracey: 2.1.8
- string-length: 4.0.2
-
'@pnpm/default-reporter@14.0.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13138,9 +13068,9 @@ snapshots:
bole: 5.0.17
ndjson: 2.0.0
- '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@1000.0.0)':
+ '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/error': 1000.0.1
'@pnpm/types': 1000.0.0
transitivePeerDependencies:
@@ -13154,14 +13084,6 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
- '@pnpm/manifest-utils@1000.0.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/error': 1000.0.1
- '@pnpm/types': 1000.1.0
- transitivePeerDependencies:
- - '@pnpm/logger'
-
'@pnpm/manifest-utils@6.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13207,13 +13129,13 @@ snapshots:
'@pnpm/network.ca-file': 1.0.2
config-chain: 1.1.13
- '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@1000.0.0)':
+ '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/env.system-node-version': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/types': 1000.0.0
detect-libc: 2.0.3
execa: safe-execa@0.1.2
@@ -13233,19 +13155,6 @@ snapshots:
mem: 8.1.1
semver: 7.6.3
- '@pnpm/package-is-installable@1000.0.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-meta': 1000.0.1
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/env.system-node-version': 1000.0.1
- '@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/types': 1000.1.0
- detect-libc: 2.0.3
- execa: safe-execa@0.1.2
- mem: 8.1.1
- semver: 7.6.3
-
'@pnpm/package-is-installable@9.0.12(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13285,14 +13194,14 @@ snapshots:
'@pnpm/patching.types@1000.0.0': {}
- '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@1000.0.0)':
+ '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/crypto.hash': 1000.0.0
'@pnpm/error': 1000.0.1
'@pnpm/hooks.types': 1001.0.0
'@pnpm/lockfile.types': 1001.0.0
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/store-controller-types': 1000.1.0
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -13311,19 +13220,6 @@ snapshots:
chalk: 4.1.2
path-absolute: 1.0.1
- '@pnpm/pnpmfile@1001.0.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/crypto.hash': 1000.0.0
- '@pnpm/error': 1000.0.1
- '@pnpm/hooks.types': 1001.0.1
- '@pnpm/lockfile.types': 1001.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/store-controller-types': 1001.0.0
- '@pnpm/types': 1000.1.0
- chalk: 4.1.2
- path-absolute: 1.0.1
-
'@pnpm/pnpmfile@6.0.13(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13482,11 +13378,11 @@ snapshots:
dependencies:
isexe: 2.0.0
- '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@1000.0.0)':
+ '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@1000.0.0)
+ '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@5.2.0)
'@pnpm/fs.find-packages': 1000.0.1
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/types': 1000.0.0
'@pnpm/util.lex-comparator': 3.0.0
@@ -13498,14 +13394,6 @@ snapshots:
'@pnpm/types': 1000.1.0
'@pnpm/util.lex-comparator': 3.0.0
- '@pnpm/workspace.find-packages@1000.0.5(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-utils': 1000.0.5(@pnpm/logger@5.2.0)
- '@pnpm/fs.find-packages': 1000.0.3
- '@pnpm/logger': 5.2.0
- '@pnpm/types': 1000.1.0
- '@pnpm/util.lex-comparator': 3.0.0
-
'@pnpm/workspace.find-packages@4.0.14(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-utils': 4.0.9(@pnpm/logger@5.2.0)
diff --git a/turbo.json b/turbo.json
index fd41e11e9..c7635d380 100644
--- a/turbo.json
+++ b/turbo.json
@@ -34,7 +34,8 @@
"outputs": ["dist/**"]
},
"prepack": {
- "outputs": ["dist/**"]
+ "outputs": ["dist/**"],
+ "dependsOn": ["^prepack"]
},
"//#test:types": {
"inputs": ["**/dist/**", "tsconfig.dist.json"],
From 85685a9d8dceb833288afe39ff82a313fb0f62df Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 12:58:03 -0500
Subject: [PATCH 08/29] idk man
---
.../integration-node-tests/package.json | 2 +-
.../{tests => test}/prettier.test.ts | 23 ++++++++++++-------
2 files changed, 16 insertions(+), 9 deletions(-)
rename packages/@glimmer-workspace/integration-node-tests/{tests => test}/prettier.test.ts (84%)
diff --git a/packages/@glimmer-workspace/integration-node-tests/package.json b/packages/@glimmer-workspace/integration-node-tests/package.json
index 2c8b3576e..41896bfa7 100644
--- a/packages/@glimmer-workspace/integration-node-tests/package.json
+++ b/packages/@glimmer-workspace/integration-node-tests/package.json
@@ -6,7 +6,7 @@
"repo-meta": {
"strictness": "loose",
"lint": [
- "tests/**/*"
+ "test/**/*"
]
},
"scripts": {
diff --git a/packages/@glimmer-workspace/integration-node-tests/tests/prettier.test.ts b/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
similarity index 84%
rename from packages/@glimmer-workspace/integration-node-tests/tests/prettier.test.ts
rename to packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
index c7e1be449..f205dc1ad 100644
--- a/packages/@glimmer-workspace/integration-node-tests/tests/prettier.test.ts
+++ b/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
@@ -50,7 +50,7 @@ describe('Prettier', () => {
* 2. creat a tmp folder
* 3. create a project in that tmp folder
* 4. pack and add the tarballs to the project
- * 6. See if a basic import and call to pre-process works
+ * 5. See if a basic import and call to pre-process works
*/
it('Uses the real build, and not our monorepo infra', async () => {
/**
@@ -95,15 +95,15 @@ describe('Prettier', () => {
return tmpDir;
}
- function inDir(dir: string, cmd: string) {
- return $({ cwd: dir, preferLocal: true, shell: true })(cmd);
+ function inDir(dir: string, cmd: string, options = {}) {
+ return $({ cwd: dir, preferLocal: true, shell: true, ...options })(cmd);
}
function inRoot(cmd: string) {
return inDir(monorepoRoot, cmd);
}
- function inTmp(cmd: string) {
- return inDir(tmp, cmd);
+ function inTmp(cmd: string, options = {}) {
+ return inDir(tmp, cmd, options);
}
//////////
@@ -138,9 +138,16 @@ describe('Prettier', () => {
//////////
// 5 does it work?
- let result = await inTmp(`node index.js`);
- let stdout = result.stdout;
+ //
+ // NOTE: dev isn't allowed because it requires that @glimmer/env be compiled away
+ // let dev = await inTmp(`node --conditions="development" index.js`);
+ //
+ let prod = await inTmp(`node --conditions="production" index.js`);
+ // should also be prod, as dev won't work without a build system
+ let defaultConditions = await inTmp(`node index.js`);
- expect(stdout).toMatchInlineSnapshot();
+ expect(prod.stdout).toMatchInlineSnapshot();
+ // expect(dev.stdout).toMatchInlineSnapshot();
+ expect(defaultConditions.stdout).toMatchInlineSnapshot();
});
});
From b22bc20be52c8f008a402bdefa848287254a6413 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 13:07:01 -0500
Subject: [PATCH 09/29] run pnpm repo:update:metadata
---
repo-metadata/metadata.json | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/repo-metadata/metadata.json b/repo-metadata/metadata.json
index f5e903616..850d9c108 100644
--- a/repo-metadata/metadata.json
+++ b/repo-metadata/metadata.json
@@ -107,6 +107,21 @@
".": [[["default"], "./index.js"]]
}
},
+ {
+ "root": "packages/@glimmer-workspace/integration-node-tests",
+ "name": "@glimmer-workspace/integration-node-tests",
+ "version": "0.92.0",
+ "type": "module",
+ "private": true,
+ "repo-meta": {
+ "built": false,
+ "strictness": "loose",
+ "lint": ["test/**/*"]
+ },
+ "entryPoints": {
+ "./package.json": [[["default"], "./package.json"]]
+ }
+ },
{
"root": "packages/@glimmer-workspace/integration-tests",
"name": "@glimmer-workspace/integration-tests",
From 41c9a7b883ab38ecca72cb44c12c2073b6de4b8e Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 13:13:04 -0500
Subject: [PATCH 10/29] Lints -- these are actually all correct
---
.../integration-node-tests/test/prettier.test.ts | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts b/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
index f205dc1ad..301aec4c2 100644
--- a/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
+++ b/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
@@ -1,10 +1,11 @@
-import { describe, it, expect } from 'vitest';
-import * as prettier from 'prettier';
+import { mkdtemp, readFile, writeFile } from 'node:fs/promises';
import { createRequire } from 'node:module';
import os from 'node:os';
import { join } from 'node:path';
+
import { $ } from 'execa';
-import { readFile, mkdtemp, writeFile } from 'node:fs/promises';
+import * as prettier from 'prettier';
+import { describe, expect, it } from 'vitest';
const monorepoRoot = join(import.meta.dirname, '../../../../');
const require = createRequire(import.meta.url);
@@ -17,7 +18,7 @@ const require = createRequire(import.meta.url);
* copy of @glimmer/syntax
*/
describe('Prettier', () => {
- it(`SANITY: we've symlinked to the in-repo copy of @glimmer/syntax`, async () => {
+ it(`SANITY: we've symlinked to the in-repo copy of @glimmer/syntax`, () => {
let workspacePath = require.resolve('@glimmer/syntax');
let prettierPath = require.resolve('prettier');
let prettierGlimmer = require.resolve('@glimmer/syntax', { paths: [prettierPath] });
@@ -120,6 +121,7 @@ describe('Prettier', () => {
// 2 create a space that doesn't mess up the repo
let tmp = await newTmpDir();
+ // eslint-disable-next-line no-console
console.debug(`Project can be inspected at ${tmp}`);
//////////
From e484f96bb299fca644f36f0c8dbacbe661ec55af Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 14:58:31 -0500
Subject: [PATCH 11/29] Fix #1688
---
.../test/prettier.test.ts | 58 ++++++++++++++++++-
packages/@glimmer/debug-util/lib/present.ts | 4 +-
2 files changed, 57 insertions(+), 5 deletions(-)
diff --git a/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts b/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
index 301aec4c2..e4203a805 100644
--- a/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
+++ b/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
@@ -53,7 +53,7 @@ describe('Prettier', () => {
* 4. pack and add the tarballs to the project
* 5. See if a basic import and call to pre-process works
*/
- it('Uses the real build, and not our monorepo infra', async () => {
+ it('Uses the real build, and not our monorepo infra', { timeout: 20_000 }, async () => {
/**
* pnpm packs tgz's with the name format ${hyphenated-package-name}-${version}.tgz
*/
@@ -148,8 +148,60 @@ describe('Prettier', () => {
// should also be prod, as dev won't work without a build system
let defaultConditions = await inTmp(`node index.js`);
- expect(prod.stdout).toMatchInlineSnapshot();
+ expect(prod.stdout).toMatchInlineSnapshot(`
+ "{
+ type: 'Template',
+ body: [
+ {
+ type: 'ElementNode',
+ path: [Object],
+ attributes: [],
+ modifiers: [],
+ params: [],
+ comments: [],
+ children: [],
+ openTag: [j],
+ closeTag: [j],
+ loc: [j],
+ tag: [Getter/Setter],
+ blockParams: [Getter/Setter],
+ selfClosing: [Getter/Setter]
+ }
+ ],
+ blockParams: [],
+ loc: j {
+ data: J { source: [tt], hbsPositions: [Object], kind: 'HbsPosition' },
+ isInvisible: false
+ }
+ }"
+ `);
// expect(dev.stdout).toMatchInlineSnapshot();
- expect(defaultConditions.stdout).toMatchInlineSnapshot();
+ expect(defaultConditions.stdout).toMatchInlineSnapshot(`
+ "{
+ type: 'Template',
+ body: [
+ {
+ type: 'ElementNode',
+ path: [Object],
+ attributes: [],
+ modifiers: [],
+ params: [],
+ comments: [],
+ children: [],
+ openTag: [j],
+ closeTag: [j],
+ loc: [j],
+ tag: [Getter/Setter],
+ blockParams: [Getter/Setter],
+ selfClosing: [Getter/Setter]
+ }
+ ],
+ blockParams: [],
+ loc: j {
+ data: J { source: [tt], hbsPositions: [Object], kind: 'HbsPosition' },
+ isInvisible: false
+ }
+ }"
+ `);
});
});
diff --git a/packages/@glimmer/debug-util/lib/present.ts b/packages/@glimmer/debug-util/lib/present.ts
index 5b2886e74..e03386ab4 100644
--- a/packages/@glimmer/debug-util/lib/present.ts
+++ b/packages/@glimmer/debug-util/lib/present.ts
@@ -14,8 +14,8 @@ export function assertPresent(value: T, message?: string): asserts value is P
}
}
-export function isPresentArray(list: readonly T[]): list is PresentArray {
- return list.length > 0;
+export function isPresentArray(list?: readonly T[]): list is PresentArray {
+ return list ? list.length > 0 : false;
}
export function ifPresent(
From ba76cdbb7ade52a7775261da9130dbcba1236b48 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 17:41:56 -0500
Subject: [PATCH 12/29] Move test project into a real project, rather than tmp
for easier poking around
---
package.json | 2 +-
.../integration-node-tests/.gitignore | 2 +
.../integration-node-tests/package.json | 1 +
.../test/prettier.test.ts | 171 +-----------------
.../integration-node-tests/test/smoke.test.ts | 25 +++
smoke-tests/node/.gitignore | 2 +
smoke-tests/node/package.json | 41 +++++
smoke-tests/node/setup.ts | 54 ++++++
smoke-tests/node/tests/syntax.test.ts | 8 +
smoke-tests/node/vite.config.ts | 3 +
tsconfig.json | 1 +
turbo.json | 1 +
12 files changed, 140 insertions(+), 171 deletions(-)
create mode 100644 packages/@glimmer-workspace/integration-node-tests/.gitignore
create mode 100644 packages/@glimmer-workspace/integration-node-tests/test/smoke.test.ts
create mode 100644 smoke-tests/node/.gitignore
create mode 100644 smoke-tests/node/package.json
create mode 100644 smoke-tests/node/setup.ts
create mode 100644 smoke-tests/node/tests/syntax.test.ts
create mode 100644 smoke-tests/node/vite.config.ts
diff --git a/package.json b/package.json
index bb53bdcfc..ec8c2060c 100644
--- a/package.json
+++ b/package.json
@@ -37,7 +37,7 @@
"test:babel-plugins": "yarn workspace @glimmer/vm-babel-plugins test",
"test:browserstack": "ember test --test-port=7774 --host 127.0.0.1 --config-file=testem-browserstack.js",
"test:lint": "eslint . --quiet",
- "test:node": "pnpm -r test:node",
+ "test:node": "pnpm turbo test:node",
"test:smoke": "SMOKE_TESTS=true ember test",
"ts": "node --disable-warning=ExperimentalWarning --experimental-strip-types",
"unlink:all": "esyes ./bin/unlink-all.mts"
diff --git a/packages/@glimmer-workspace/integration-node-tests/.gitignore b/packages/@glimmer-workspace/integration-node-tests/.gitignore
new file mode 100644
index 000000000..8d12edbe8
--- /dev/null
+++ b/packages/@glimmer-workspace/integration-node-tests/.gitignore
@@ -0,0 +1,2 @@
+packages/
+pnpm-lock.yaml
diff --git a/packages/@glimmer-workspace/integration-node-tests/package.json b/packages/@glimmer-workspace/integration-node-tests/package.json
index 41896bfa7..cd72c9fcc 100644
--- a/packages/@glimmer-workspace/integration-node-tests/package.json
+++ b/packages/@glimmer-workspace/integration-node-tests/package.json
@@ -19,6 +19,7 @@
"prettier": "^3.4.2"
},
"devDependencies": {
+ "@glimmer-workspace/repo-metadata": "workspace:*",
"vitest": "^3.0.4"
}
}
diff --git a/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts b/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
index e4203a805..fd6ce4985 100644
--- a/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
+++ b/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
@@ -1,13 +1,8 @@
-import { mkdtemp, readFile, writeFile } from 'node:fs/promises';
import { createRequire } from 'node:module';
-import os from 'node:os';
-import { join } from 'node:path';
-import { $ } from 'execa';
import * as prettier from 'prettier';
import { describe, expect, it } from 'vitest';
-const monorepoRoot = join(import.meta.dirname, '../../../../');
const require = createRequire(import.meta.url);
/**
@@ -18,7 +13,7 @@ const require = createRequire(import.meta.url);
* copy of @glimmer/syntax
*/
describe('Prettier', () => {
- it(`SANITY: we've symlinked to the in-repo copy of @glimmer/syntax`, () => {
+ it(`SMOKE: we've symlinked to the in-repo copy of @glimmer/syntax`, () => {
let workspacePath = require.resolve('@glimmer/syntax');
let prettierPath = require.resolve('prettier');
let prettierGlimmer = require.resolve('@glimmer/syntax', { paths: [prettierPath] });
@@ -40,168 +35,4 @@ describe('Prettier', () => {
"
`);
});
-
- /**
- * This is important because we don't test the code we ship to npm
- * (the code we ship to npm goes through a build process, and we opted
- * to not do that for in-repo dev ergonomics)
- *
- * Process:
- * 1. build @glimmer/syntax (and dependencies)
- * 2. creat a tmp folder
- * 3. create a project in that tmp folder
- * 4. pack and add the tarballs to the project
- * 5. See if a basic import and call to pre-process works
- */
- it('Uses the real build, and not our monorepo infra', { timeout: 20_000 }, async () => {
- /**
- * pnpm packs tgz's with the name format ${hyphenated-package-name}-${version}.tgz
- */
- async function versionOf(name) {
- let manifestPath = join(monorepoRoot, 'packages', name, 'package.json');
- let manifestString = await readFile(manifestPath);
- return JSON.parse(manifestString.toString()).version;
- }
-
- let tarballs = {
- syntax: `glimmer-syntax-${await versionOf('@glimmer/syntax')}`,
- util: `glimmer-util-${await versionOf('@glimmer/util')}`,
- wireFormat: `glimmer-wire-format-${await versionOf('@glimmer/wire-format')}`,
- };
-
- let file = `console.log((await import('@glimmer/syntax')).preprocess(''));`;
- let manifest = JSON.stringify({
- name: 'real-test',
- type: 'module',
- private: true,
- devDependencies: {
- '@glimmer/syntax': `file://./${tarballs.syntax}`,
- '@glimmer/util': `file://./${tarballs.util}`,
- '@glimmer/wire-format': `file://./${tarballs.wireFormat}`,
- },
- pnpm: {
- overrides: {
- '@glimmer/syntax': `file://./${tarballs.syntax}.tgz`,
- '@glimmer/util': `file://./${tarballs.util}.tgz`,
- '@glimmer/wire-format': `file://./${tarballs.wireFormat}.tgz`,
- },
- },
- });
-
- async function newTmpDir() {
- const tmpDir = await mkdtemp(
- join(os.tmpdir(), `glimmer-node-integration-testing-${Date.now()}-`)
- );
-
- return tmpDir;
- }
-
- function inDir(dir: string, cmd: string, options = {}) {
- return $({ cwd: dir, preferLocal: true, shell: true, ...options })(cmd);
- }
- function inRoot(cmd: string) {
- return inDir(monorepoRoot, cmd);
- }
-
- function inTmp(cmd: string, options = {}) {
- return inDir(tmp, cmd, options);
- }
-
- //////////
- // 1 build
- // When turbo is set up with "dependsOn": "["^prepack"], we see these packages
- // - @glimmer/syntax
- // - @glimmer/util
- // - @glimmer/wire-format
- //
- // So these 3 packages need to be packed and installed
- await inRoot(`pnpm turbo --filter "@glimmer/syntax" prepack`);
-
- //////////
- // 2 create a space that doesn't mess up the repo
- let tmp = await newTmpDir();
-
- // eslint-disable-next-line no-console
- console.debug(`Project can be inspected at ${tmp}`);
-
- //////////
- // 3 create a project that represents real consumer usage
- await writeFile(join(tmp, 'package.json'), manifest);
- await writeFile(join(tmp, 'index.js'), file);
-
- //////////
- // 4 install the tarballs using stable names so we don't have to
- // dynamically build the package.json
- let packToTemp = `pnpm pack --pack-destination ${tmp}`;
- await inDir(join(monorepoRoot, 'packages/@glimmer/syntax'), packToTemp);
- await inDir(join(monorepoRoot, 'packages/@glimmer/util'), packToTemp);
- await inDir(join(monorepoRoot, 'packages/@glimmer/wire-format'), packToTemp);
- await inTmp(`pnpm install`);
-
- //////////
- // 5 does it work?
- //
- // NOTE: dev isn't allowed because it requires that @glimmer/env be compiled away
- // let dev = await inTmp(`node --conditions="development" index.js`);
- //
- let prod = await inTmp(`node --conditions="production" index.js`);
- // should also be prod, as dev won't work without a build system
- let defaultConditions = await inTmp(`node index.js`);
-
- expect(prod.stdout).toMatchInlineSnapshot(`
- "{
- type: 'Template',
- body: [
- {
- type: 'ElementNode',
- path: [Object],
- attributes: [],
- modifiers: [],
- params: [],
- comments: [],
- children: [],
- openTag: [j],
- closeTag: [j],
- loc: [j],
- tag: [Getter/Setter],
- blockParams: [Getter/Setter],
- selfClosing: [Getter/Setter]
- }
- ],
- blockParams: [],
- loc: j {
- data: J { source: [tt], hbsPositions: [Object], kind: 'HbsPosition' },
- isInvisible: false
- }
- }"
- `);
- // expect(dev.stdout).toMatchInlineSnapshot();
- expect(defaultConditions.stdout).toMatchInlineSnapshot(`
- "{
- type: 'Template',
- body: [
- {
- type: 'ElementNode',
- path: [Object],
- attributes: [],
- modifiers: [],
- params: [],
- comments: [],
- children: [],
- openTag: [j],
- closeTag: [j],
- loc: [j],
- tag: [Getter/Setter],
- blockParams: [Getter/Setter],
- selfClosing: [Getter/Setter]
- }
- ],
- blockParams: [],
- loc: j {
- data: J { source: [tt], hbsPositions: [Object], kind: 'HbsPosition' },
- isInvisible: false
- }
- }"
- `);
- });
});
diff --git a/packages/@glimmer-workspace/integration-node-tests/test/smoke.test.ts b/packages/@glimmer-workspace/integration-node-tests/test/smoke.test.ts
new file mode 100644
index 000000000..c9f2a82fe
--- /dev/null
+++ b/packages/@glimmer-workspace/integration-node-tests/test/smoke.test.ts
@@ -0,0 +1,25 @@
+import { join } from 'node:path';
+
+import { WORKSPACE_ROOT } from '@glimmer-workspace/repo-metadata';
+import { $ } from 'execa';
+import { describe, it } from 'vitest';
+
+const NODE_SMOKE_DIR = join(WORKSPACE_ROOT, './smoke-tests/node');
+
+function inNodeSmoke(cmd: string, options = {}) {
+ return $({ cwd: NODE_SMOKE_DIR, preferLocal: true, shell: true, ...options })(cmd);
+}
+
+describe('Smake Tests', () => {
+ /**
+ * This is important because we don't test the code we ship to npm
+ * (the code we ship to npm goes through a build process, and we opted
+ * to not do that for in-repo dev ergonomics)
+ */
+ it('Uses the real build, and not our monorepo infra', { timeout: 20_000 }, async () => {
+ await inNodeSmoke(
+ `node --disable-warning=ExperimentalWarning --experimental-strip-types ./setup.ts`
+ );
+ await inNodeSmoke(`pnpm run test:node`);
+ });
+});
diff --git a/smoke-tests/node/.gitignore b/smoke-tests/node/.gitignore
new file mode 100644
index 000000000..8d12edbe8
--- /dev/null
+++ b/smoke-tests/node/.gitignore
@@ -0,0 +1,2 @@
+packages/
+pnpm-lock.yaml
diff --git a/smoke-tests/node/package.json b/smoke-tests/node/package.json
new file mode 100644
index 000000000..90363ec3b
--- /dev/null
+++ b/smoke-tests/node/package.json
@@ -0,0 +1,41 @@
+{
+ "name": "@glimmer-workspace/smoke-tests-node",
+ "type": "module",
+ "private": true,
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "exports": {
+ ".": "./setup.ts"
+ },
+ "scripts": {
+ "test:lint": "eslint . --quiet",
+ "test:node": "NODE_ENV=production vitest --run",
+ "test:setup": "node --disable-warning=ExperimentalWarning --experimental-strip-types ./setup.ts"
+ },
+ "devDependencies": {
+ "execa": "^9.5.2",
+ "vitest": "^3.0.4"
+ },
+ "config": {
+ "tsconfig": "../../tsconfig.json"
+ },
+ "dependencies": {
+ "@glimmer/syntax": "file:packages/@glimmer/syntax.tgz",
+ "@glimmer/util": "file:packages/@glimmer/util.tgz",
+ "@glimmer/wire-format": "file:packages/@glimmer/wire-format.tgz",
+ "@glimmer/compiler": "file:packages/@glimmer/compiler.tgz",
+ "@glimmer/interfaces": "file:packages/@glimmer/interfaces.tgz",
+ "@glimmer/runtime": "file:packages/@glimmer/runtime.tgz"
+ },
+ "pnpm": {
+ "overrides": {
+ "@glimmer/syntax": "file:packages/@glimmer/syntax.tgz",
+ "@glimmer/util": "file:packages/@glimmer/util.tgz",
+ "@glimmer/wire-format": "file:packages/@glimmer/wire-format.tgz",
+ "@glimmer/compiler": "file:packages/@glimmer/compiler.tgz",
+ "@glimmer/interfaces": "file:packages/@glimmer/interfaces.tgz",
+ "@glimmer/runtime": "file:packages/@glimmer/runtime.tgz"
+ }
+ }
+}
diff --git a/smoke-tests/node/setup.ts b/smoke-tests/node/setup.ts
new file mode 100644
index 000000000..9cd389f05
--- /dev/null
+++ b/smoke-tests/node/setup.ts
@@ -0,0 +1,54 @@
+import { readFile } from 'node:fs/promises';
+import { join } from 'node:path';
+
+import { $ } from 'execa';
+
+const WORKSPACE_ROOT = join(import.meta.dirname, '../../');
+const NODE_SMOKE_DIR = join(WORKSPACE_ROOT, './smoke-tests/node');
+
+function inRoot(cmd: string, options = {}) {
+ return inDir(WORKSPACE_ROOT, cmd, options);
+}
+
+function inDir(dir: string, cmd: string, options = {}) {
+ return $({
+ cwd: dir,
+ preferLocal: true,
+ shell: true,
+ ...options,
+ })(cmd);
+}
+
+export function inNodeSmoke(cmd: string, options = {}) {
+ return inDir(NODE_SMOKE_DIR, cmd, options);
+}
+
+export async function prepare() {
+ //////////
+ // build
+ // When turbo is set up with "dependsOn": "["^prepack"], we see these packages
+ // - @glimmer/syntax
+ // - @glimmer/util
+ // - @glimmer/wire-format
+ //
+ // So these 3 packages need to be packed and installed
+ await inRoot(`pnpm turbo prepack`);
+
+ let manifestPath = join(WORKSPACE_ROOT, 'smoke-tests/node/package.json');
+ let manifest = JSON.parse((await readFile(manifestPath)).toString());
+ let deps = Object.keys(manifest.dependencies);
+
+ //////////
+ // install the tarballs using stable names so we don't have to
+ // dynamically build the package.json
+ let pack = (out: string) => `pnpm pack --out ${join(NODE_SMOKE_DIR, 'packages', out)}.tgz`;
+
+ for (let dep of deps) {
+ await inDir(join(WORKSPACE_ROOT, `packages/${dep}`), pack(dep));
+ }
+}
+
+if (process.argv[1] === import.meta.filename) {
+ await prepare();
+ await inNodeSmoke(`pnpm install --ignore-workspace`);
+}
diff --git a/smoke-tests/node/tests/syntax.test.ts b/smoke-tests/node/tests/syntax.test.ts
new file mode 100644
index 000000000..a86a703ec
--- /dev/null
+++ b/smoke-tests/node/tests/syntax.test.ts
@@ -0,0 +1,8 @@
+import { preprocess } from '@glimmer/syntax';
+import { describe, it, expect } from 'vitest';
+
+describe('@glimmer/syntax', () => {
+ it('process()', () => {
+ expect(preprocess('')).toMatchInlineSnapshot();
+ });
+});
diff --git a/smoke-tests/node/vite.config.ts b/smoke-tests/node/vite.config.ts
new file mode 100644
index 000000000..c049f46e1
--- /dev/null
+++ b/smoke-tests/node/vite.config.ts
@@ -0,0 +1,3 @@
+import { defineConfig } from 'vite';
+
+export default defineConfig({});
diff --git a/tsconfig.json b/tsconfig.json
index 5df27cdb9..c0b5a690e 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -34,6 +34,7 @@
"packages/@types/*/index.*",
"packages/@types/*/lib/**/*",
"benchmark/**/*",
+ "smoke-tests/**/*",
"bin/**/*",
"**/*.config.mts"
],
diff --git a/turbo.json b/turbo.json
index c7635d380..daeaaee5f 100644
--- a/turbo.json
+++ b/turbo.json
@@ -25,6 +25,7 @@
"cache": false,
"dependsOn": ["test:lint", "test:publint"]
},
+ "test:node": {},
"test:lint": {},
"test:publint": {
"dependsOn": ["prepack", "prepare"]
From ddd5f2b147eb0db0df4f8f42bfca1d4dc6883f2d Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 17:49:12 -0500
Subject: [PATCH 13/29] Set vitest conditions
---
smoke-tests/node/package.json | 2 +-
smoke-tests/node/vite.config.ts | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/smoke-tests/node/package.json b/smoke-tests/node/package.json
index 90363ec3b..830fbe6b7 100644
--- a/smoke-tests/node/package.json
+++ b/smoke-tests/node/package.json
@@ -10,7 +10,7 @@
},
"scripts": {
"test:lint": "eslint . --quiet",
- "test:node": "NODE_ENV=production vitest --run",
+ "test:node": "vitest --run",
"test:setup": "node --disable-warning=ExperimentalWarning --experimental-strip-types ./setup.ts"
},
"devDependencies": {
diff --git a/smoke-tests/node/vite.config.ts b/smoke-tests/node/vite.config.ts
index c049f46e1..917bddabf 100644
--- a/smoke-tests/node/vite.config.ts
+++ b/smoke-tests/node/vite.config.ts
@@ -1,3 +1,7 @@
import { defineConfig } from 'vite';
-export default defineConfig({});
+export default defineConfig({
+ resolve: {
+ conditions: ['module', 'node', process.env.NODE_ENV ?? 'production']
+ }
+});
From 2d05f5a14b1c99f8e276e7a6e85fd70a0713cc21 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 18:06:26 -0500
Subject: [PATCH 14/29] Curious
---
.github/workflows/ci.yml | 17 ++++
pnpm-lock.yaml | 172 +++++++++++++++++++++++++++++++++------
2 files changed, 162 insertions(+), 27 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 4391a99a0..d00a92007 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -77,6 +77,23 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: pnpm test:node
+ test-smoke:
+ name: Smoke
+ runs-on: ubuntu-latest
+ needs: ['install_dependencies']
+ timeout-minutes: 5
+
+ steps:
+ - uses: wyvox/action@v1
+ with:
+ node-version: 22.13.0
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ - working-directory: ./smoke-tests/node
+ run: |
+ pnpm test:setup
+ pnpm test:node
+
+
test-chrome:
name: Chrome
runs-on: ubuntu-latest
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 202b7bd4d..95415f581 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -67,7 +67,7 @@ importers:
version: 2.0.3
'@pnpm/workspace.find-packages':
specifier: ^1000.0.3
- version: 1000.0.3(@pnpm/logger@5.2.0)
+ version: 1000.0.3(@pnpm/logger@1000.0.0)
'@rollup/plugin-sucrase':
specifier: ^5.0.2
version: 5.0.2(rollup@4.31.0-0)
@@ -308,7 +308,7 @@ importers:
version: 1000.1.0
'@pnpm/workspace.find-packages':
specifier: ^1000.0.1
- version: 1000.0.5(@pnpm/logger@1000.0.0)
+ version: 1000.0.5(@pnpm/logger@5.2.0)
'@types/node':
specifier: ^20.17.10
version: 20.17.10
@@ -604,6 +604,9 @@ importers:
specifier: ^3.4.2
version: 3.4.2
devDependencies:
+ '@glimmer-workspace/repo-metadata':
+ specifier: workspace:*
+ version: link:../../../repo-metadata
vitest:
specifier: ^3.0.4
version: 3.0.4(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
@@ -12672,15 +12675,15 @@ snapshots:
'@pnpm/types': 12.2.0
load-json-file: 6.2.0
- '@pnpm/cli-utils@1000.0.3(@pnpm/logger@5.2.0)':
+ '@pnpm/cli-utils@1000.0.3(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
- '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@1000.0.0)
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@5.2.0)
- '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@5.2.0)
+ '@pnpm/logger': 1000.0.0
+ '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@1000.0.0)
+ '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@1000.0.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -12700,6 +12703,20 @@ snapshots:
chalk: 4.1.2
load-json-file: 6.2.0
+ '@pnpm/cli-utils@1000.0.5(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-meta': 1000.0.1
+ '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
+ '@pnpm/default-reporter': 1001.1.3(@pnpm/logger@5.2.0)
+ '@pnpm/error': 1000.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/manifest-utils': 1000.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/package-is-installable': 1000.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/read-project-manifest': 1000.0.3
+ '@pnpm/types': 1000.1.0
+ chalk: 4.1.2
+ load-json-file: 6.2.0
+
'@pnpm/cli-utils@4.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -12718,7 +12735,7 @@ snapshots:
'@pnpm/config.env-replace@3.0.0': {}
- '@pnpm/config@1002.1.0(@pnpm/logger@5.2.0)':
+ '@pnpm/config@1002.1.0(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/catalogs.config': 1000.0.1
'@pnpm/catalogs.types': 1000.0.0
@@ -12728,7 +12745,7 @@ snapshots:
'@pnpm/git-utils': 1000.0.0
'@pnpm/matcher': 1000.0.0
'@pnpm/npm-conf': 2.3.1
- '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@5.2.0)
+ '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@1000.0.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
'@pnpm/workspace.read-manifest': 1000.0.1
@@ -12778,6 +12795,36 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
+ '@pnpm/config@1002.1.2(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/catalogs.config': 1000.0.1
+ '@pnpm/catalogs.types': 1000.0.0
+ '@pnpm/config.env-replace': 3.0.0
+ '@pnpm/constants': 1001.0.0
+ '@pnpm/error': 1000.0.1
+ '@pnpm/git-utils': 1000.0.0
+ '@pnpm/matcher': 1000.0.0
+ '@pnpm/npm-conf': 3.0.0
+ '@pnpm/pnpmfile': 1001.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/read-project-manifest': 1000.0.3
+ '@pnpm/types': 1000.1.0
+ '@pnpm/workspace.read-manifest': 1000.0.1
+ better-path-resolve: 1.0.0
+ camelcase: 6.3.0
+ camelcase-keys: 6.2.2
+ can-write-to-dir: 1.1.1
+ is-subdir: 1.2.0
+ is-windows: 1.0.2
+ normalize-registry-url: 2.0.0
+ path-absolute: 1.0.1
+ path-name: 1.0.0
+ ramda: '@pnpm/ramda@0.28.1'
+ read-ini-file: 4.0.0
+ realpath-missing: 1.1.0
+ which: '@pnpm/which@3.0.1'
+ transitivePeerDependencies:
+ - '@pnpm/logger'
+
'@pnpm/config@21.8.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/catalogs.config': 0.1.1
@@ -12819,9 +12866,9 @@ snapshots:
'@pnpm/logger': 5.2.0
'@pnpm/types': 12.2.0
- '@pnpm/core-loggers@1000.1.0(@pnpm/logger@5.2.0)':
+ '@pnpm/core-loggers@1000.1.0(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.0.0
'@pnpm/core-loggers@1000.1.1(@pnpm/logger@1000.0.0)':
@@ -12829,6 +12876,11 @@ snapshots:
'@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.1.0
+ '@pnpm/core-loggers@1000.1.1(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/logger': 5.2.0
+ '@pnpm/types': 1000.1.0
+
'@pnpm/crypto.base32-hash@3.0.1':
dependencies:
'@pnpm/crypto.polyfill': 1.0.0
@@ -12858,15 +12910,15 @@ snapshots:
'@pnpm/dedupe.types@2.0.0': {}
- '@pnpm/default-reporter@1001.1.1(@pnpm/logger@5.2.0)':
+ '@pnpm/default-reporter@1001.1.1(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/dedupe.issues-renderer': 1000.0.0
'@pnpm/dedupe.types': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/render-peer-issues': 1000.0.1
'@pnpm/types': 1000.0.0
ansi-diff: 1.2.0
@@ -12906,6 +12958,30 @@ snapshots:
stacktracey: 2.1.8
string-length: 4.0.2
+ '@pnpm/default-reporter@1001.1.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-meta': 1000.0.1
+ '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/dedupe.issues-renderer': 1000.0.0
+ '@pnpm/dedupe.types': 1000.0.0
+ '@pnpm/error': 1000.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/render-peer-issues': 1000.0.2
+ '@pnpm/types': 1000.1.0
+ ansi-diff: 1.2.0
+ boxen: 5.1.2
+ chalk: 4.1.2
+ cli-truncate: 2.1.0
+ normalize-path: 3.0.0
+ pretty-bytes: 5.6.0
+ pretty-ms: 7.0.1
+ ramda: '@pnpm/ramda@0.28.1'
+ rxjs: 7.8.1
+ semver: 7.6.3
+ stacktracey: 2.1.8
+ string-length: 4.0.2
+
'@pnpm/default-reporter@14.0.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13068,9 +13144,9 @@ snapshots:
bole: 5.0.17
ndjson: 2.0.0
- '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@5.2.0)':
+ '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/error': 1000.0.1
'@pnpm/types': 1000.0.0
transitivePeerDependencies:
@@ -13084,6 +13160,14 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
+ '@pnpm/manifest-utils@1000.0.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/error': 1000.0.1
+ '@pnpm/types': 1000.1.0
+ transitivePeerDependencies:
+ - '@pnpm/logger'
+
'@pnpm/manifest-utils@6.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13129,13 +13213,13 @@ snapshots:
'@pnpm/network.ca-file': 1.0.2
config-chain: 1.1.13
- '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@5.2.0)':
+ '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/env.system-node-version': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.0.0
detect-libc: 2.0.3
execa: safe-execa@0.1.2
@@ -13155,6 +13239,19 @@ snapshots:
mem: 8.1.1
semver: 7.6.3
+ '@pnpm/package-is-installable@1000.0.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-meta': 1000.0.1
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/env.system-node-version': 1000.0.1
+ '@pnpm/error': 1000.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/types': 1000.1.0
+ detect-libc: 2.0.3
+ execa: safe-execa@0.1.2
+ mem: 8.1.1
+ semver: 7.6.3
+
'@pnpm/package-is-installable@9.0.12(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13194,14 +13291,14 @@ snapshots:
'@pnpm/patching.types@1000.0.0': {}
- '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@5.2.0)':
+ '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/crypto.hash': 1000.0.0
'@pnpm/error': 1000.0.1
'@pnpm/hooks.types': 1001.0.0
'@pnpm/lockfile.types': 1001.0.0
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/store-controller-types': 1000.1.0
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -13220,6 +13317,19 @@ snapshots:
chalk: 4.1.2
path-absolute: 1.0.1
+ '@pnpm/pnpmfile@1001.0.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/crypto.hash': 1000.0.0
+ '@pnpm/error': 1000.0.1
+ '@pnpm/hooks.types': 1001.0.1
+ '@pnpm/lockfile.types': 1001.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/store-controller-types': 1001.0.0
+ '@pnpm/types': 1000.1.0
+ chalk: 4.1.2
+ path-absolute: 1.0.1
+
'@pnpm/pnpmfile@6.0.13(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13378,11 +13488,11 @@ snapshots:
dependencies:
isexe: 2.0.0
- '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@5.2.0)':
+ '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@1000.0.0)
'@pnpm/fs.find-packages': 1000.0.1
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.0.0
'@pnpm/util.lex-comparator': 3.0.0
@@ -13394,6 +13504,14 @@ snapshots:
'@pnpm/types': 1000.1.0
'@pnpm/util.lex-comparator': 3.0.0
+ '@pnpm/workspace.find-packages@1000.0.5(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-utils': 1000.0.5(@pnpm/logger@5.2.0)
+ '@pnpm/fs.find-packages': 1000.0.3
+ '@pnpm/logger': 5.2.0
+ '@pnpm/types': 1000.1.0
+ '@pnpm/util.lex-comparator': 3.0.0
+
'@pnpm/workspace.find-packages@4.0.14(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-utils': 4.0.9(@pnpm/logger@5.2.0)
From 5de9010a9fe91ee35a0ca4f66f8df97a8cd1926c Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 18:13:11 -0500
Subject: [PATCH 15/29] Fix node smoke
---
smoke-tests/node/package.json | 24 +++----
smoke-tests/node/setup.ts | 19 ++++++
smoke-tests/node/tests/syntax.test.ts | 90 ++++++++++++++++++++++++++-
3 files changed, 120 insertions(+), 13 deletions(-)
diff --git a/smoke-tests/node/package.json b/smoke-tests/node/package.json
index 830fbe6b7..3abb4e424 100644
--- a/smoke-tests/node/package.json
+++ b/smoke-tests/node/package.json
@@ -21,21 +21,21 @@
"tsconfig": "../../tsconfig.json"
},
"dependencies": {
- "@glimmer/syntax": "file:packages/@glimmer/syntax.tgz",
- "@glimmer/util": "file:packages/@glimmer/util.tgz",
- "@glimmer/wire-format": "file:packages/@glimmer/wire-format.tgz",
- "@glimmer/compiler": "file:packages/@glimmer/compiler.tgz",
- "@glimmer/interfaces": "file:packages/@glimmer/interfaces.tgz",
- "@glimmer/runtime": "file:packages/@glimmer/runtime.tgz"
+ "@glimmer/syntax": "file:./packages/@glimmer/syntax.tgz",
+ "@glimmer/util": "file:./packages/@glimmer/util.tgz",
+ "@glimmer/wire-format": "file:./packages/@glimmer/wire-format.tgz",
+ "@glimmer/compiler": "file:./packages/@glimmer/compiler.tgz",
+ "@glimmer/interfaces": "file:./packages/@glimmer/interfaces.tgz",
+ "@glimmer/runtime": "file:./packages/@glimmer/runtime.tgz"
},
"pnpm": {
"overrides": {
- "@glimmer/syntax": "file:packages/@glimmer/syntax.tgz",
- "@glimmer/util": "file:packages/@glimmer/util.tgz",
- "@glimmer/wire-format": "file:packages/@glimmer/wire-format.tgz",
- "@glimmer/compiler": "file:packages/@glimmer/compiler.tgz",
- "@glimmer/interfaces": "file:packages/@glimmer/interfaces.tgz",
- "@glimmer/runtime": "file:packages/@glimmer/runtime.tgz"
+ "@glimmer/syntax": "file:./packages/@glimmer/syntax.tgz",
+ "@glimmer/util": "file:./packages/@glimmer/util.tgz",
+ "@glimmer/wire-format": "file:./packages/@glimmer/wire-format.tgz",
+ "@glimmer/compiler": "file:./packages/@glimmer/compiler.tgz",
+ "@glimmer/interfaces": "file:./packages/@glimmer/interfaces.tgz",
+ "@glimmer/runtime": "file:./packages/@glimmer/runtime.tgz"
}
}
}
diff --git a/smoke-tests/node/setup.ts b/smoke-tests/node/setup.ts
index 9cd389f05..91bed1fbc 100644
--- a/smoke-tests/node/setup.ts
+++ b/smoke-tests/node/setup.ts
@@ -10,12 +10,22 @@ function inRoot(cmd: string, options = {}) {
return inDir(WORKSPACE_ROOT, cmd, options);
}
+let asBin = false;
+
+function log(msg: any) {
+ if (asBin) {
+ console.info(msg);
+ }
+}
+
function inDir(dir: string, cmd: string, options = {}) {
return $({
cwd: dir,
preferLocal: true,
shell: true,
...options,
+ // execa types are wrong?
+ // @ts-expect-error
})(cmd);
}
@@ -44,11 +54,20 @@ export async function prepare() {
let pack = (out: string) => `pnpm pack --out ${join(NODE_SMOKE_DIR, 'packages', out)}.tgz`;
for (let dep of deps) {
+ log(`Packing ${dep}`);
await inDir(join(WORKSPACE_ROOT, `packages/${dep}`), pack(dep));
}
}
if (process.argv[1] === import.meta.filename) {
+ asBin = true;
+ log(`Setting up smoke test packages`);
+ log({ WORKSPACE_ROOT, NODE_SMOKE_DIR });
+
await prepare();
+
+ log(`Installing Deps`);
await inNodeSmoke(`pnpm install --ignore-workspace`);
+
+ log(`Done`);
}
diff --git a/smoke-tests/node/tests/syntax.test.ts b/smoke-tests/node/tests/syntax.test.ts
index a86a703ec..8c5a927c9 100644
--- a/smoke-tests/node/tests/syntax.test.ts
+++ b/smoke-tests/node/tests/syntax.test.ts
@@ -3,6 +3,94 @@ import { describe, it, expect } from 'vitest';
describe('@glimmer/syntax', () => {
it('process()', () => {
- expect(preprocess('')).toMatchInlineSnapshot();
+ expect(preprocess('')).toMatchInlineSnapshot(`
+ {
+ "blockParams": [],
+ "body": [
+ {
+ "attributes": [],
+ "blockParams": [],
+ "children": [],
+ "closeTag": {
+ "end": {
+ "column": 9,
+ "line": 1,
+ },
+ "start": {
+ "column": 4,
+ "line": 1,
+ },
+ },
+ "comments": [],
+ "loc": {
+ "end": {
+ "column": 9,
+ "line": 1,
+ },
+ "start": {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "modifiers": [],
+ "openTag": {
+ "end": {
+ "column": 4,
+ "line": 1,
+ },
+ "start": {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "params": [],
+ "path": {
+ "head": {
+ "loc": {
+ "end": {
+ "column": 3,
+ "line": 1,
+ },
+ "start": {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "name": "h1",
+ "original": "h1",
+ "type": "VarHead",
+ },
+ "loc": {
+ "end": {
+ "column": 3,
+ "line": 1,
+ },
+ "start": {
+ "column": 1,
+ "line": 1,
+ },
+ },
+ "original": "h1",
+ "tail": [],
+ "type": "PathExpression",
+ },
+ "selfClosing": false,
+ "tag": "h1",
+ "type": "ElementNode",
+ },
+ ],
+ "loc": {
+ "end": {
+ "column": 9,
+ "line": 1,
+ },
+ "start": {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "type": "Template",
+ }
+ `);
});
});
From 05069ee5352133d258d979a212f32b8b0e3cd447 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 18:25:06 -0500
Subject: [PATCH 16/29] Remove extraneous test
---
.../test/prettier.test.ts | 3 +++
.../integration-node-tests/test/smoke.test.ts | 25 -------------------
2 files changed, 3 insertions(+), 25 deletions(-)
delete mode 100644 packages/@glimmer-workspace/integration-node-tests/test/smoke.test.ts
diff --git a/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts b/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
index fd6ce4985..562477fe1 100644
--- a/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
+++ b/packages/@glimmer-workspace/integration-node-tests/test/prettier.test.ts
@@ -11,6 +11,9 @@ const require = createRequire(import.meta.url);
* Requires the root package.json#pnpm#overrides point at our internal
* copy of @glimmer/syntax, or else prettier brings its own already published
* copy of @glimmer/syntax
+ *
+ * NOTE: that this test alone is insufficient to test our built outputs.
+ * the smoke-tests/* folders are for that purpose.
*/
describe('Prettier', () => {
it(`SMOKE: we've symlinked to the in-repo copy of @glimmer/syntax`, () => {
diff --git a/packages/@glimmer-workspace/integration-node-tests/test/smoke.test.ts b/packages/@glimmer-workspace/integration-node-tests/test/smoke.test.ts
deleted file mode 100644
index c9f2a82fe..000000000
--- a/packages/@glimmer-workspace/integration-node-tests/test/smoke.test.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { join } from 'node:path';
-
-import { WORKSPACE_ROOT } from '@glimmer-workspace/repo-metadata';
-import { $ } from 'execa';
-import { describe, it } from 'vitest';
-
-const NODE_SMOKE_DIR = join(WORKSPACE_ROOT, './smoke-tests/node');
-
-function inNodeSmoke(cmd: string, options = {}) {
- return $({ cwd: NODE_SMOKE_DIR, preferLocal: true, shell: true, ...options })(cmd);
-}
-
-describe('Smake Tests', () => {
- /**
- * This is important because we don't test the code we ship to npm
- * (the code we ship to npm goes through a build process, and we opted
- * to not do that for in-repo dev ergonomics)
- */
- it('Uses the real build, and not our monorepo infra', { timeout: 20_000 }, async () => {
- await inNodeSmoke(
- `node --disable-warning=ExperimentalWarning --experimental-strip-types ./setup.ts`
- );
- await inNodeSmoke(`pnpm run test:node`);
- });
-});
From c31c56db5833e3217b2b9d93c1be1b308c4b36b6 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 18:32:33 -0500
Subject: [PATCH 17/29] Why doesn't my local CLI env match CI
---
package.json | 1 +
.../@glimmer-workspace/integration-node-tests/package.json | 5 +----
smoke-tests/node/vite.config.ts | 4 ++--
3 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/package.json b/package.json
index ec8c2060c..a1b1201ae 100644
--- a/package.json
+++ b/package.json
@@ -56,6 +56,7 @@
"@eslint/js": "9.17.0",
"@glimmer-workspace/build-support": "workspace:*",
"@glimmer-workspace/eslint-plugin": "workspace:*",
+ "@glimmer-workspace/integration-node-tests": "workspace:*",
"@glimmer-workspace/integration-tests": "workspace:*",
"@glimmer-workspace/repo-metadata": "workspace:*",
"@glimmer/env": "0.1.7",
diff --git a/packages/@glimmer-workspace/integration-node-tests/package.json b/packages/@glimmer-workspace/integration-node-tests/package.json
index cd72c9fcc..1e3103c69 100644
--- a/packages/@glimmer-workspace/integration-node-tests/package.json
+++ b/packages/@glimmer-workspace/integration-node-tests/package.json
@@ -4,10 +4,7 @@
"type": "module",
"private": true,
"repo-meta": {
- "strictness": "loose",
- "lint": [
- "test/**/*"
- ]
+ "strictness": "loose"
},
"scripts": {
"test:lint": "eslint . --quiet",
diff --git a/smoke-tests/node/vite.config.ts b/smoke-tests/node/vite.config.ts
index 917bddabf..75417a182 100644
--- a/smoke-tests/node/vite.config.ts
+++ b/smoke-tests/node/vite.config.ts
@@ -2,6 +2,6 @@ import { defineConfig } from 'vite';
export default defineConfig({
resolve: {
- conditions: ['module', 'node', process.env.NODE_ENV ?? 'production']
- }
+ conditions: ['module', 'node', process.env['NODE_ENV'] ?? 'production'],
+ },
});
From ebf3909deef80a29e89b4d523a180a9d8c6847f2 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 18:38:14 -0500
Subject: [PATCH 18/29] lockfile
---
pnpm-lock.yaml | 3 +++
smoke-tests/node/package.json | 1 +
2 files changed, 4 insertions(+)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 95415f581..052106d6a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -53,6 +53,9 @@ importers:
'@glimmer-workspace/eslint-plugin':
specifier: workspace:*
version: link:packages/@glimmer-workspace/eslint-plugin
+ '@glimmer-workspace/integration-node-tests':
+ specifier: workspace:*
+ version: link:packages/@glimmer-workspace/integration-node-tests
'@glimmer-workspace/integration-tests':
specifier: workspace:*
version: link:packages/@glimmer-workspace/integration-tests
diff --git a/smoke-tests/node/package.json b/smoke-tests/node/package.json
index 3abb4e424..e29ef78db 100644
--- a/smoke-tests/node/package.json
+++ b/smoke-tests/node/package.json
@@ -15,6 +15,7 @@
},
"devDependencies": {
"execa": "^9.5.2",
+ "vite": "^5.4.10",
"vitest": "^3.0.4"
},
"config": {
From 8074cd1bffe665f5853396869a73a76b96d1d52a Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 18:43:45 -0500
Subject: [PATCH 19/29] different logging
---
smoke-tests/node/setup.ts | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/smoke-tests/node/setup.ts b/smoke-tests/node/setup.ts
index 91bed1fbc..2e2781146 100644
--- a/smoke-tests/node/setup.ts
+++ b/smoke-tests/node/setup.ts
@@ -1,5 +1,6 @@
import { readFile } from 'node:fs/promises';
import { join } from 'node:path';
+import { styleText } from 'node:util';
import { $ } from 'execa';
@@ -19,10 +20,13 @@ function log(msg: any) {
}
function inDir(dir: string, cmd: string, options = {}) {
+ log(styleText('gray', `in ${dir}:\n`) + styleText('green', '\t' + cmd));
+
return $({
cwd: dir,
preferLocal: true,
shell: true,
+ stdio: 'inherit',
...options,
// execa types are wrong?
// @ts-expect-error
@@ -54,7 +58,6 @@ export async function prepare() {
let pack = (out: string) => `pnpm pack --out ${join(NODE_SMOKE_DIR, 'packages', out)}.tgz`;
for (let dep of deps) {
- log(`Packing ${dep}`);
await inDir(join(WORKSPACE_ROOT, `packages/${dep}`), pack(dep));
}
}
From b161bc521dec7236fb3bf6691cd62cf11d2ad63d Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Thu, 23 Jan 2025 18:45:34 -0500
Subject: [PATCH 20/29] Now its working?
---
smoke-tests/node/setup.ts | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/smoke-tests/node/setup.ts b/smoke-tests/node/setup.ts
index 2e2781146..7fb744be7 100644
--- a/smoke-tests/node/setup.ts
+++ b/smoke-tests/node/setup.ts
@@ -2,7 +2,7 @@ import { readFile } from 'node:fs/promises';
import { join } from 'node:path';
import { styleText } from 'node:util';
-import { $ } from 'execa';
+import { execaCommand } from 'execa';
const WORKSPACE_ROOT = join(import.meta.dirname, '../../');
const NODE_SMOKE_DIR = join(WORKSPACE_ROOT, './smoke-tests/node');
@@ -22,15 +22,13 @@ function log(msg: any) {
function inDir(dir: string, cmd: string, options = {}) {
log(styleText('gray', `in ${dir}:\n`) + styleText('green', '\t' + cmd));
- return $({
+ return execaCommand(cmd, {
cwd: dir,
preferLocal: true,
shell: true,
stdio: 'inherit',
...options,
- // execa types are wrong?
- // @ts-expect-error
- })(cmd);
+ });
}
export function inNodeSmoke(cmd: string, options = {}) {
From 09d3fc0656d736adcd00991a6940af40eb77a87d Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Fri, 24 Jan 2025 12:06:54 -0500
Subject: [PATCH 21/29] Codify the requirements for running the types check
---
.gitignore | 1 +
package.json | 3 +-
.../integration-node-tests/package.json | 6 +-
pnpm-lock.yaml | 174 ++++--------------
turbo.json | 5 +-
5 files changed, 44 insertions(+), 145 deletions(-)
diff --git a/.gitignore b/.gitignore
index 42fbb5942..ec6222ade 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.DS_Store
/dist
**/dist
/control-dist/
diff --git a/package.json b/package.json
index a1b1201ae..480ef5ffd 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,7 @@
"repo:lint:files": "turbo run test:lint",
"repo:lint:fix": "turbo run test:lint -- --fix && prettier -w .",
"repo:lint:pub": "turbo run test:publint",
- "repo:lint:types": "tsc -b",
+ "repo:lint:types": "turbo run //#test:types",
"repo:prepack": "turbo run prepack",
"repo:update:conventions": "pnpm meta-updater",
"repo:update:metadata": "node --experimental-strip-types --no-warnings ./repo-metadata/lib/update.ts",
@@ -39,6 +39,7 @@
"test:lint": "eslint . --quiet",
"test:node": "pnpm turbo test:node",
"test:smoke": "SMOKE_TESTS=true ember test",
+ "test:types": "tsc -b",
"ts": "node --disable-warning=ExperimentalWarning --experimental-strip-types",
"unlink:all": "esyes ./bin/unlink-all.mts"
},
diff --git a/packages/@glimmer-workspace/integration-node-tests/package.json b/packages/@glimmer-workspace/integration-node-tests/package.json
index 1e3103c69..d5d1a8948 100644
--- a/packages/@glimmer-workspace/integration-node-tests/package.json
+++ b/packages/@glimmer-workspace/integration-node-tests/package.json
@@ -4,7 +4,10 @@
"type": "module",
"private": true,
"repo-meta": {
- "strictness": "loose"
+ "strictness": "loose",
+ "lint": [
+ "test/*"
+ ]
},
"scripts": {
"test:lint": "eslint . --quiet",
@@ -17,6 +20,7 @@
},
"devDependencies": {
"@glimmer-workspace/repo-metadata": "workspace:*",
+ "eslint": "^9.18.0",
"vitest": "^3.0.4"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 052106d6a..2ee13bb73 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -70,7 +70,7 @@ importers:
version: 2.0.3
'@pnpm/workspace.find-packages':
specifier: ^1000.0.3
- version: 1000.0.3(@pnpm/logger@1000.0.0)
+ version: 1000.0.3(@pnpm/logger@5.2.0)
'@rollup/plugin-sucrase':
specifier: ^5.0.2
version: 5.0.2(rollup@4.31.0-0)
@@ -311,7 +311,7 @@ importers:
version: 1000.1.0
'@pnpm/workspace.find-packages':
specifier: ^1000.0.1
- version: 1000.0.5(@pnpm/logger@5.2.0)
+ version: 1000.0.5(@pnpm/logger@1000.0.0)
'@types/node':
specifier: ^20.17.10
version: 20.17.10
@@ -610,6 +610,9 @@ importers:
'@glimmer-workspace/repo-metadata':
specifier: workspace:*
version: link:../../../repo-metadata
+ eslint:
+ specifier: ^9.18.0
+ version: 9.18.0(jiti@2.4.2)
vitest:
specifier: ^3.0.4
version: 3.0.4(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
@@ -7974,12 +7977,14 @@ packages:
lodash.omit@4.5.0:
resolution: {integrity: sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==}
+ deprecated: This package is deprecated. Use destructuring assignment syntax instead.
lodash.restparam@3.6.1:
resolution: {integrity: sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==}
lodash.template@4.5.0:
resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==}
+ deprecated: This package is deprecated. Use https://socket.dev/npm/package/eta instead.
lodash.templatesettings@4.2.0:
resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==}
@@ -12678,15 +12683,15 @@ snapshots:
'@pnpm/types': 12.2.0
load-json-file: 6.2.0
- '@pnpm/cli-utils@1000.0.3(@pnpm/logger@1000.0.0)':
+ '@pnpm/cli-utils@1000.0.3(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
- '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@1000.0.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@5.2.0)
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 1000.0.0
- '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@1000.0.0)
- '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@1000.0.0)
+ '@pnpm/logger': 5.2.0
+ '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@5.2.0)
+ '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@5.2.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -12706,20 +12711,6 @@ snapshots:
chalk: 4.1.2
load-json-file: 6.2.0
- '@pnpm/cli-utils@1000.0.5(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-meta': 1000.0.1
- '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
- '@pnpm/default-reporter': 1001.1.3(@pnpm/logger@5.2.0)
- '@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/manifest-utils': 1000.0.3(@pnpm/logger@5.2.0)
- '@pnpm/package-is-installable': 1000.0.3(@pnpm/logger@5.2.0)
- '@pnpm/read-project-manifest': 1000.0.3
- '@pnpm/types': 1000.1.0
- chalk: 4.1.2
- load-json-file: 6.2.0
-
'@pnpm/cli-utils@4.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -12738,7 +12729,7 @@ snapshots:
'@pnpm/config.env-replace@3.0.0': {}
- '@pnpm/config@1002.1.0(@pnpm/logger@1000.0.0)':
+ '@pnpm/config@1002.1.0(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/catalogs.config': 1000.0.1
'@pnpm/catalogs.types': 1000.0.0
@@ -12748,7 +12739,7 @@ snapshots:
'@pnpm/git-utils': 1000.0.0
'@pnpm/matcher': 1000.0.0
'@pnpm/npm-conf': 2.3.1
- '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@1000.0.0)
+ '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@5.2.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
'@pnpm/workspace.read-manifest': 1000.0.1
@@ -12798,36 +12789,6 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
- '@pnpm/config@1002.1.2(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/catalogs.config': 1000.0.1
- '@pnpm/catalogs.types': 1000.0.0
- '@pnpm/config.env-replace': 3.0.0
- '@pnpm/constants': 1001.0.0
- '@pnpm/error': 1000.0.1
- '@pnpm/git-utils': 1000.0.0
- '@pnpm/matcher': 1000.0.0
- '@pnpm/npm-conf': 3.0.0
- '@pnpm/pnpmfile': 1001.0.3(@pnpm/logger@5.2.0)
- '@pnpm/read-project-manifest': 1000.0.3
- '@pnpm/types': 1000.1.0
- '@pnpm/workspace.read-manifest': 1000.0.1
- better-path-resolve: 1.0.0
- camelcase: 6.3.0
- camelcase-keys: 6.2.2
- can-write-to-dir: 1.1.1
- is-subdir: 1.2.0
- is-windows: 1.0.2
- normalize-registry-url: 2.0.0
- path-absolute: 1.0.1
- path-name: 1.0.0
- ramda: '@pnpm/ramda@0.28.1'
- read-ini-file: 4.0.0
- realpath-missing: 1.1.0
- which: '@pnpm/which@3.0.1'
- transitivePeerDependencies:
- - '@pnpm/logger'
-
'@pnpm/config@21.8.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/catalogs.config': 0.1.1
@@ -12869,9 +12830,9 @@ snapshots:
'@pnpm/logger': 5.2.0
'@pnpm/types': 12.2.0
- '@pnpm/core-loggers@1000.1.0(@pnpm/logger@1000.0.0)':
+ '@pnpm/core-loggers@1000.1.0(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/types': 1000.0.0
'@pnpm/core-loggers@1000.1.1(@pnpm/logger@1000.0.0)':
@@ -12879,11 +12840,6 @@ snapshots:
'@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.1.0
- '@pnpm/core-loggers@1000.1.1(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/logger': 5.2.0
- '@pnpm/types': 1000.1.0
-
'@pnpm/crypto.base32-hash@3.0.1':
dependencies:
'@pnpm/crypto.polyfill': 1.0.0
@@ -12913,15 +12869,15 @@ snapshots:
'@pnpm/dedupe.types@2.0.0': {}
- '@pnpm/default-reporter@1001.1.1(@pnpm/logger@1000.0.0)':
+ '@pnpm/default-reporter@1001.1.1(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/dedupe.issues-renderer': 1000.0.0
'@pnpm/dedupe.types': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/render-peer-issues': 1000.0.1
'@pnpm/types': 1000.0.0
ansi-diff: 1.2.0
@@ -12961,30 +12917,6 @@ snapshots:
stacktracey: 2.1.8
string-length: 4.0.2
- '@pnpm/default-reporter@1001.1.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-meta': 1000.0.1
- '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/dedupe.issues-renderer': 1000.0.0
- '@pnpm/dedupe.types': 1000.0.0
- '@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/render-peer-issues': 1000.0.2
- '@pnpm/types': 1000.1.0
- ansi-diff: 1.2.0
- boxen: 5.1.2
- chalk: 4.1.2
- cli-truncate: 2.1.0
- normalize-path: 3.0.0
- pretty-bytes: 5.6.0
- pretty-ms: 7.0.1
- ramda: '@pnpm/ramda@0.28.1'
- rxjs: 7.8.1
- semver: 7.6.3
- stacktracey: 2.1.8
- string-length: 4.0.2
-
'@pnpm/default-reporter@14.0.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13147,9 +13079,9 @@ snapshots:
bole: 5.0.17
ndjson: 2.0.0
- '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@1000.0.0)':
+ '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/error': 1000.0.1
'@pnpm/types': 1000.0.0
transitivePeerDependencies:
@@ -13163,14 +13095,6 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
- '@pnpm/manifest-utils@1000.0.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/error': 1000.0.1
- '@pnpm/types': 1000.1.0
- transitivePeerDependencies:
- - '@pnpm/logger'
-
'@pnpm/manifest-utils@6.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13216,13 +13140,13 @@ snapshots:
'@pnpm/network.ca-file': 1.0.2
config-chain: 1.1.13
- '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@1000.0.0)':
+ '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/env.system-node-version': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/types': 1000.0.0
detect-libc: 2.0.3
execa: safe-execa@0.1.2
@@ -13242,19 +13166,6 @@ snapshots:
mem: 8.1.1
semver: 7.6.3
- '@pnpm/package-is-installable@1000.0.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-meta': 1000.0.1
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/env.system-node-version': 1000.0.1
- '@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/types': 1000.1.0
- detect-libc: 2.0.3
- execa: safe-execa@0.1.2
- mem: 8.1.1
- semver: 7.6.3
-
'@pnpm/package-is-installable@9.0.12(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13294,14 +13205,14 @@ snapshots:
'@pnpm/patching.types@1000.0.0': {}
- '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@1000.0.0)':
+ '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
'@pnpm/crypto.hash': 1000.0.0
'@pnpm/error': 1000.0.1
'@pnpm/hooks.types': 1001.0.0
'@pnpm/lockfile.types': 1001.0.0
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/store-controller-types': 1000.1.0
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -13320,19 +13231,6 @@ snapshots:
chalk: 4.1.2
path-absolute: 1.0.1
- '@pnpm/pnpmfile@1001.0.3(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
- '@pnpm/crypto.hash': 1000.0.0
- '@pnpm/error': 1000.0.1
- '@pnpm/hooks.types': 1001.0.1
- '@pnpm/lockfile.types': 1001.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/store-controller-types': 1001.0.0
- '@pnpm/types': 1000.1.0
- chalk: 4.1.2
- path-absolute: 1.0.1
-
'@pnpm/pnpmfile@6.0.13(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13491,11 +13389,11 @@ snapshots:
dependencies:
isexe: 2.0.0
- '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@1000.0.0)':
+ '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@5.2.0)':
dependencies:
- '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@1000.0.0)
+ '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@5.2.0)
'@pnpm/fs.find-packages': 1000.0.1
- '@pnpm/logger': 1000.0.0
+ '@pnpm/logger': 5.2.0
'@pnpm/types': 1000.0.0
'@pnpm/util.lex-comparator': 3.0.0
@@ -13507,14 +13405,6 @@ snapshots:
'@pnpm/types': 1000.1.0
'@pnpm/util.lex-comparator': 3.0.0
- '@pnpm/workspace.find-packages@1000.0.5(@pnpm/logger@5.2.0)':
- dependencies:
- '@pnpm/cli-utils': 1000.0.5(@pnpm/logger@5.2.0)
- '@pnpm/fs.find-packages': 1000.0.3
- '@pnpm/logger': 5.2.0
- '@pnpm/types': 1000.1.0
- '@pnpm/util.lex-comparator': 3.0.0
-
'@pnpm/workspace.find-packages@4.0.14(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-utils': 4.0.9(@pnpm/logger@5.2.0)
diff --git a/turbo.json b/turbo.json
index daeaaee5f..b168102d0 100644
--- a/turbo.json
+++ b/turbo.json
@@ -40,7 +40,10 @@
},
"//#test:types": {
"inputs": ["**/dist/**", "tsconfig.dist.json"],
- "dependsOn": ["^build"]
+ "dependsOn": ["^prepack", "//#benchmark:setup"]
+ },
+ "//#benchmark:setup": {
+ "dependsOn": ["^prepack"]
}
}
}
From 3207df8d6d19bb95a11ab44ed0e9c227aa2c4f16 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Fri, 24 Jan 2025 12:40:04 -0500
Subject: [PATCH 22/29] More turbo progress
---
package.json | 3 +++
pnpm-lock.yaml | 3 +++
turbo.json | 7 ++++++-
3 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 480ef5ffd..260f4c43e 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
"repo:prepack": "turbo run prepack",
"repo:update:conventions": "pnpm meta-updater",
"repo:update:metadata": "node --experimental-strip-types --no-warnings ./repo-metadata/lib/update.ts",
+ "smoke:setup": "node --disable-warning=ExperimentalWarning --experimental-strip-types ./smoke-tests/node/setup.ts",
"start": "vite",
"test": "node bin/run-tests.mjs",
"test:babel-plugins": "yarn workspace @glimmer/vm-babel-plugins test",
@@ -55,6 +56,7 @@
"@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
"@eslint/config-inspector": "^0.7.1",
"@eslint/js": "9.17.0",
+ "@glimmer-workspace/benchmark-env": "workspace:*",
"@glimmer-workspace/build-support": "workspace:*",
"@glimmer-workspace/eslint-plugin": "workspace:*",
"@glimmer-workspace/integration-node-tests": "workspace:*",
@@ -128,6 +130,7 @@
"typescript": "^5.7.3",
"typescript-eslint": "^8.19.0",
"vite": "^6.0.10",
+ "vitest": "^3.0.4",
"zx": "^8.3.0"
},
"changelog": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2ee13bb73..2e8401577 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -266,6 +266,9 @@ importers:
vite:
specifier: ^6.0.10
version: 6.0.10(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
+ vitest:
+ specifier: ^3.0.4
+ version: 3.0.4(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
zx:
specifier: ^8.3.0
version: 8.3.0
diff --git a/turbo.json b/turbo.json
index b168102d0..300bc18cb 100644
--- a/turbo.json
+++ b/turbo.json
@@ -40,9 +40,14 @@
},
"//#test:types": {
"inputs": ["**/dist/**", "tsconfig.dist.json"],
- "dependsOn": ["^prepack", "//#benchmark:setup"]
+ "dependsOn": ["^prepack", "//#benchmark:setup", "//#smoke:setup"]
},
"//#benchmark:setup": {
+ "outputs": ["./benchmark/benchmarks/krausest/packages"],
+ "dependsOn": ["^prepack"]
+ },
+ "//#smoke:setup": {
+ "outputs": ["./smoke-tests/node/packages"],
"dependsOn": ["^prepack"]
}
}
From e6c337dd755cbf7d2db7bca2142333c9f6c2cceb Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Fri, 24 Jan 2025 15:06:20 -0500
Subject: [PATCH 23/29] omg it worked
---
pnpm-lock.yaml | 172 +++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 145 insertions(+), 27 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2e8401577..f7bcfbe2a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -47,6 +47,9 @@ importers:
'@eslint/js':
specifier: 9.17.0
version: 9.17.0
+ '@glimmer-workspace/benchmark-env':
+ specifier: workspace:*
+ version: link:packages/@glimmer-workspace/benchmark-env
'@glimmer-workspace/build-support':
specifier: workspace:*
version: link:packages/@glimmer-workspace/build
@@ -70,7 +73,7 @@ importers:
version: 2.0.3
'@pnpm/workspace.find-packages':
specifier: ^1000.0.3
- version: 1000.0.3(@pnpm/logger@5.2.0)
+ version: 1000.0.3(@pnpm/logger@1000.0.0)
'@rollup/plugin-sucrase':
specifier: ^5.0.2
version: 5.0.2(rollup@4.31.0-0)
@@ -314,7 +317,7 @@ importers:
version: 1000.1.0
'@pnpm/workspace.find-packages':
specifier: ^1000.0.1
- version: 1000.0.5(@pnpm/logger@1000.0.0)
+ version: 1000.0.5(@pnpm/logger@5.2.0)
'@types/node':
specifier: ^20.17.10
version: 20.17.10
@@ -12686,15 +12689,15 @@ snapshots:
'@pnpm/types': 12.2.0
load-json-file: 6.2.0
- '@pnpm/cli-utils@1000.0.3(@pnpm/logger@5.2.0)':
+ '@pnpm/cli-utils@1000.0.3(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
- '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/default-reporter': 1001.1.1(@pnpm/logger@1000.0.0)
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
- '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@5.2.0)
- '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@5.2.0)
+ '@pnpm/logger': 1000.0.0
+ '@pnpm/manifest-utils': 1000.0.2(@pnpm/logger@1000.0.0)
+ '@pnpm/package-is-installable': 1000.0.2(@pnpm/logger@1000.0.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -12714,6 +12717,20 @@ snapshots:
chalk: 4.1.2
load-json-file: 6.2.0
+ '@pnpm/cli-utils@1000.0.5(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-meta': 1000.0.1
+ '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
+ '@pnpm/default-reporter': 1001.1.3(@pnpm/logger@5.2.0)
+ '@pnpm/error': 1000.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/manifest-utils': 1000.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/package-is-installable': 1000.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/read-project-manifest': 1000.0.3
+ '@pnpm/types': 1000.1.0
+ chalk: 4.1.2
+ load-json-file: 6.2.0
+
'@pnpm/cli-utils@4.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -12732,7 +12749,7 @@ snapshots:
'@pnpm/config.env-replace@3.0.0': {}
- '@pnpm/config@1002.1.0(@pnpm/logger@5.2.0)':
+ '@pnpm/config@1002.1.0(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/catalogs.config': 1000.0.1
'@pnpm/catalogs.types': 1000.0.0
@@ -12742,7 +12759,7 @@ snapshots:
'@pnpm/git-utils': 1000.0.0
'@pnpm/matcher': 1000.0.0
'@pnpm/npm-conf': 2.3.1
- '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@5.2.0)
+ '@pnpm/pnpmfile': 1001.0.1(@pnpm/logger@1000.0.0)
'@pnpm/read-project-manifest': 1000.0.1
'@pnpm/types': 1000.0.0
'@pnpm/workspace.read-manifest': 1000.0.1
@@ -12792,6 +12809,36 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
+ '@pnpm/config@1002.1.2(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/catalogs.config': 1000.0.1
+ '@pnpm/catalogs.types': 1000.0.0
+ '@pnpm/config.env-replace': 3.0.0
+ '@pnpm/constants': 1001.0.0
+ '@pnpm/error': 1000.0.1
+ '@pnpm/git-utils': 1000.0.0
+ '@pnpm/matcher': 1000.0.0
+ '@pnpm/npm-conf': 3.0.0
+ '@pnpm/pnpmfile': 1001.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/read-project-manifest': 1000.0.3
+ '@pnpm/types': 1000.1.0
+ '@pnpm/workspace.read-manifest': 1000.0.1
+ better-path-resolve: 1.0.0
+ camelcase: 6.3.0
+ camelcase-keys: 6.2.2
+ can-write-to-dir: 1.1.1
+ is-subdir: 1.2.0
+ is-windows: 1.0.2
+ normalize-registry-url: 2.0.0
+ path-absolute: 1.0.1
+ path-name: 1.0.0
+ ramda: '@pnpm/ramda@0.28.1'
+ read-ini-file: 4.0.0
+ realpath-missing: 1.1.0
+ which: '@pnpm/which@3.0.1'
+ transitivePeerDependencies:
+ - '@pnpm/logger'
+
'@pnpm/config@21.8.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/catalogs.config': 0.1.1
@@ -12833,9 +12880,9 @@ snapshots:
'@pnpm/logger': 5.2.0
'@pnpm/types': 12.2.0
- '@pnpm/core-loggers@1000.1.0(@pnpm/logger@5.2.0)':
+ '@pnpm/core-loggers@1000.1.0(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.0.0
'@pnpm/core-loggers@1000.1.1(@pnpm/logger@1000.0.0)':
@@ -12843,6 +12890,11 @@ snapshots:
'@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.1.0
+ '@pnpm/core-loggers@1000.1.1(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/logger': 5.2.0
+ '@pnpm/types': 1000.1.0
+
'@pnpm/crypto.base32-hash@3.0.1':
dependencies:
'@pnpm/crypto.polyfill': 1.0.0
@@ -12872,15 +12924,15 @@ snapshots:
'@pnpm/dedupe.types@2.0.0': {}
- '@pnpm/default-reporter@1001.1.1(@pnpm/logger@5.2.0)':
+ '@pnpm/default-reporter@1001.1.1(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/config': 1002.1.0(@pnpm/logger@5.2.0)
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/config': 1002.1.0(@pnpm/logger@1000.0.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/dedupe.issues-renderer': 1000.0.0
'@pnpm/dedupe.types': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/render-peer-issues': 1000.0.1
'@pnpm/types': 1000.0.0
ansi-diff: 1.2.0
@@ -12920,6 +12972,30 @@ snapshots:
stacktracey: 2.1.8
string-length: 4.0.2
+ '@pnpm/default-reporter@1001.1.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-meta': 1000.0.1
+ '@pnpm/config': 1002.1.2(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/dedupe.issues-renderer': 1000.0.0
+ '@pnpm/dedupe.types': 1000.0.0
+ '@pnpm/error': 1000.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/render-peer-issues': 1000.0.2
+ '@pnpm/types': 1000.1.0
+ ansi-diff: 1.2.0
+ boxen: 5.1.2
+ chalk: 4.1.2
+ cli-truncate: 2.1.0
+ normalize-path: 3.0.0
+ pretty-bytes: 5.6.0
+ pretty-ms: 7.0.1
+ ramda: '@pnpm/ramda@0.28.1'
+ rxjs: 7.8.1
+ semver: 7.6.3
+ stacktracey: 2.1.8
+ string-length: 4.0.2
+
'@pnpm/default-reporter@14.0.6(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13082,9 +13158,9 @@ snapshots:
bole: 5.0.17
ndjson: 2.0.0
- '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@5.2.0)':
+ '@pnpm/manifest-utils@1000.0.2(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/error': 1000.0.1
'@pnpm/types': 1000.0.0
transitivePeerDependencies:
@@ -13098,6 +13174,14 @@ snapshots:
transitivePeerDependencies:
- '@pnpm/logger'
+ '@pnpm/manifest-utils@1000.0.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/error': 1000.0.1
+ '@pnpm/types': 1000.1.0
+ transitivePeerDependencies:
+ - '@pnpm/logger'
+
'@pnpm/manifest-utils@6.0.9(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13143,13 +13227,13 @@ snapshots:
'@pnpm/network.ca-file': 1.0.2
config-chain: 1.1.13
- '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@5.2.0)':
+ '@pnpm/package-is-installable@1000.0.2(@pnpm/logger@1000.0.0)':
dependencies:
'@pnpm/cli-meta': 1000.0.0
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/env.system-node-version': 1000.0.0
'@pnpm/error': 1000.0.1
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.0.0
detect-libc: 2.0.3
execa: safe-execa@0.1.2
@@ -13169,6 +13253,19 @@ snapshots:
mem: 8.1.1
semver: 7.6.3
+ '@pnpm/package-is-installable@1000.0.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-meta': 1000.0.1
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/env.system-node-version': 1000.0.1
+ '@pnpm/error': 1000.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/types': 1000.1.0
+ detect-libc: 2.0.3
+ execa: safe-execa@0.1.2
+ mem: 8.1.1
+ semver: 7.6.3
+
'@pnpm/package-is-installable@9.0.12(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-meta': 6.2.2
@@ -13208,14 +13305,14 @@ snapshots:
'@pnpm/patching.types@1000.0.0': {}
- '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@5.2.0)':
+ '@pnpm/pnpmfile@1001.0.1(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@5.2.0)
+ '@pnpm/core-loggers': 1000.1.0(@pnpm/logger@1000.0.0)
'@pnpm/crypto.hash': 1000.0.0
'@pnpm/error': 1000.0.1
'@pnpm/hooks.types': 1001.0.0
'@pnpm/lockfile.types': 1001.0.0
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/store-controller-types': 1000.1.0
'@pnpm/types': 1000.0.0
chalk: 4.1.2
@@ -13234,6 +13331,19 @@ snapshots:
chalk: 4.1.2
path-absolute: 1.0.1
+ '@pnpm/pnpmfile@1001.0.3(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/core-loggers': 1000.1.1(@pnpm/logger@5.2.0)
+ '@pnpm/crypto.hash': 1000.0.0
+ '@pnpm/error': 1000.0.1
+ '@pnpm/hooks.types': 1001.0.1
+ '@pnpm/lockfile.types': 1001.0.1
+ '@pnpm/logger': 5.2.0
+ '@pnpm/store-controller-types': 1001.0.0
+ '@pnpm/types': 1000.1.0
+ chalk: 4.1.2
+ path-absolute: 1.0.1
+
'@pnpm/pnpmfile@6.0.13(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/core-loggers': 10.0.7(@pnpm/logger@5.2.0)
@@ -13392,11 +13502,11 @@ snapshots:
dependencies:
isexe: 2.0.0
- '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@5.2.0)':
+ '@pnpm/workspace.find-packages@1000.0.3(@pnpm/logger@1000.0.0)':
dependencies:
- '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@5.2.0)
+ '@pnpm/cli-utils': 1000.0.3(@pnpm/logger@1000.0.0)
'@pnpm/fs.find-packages': 1000.0.1
- '@pnpm/logger': 5.2.0
+ '@pnpm/logger': 1000.0.0
'@pnpm/types': 1000.0.0
'@pnpm/util.lex-comparator': 3.0.0
@@ -13408,6 +13518,14 @@ snapshots:
'@pnpm/types': 1000.1.0
'@pnpm/util.lex-comparator': 3.0.0
+ '@pnpm/workspace.find-packages@1000.0.5(@pnpm/logger@5.2.0)':
+ dependencies:
+ '@pnpm/cli-utils': 1000.0.5(@pnpm/logger@5.2.0)
+ '@pnpm/fs.find-packages': 1000.0.3
+ '@pnpm/logger': 5.2.0
+ '@pnpm/types': 1000.1.0
+ '@pnpm/util.lex-comparator': 3.0.0
+
'@pnpm/workspace.find-packages@4.0.14(@pnpm/logger@5.2.0)':
dependencies:
'@pnpm/cli-utils': 4.0.9(@pnpm/logger@5.2.0)
From 1003ff54feee2637dce24cf2a45b7877d0b5c55e Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Fri, 24 Jan 2025 15:42:14 -0500
Subject: [PATCH 24/29] Maybe I just remove the local lint script
---
packages/@glimmer-workspace/integration-node-tests/package.json | 1 -
1 file changed, 1 deletion(-)
diff --git a/packages/@glimmer-workspace/integration-node-tests/package.json b/packages/@glimmer-workspace/integration-node-tests/package.json
index d5d1a8948..acd3ebbc2 100644
--- a/packages/@glimmer-workspace/integration-node-tests/package.json
+++ b/packages/@glimmer-workspace/integration-node-tests/package.json
@@ -10,7 +10,6 @@
]
},
"scripts": {
- "test:lint": "eslint . --quiet",
"test:node": "vitest --run"
},
"dependencies": {
From 75061caaac913d748d0fdeb6947c306d1350c259 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Fri, 24 Jan 2025 15:42:42 -0500
Subject: [PATCH 25/29] Don't need that anymore
---
.../@glimmer-workspace/integration-node-tests/package.json | 1 -
pnpm-lock.yaml | 3 ---
2 files changed, 4 deletions(-)
diff --git a/packages/@glimmer-workspace/integration-node-tests/package.json b/packages/@glimmer-workspace/integration-node-tests/package.json
index acd3ebbc2..26b0ad182 100644
--- a/packages/@glimmer-workspace/integration-node-tests/package.json
+++ b/packages/@glimmer-workspace/integration-node-tests/package.json
@@ -19,7 +19,6 @@
},
"devDependencies": {
"@glimmer-workspace/repo-metadata": "workspace:*",
- "eslint": "^9.18.0",
"vitest": "^3.0.4"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f7bcfbe2a..9148d31c8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -616,9 +616,6 @@ importers:
'@glimmer-workspace/repo-metadata':
specifier: workspace:*
version: link:../../../repo-metadata
- eslint:
- specifier: ^9.18.0
- version: 9.18.0(jiti@2.4.2)
vitest:
specifier: ^3.0.4
version: 3.0.4(@types/node@20.17.10)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)
From 545581514c402e73ec4369c3deb64b01b77254e9 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Fri, 24 Jan 2025 16:04:38 -0500
Subject: [PATCH 26/29] Fix
---
package.json | 1 -
.../@glimmer-workspace/integration-node-tests/package.json | 5 +----
repo-metadata/metadata.json | 3 +--
3 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/package.json b/package.json
index 260f4c43e..18797ab1e 100644
--- a/package.json
+++ b/package.json
@@ -40,7 +40,6 @@
"test:lint": "eslint . --quiet",
"test:node": "pnpm turbo test:node",
"test:smoke": "SMOKE_TESTS=true ember test",
- "test:types": "tsc -b",
"ts": "node --disable-warning=ExperimentalWarning --experimental-strip-types",
"unlink:all": "esyes ./bin/unlink-all.mts"
},
diff --git a/packages/@glimmer-workspace/integration-node-tests/package.json b/packages/@glimmer-workspace/integration-node-tests/package.json
index 26b0ad182..65744ce04 100644
--- a/packages/@glimmer-workspace/integration-node-tests/package.json
+++ b/packages/@glimmer-workspace/integration-node-tests/package.json
@@ -4,10 +4,7 @@
"type": "module",
"private": true,
"repo-meta": {
- "strictness": "loose",
- "lint": [
- "test/*"
- ]
+ "strictness": "loose"
},
"scripts": {
"test:node": "vitest --run"
diff --git a/repo-metadata/metadata.json b/repo-metadata/metadata.json
index 850d9c108..506264e0f 100644
--- a/repo-metadata/metadata.json
+++ b/repo-metadata/metadata.json
@@ -115,8 +115,7 @@
"private": true,
"repo-meta": {
"built": false,
- "strictness": "loose",
- "lint": ["test/**/*"]
+ "strictness": "loose"
},
"entryPoints": {
"./package.json": [[["default"], "./package.json"]]
From 4a89ee9e46cd3aa09deb660db5d86fa7e50d80c7 Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Fri, 24 Jan 2025 16:57:30 -0500
Subject: [PATCH 27/29] Updates
---
.meta-updater/main.mjs | 4 ++--
.meta-updater/package.json | 4 +---
bin/package.json | 4 +---
packages/@glimmer-workspace/benchmark-env/package.json | 1 -
packages/@glimmer-workspace/build/package.json | 4 +---
packages/@glimmer-workspace/env/package.json | 4 +---
packages/@glimmer-workspace/eslint-plugin/package.json | 4 +---
.../@glimmer-workspace/integration-tests/package.json | 4 +---
.../integration-tests/test/package.json | 4 +---
packages/@glimmer-workspace/test-utils/package.json | 4 +---
packages/@glimmer/compiler/package.json | 1 -
packages/@glimmer/compiler/test/package.json | 4 +---
packages/@glimmer/constants/package.json | 4 +---
packages/@glimmer/constants/test/package.json | 4 +---
packages/@glimmer/debug-util/package.json | 4 +---
packages/@glimmer/debug-util/test/package.json | 4 +---
packages/@glimmer/debug/package.json | 4 +---
packages/@glimmer/debug/test/package.json | 4 +---
packages/@glimmer/destroyable/package.json | 1 -
packages/@glimmer/destroyable/test/package.json | 4 +---
packages/@glimmer/encoder/package.json | 1 -
packages/@glimmer/global-context/package.json | 1 -
packages/@glimmer/interfaces/package.json | 1 -
packages/@glimmer/local-debug-babel-plugin/package.json | 4 +---
packages/@glimmer/local-debug-flags/package.json | 4 +---
packages/@glimmer/manager/package.json | 1 -
packages/@glimmer/manager/test/package.json | 4 +---
packages/@glimmer/node/package.json | 1 -
packages/@glimmer/opcode-compiler/package.json | 1 -
packages/@glimmer/owner/package.json | 1 -
packages/@glimmer/owner/test/package.json | 4 +---
packages/@glimmer/program/package.json | 1 -
packages/@glimmer/program/test/package.json | 4 +---
packages/@glimmer/reference/package.json | 1 -
packages/@glimmer/reference/test/package.json | 4 +---
packages/@glimmer/runtime/package.json | 1 -
packages/@glimmer/syntax/package.json | 1 -
packages/@glimmer/syntax/test/package.json | 4 +---
packages/@glimmer/util/package.json | 1 -
packages/@glimmer/util/test/package.json | 4 +---
packages/@glimmer/validator/package.json | 1 -
packages/@glimmer/validator/test/package.json | 4 +---
packages/@glimmer/vm-babel-plugins/package.json | 1 -
packages/@glimmer/vm/package.json | 1 -
packages/@glimmer/wire-format/package.json | 1 -
.../package.json | 4 +---
packages/@types/eslint-plugin-import/package.json | 4 +---
packages/@types/eslint-plugin-qunit/package.json | 4 +---
packages/@types/js-reporters/package.json | 4 +---
packages/@types/puppeteer-chromium-resolver/package.json | 4 +---
repo-metadata/package.json | 4 +---
turbo.json | 8 +++++++-
52 files changed, 40 insertions(+), 115 deletions(-)
diff --git a/.meta-updater/main.mjs b/.meta-updater/main.mjs
index 23cb6e7df..f527fa34a 100644
--- a/.meta-updater/main.mjs
+++ b/.meta-updater/main.mjs
@@ -26,10 +26,9 @@ export default () =>
const scripts = /** @type { JsonObject } */ (actual.scripts ??= {});
- update(scripts, 'test:lint', 'eslint . --quiet');
-
// replaced with prepack
delete scripts['test:types'];
+ delete scripts['test:lint'];
const updateRepo = () => {
update(actual, 'repository', {
@@ -57,6 +56,7 @@ export default () =>
*/
if (isRoot) {
updateRepo();
+ update(scripts, 'test:lint', 'eslint . --quiet');
} else {
delete actual.repository;
}
diff --git a/.meta-updater/package.json b/.meta-updater/package.json
index 6df9eb368..0a1036c0c 100644
--- a/.meta-updater/package.json
+++ b/.meta-updater/package.json
@@ -6,9 +6,7 @@
"keywords": [
"node"
],
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@pnpm/find-workspace-dir": "^1000.0.1",
"@pnpm/meta-updater": "^2.0.3",
diff --git a/bin/package.json b/bin/package.json
index 0bc5b3dae..78409b28e 100644
--- a/bin/package.json
+++ b/bin/package.json
@@ -13,9 +13,7 @@
"*"
]
},
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer-workspace/repo-metadata": "workspace:*",
"@pnpm/workspace.find-packages": "^1000.0.5",
diff --git a/packages/@glimmer-workspace/benchmark-env/package.json b/packages/@glimmer-workspace/benchmark-env/package.json
index 1ada0933e..7b6ad22f4 100644
--- a/packages/@glimmer-workspace/benchmark-env/package.json
+++ b/packages/@glimmer-workspace/benchmark-env/package.json
@@ -25,7 +25,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer-workspace/build/package.json b/packages/@glimmer-workspace/build/package.json
index 6d6ecf909..63feddf55 100644
--- a/packages/@glimmer-workspace/build/package.json
+++ b/packages/@glimmer-workspace/build/package.json
@@ -14,9 +14,7 @@
"console"
]
},
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/local-debug-babel-plugin": "workspace:*",
"@rollup/plugin-commonjs": "^25.0.7",
diff --git a/packages/@glimmer-workspace/env/package.json b/packages/@glimmer-workspace/env/package.json
index d063182cf..0dddbc69c 100644
--- a/packages/@glimmer-workspace/env/package.json
+++ b/packages/@glimmer-workspace/env/package.json
@@ -4,7 +4,5 @@
"version": "0.92.0",
"type": "module",
"exports": "./index.d.ts",
- "scripts": {
- "test:lint": "eslint . --quiet"
- }
+ "scripts": {}
}
diff --git a/packages/@glimmer-workspace/eslint-plugin/package.json b/packages/@glimmer-workspace/eslint-plugin/package.json
index 883eb1e1f..e6e99e9b1 100644
--- a/packages/@glimmer-workspace/eslint-plugin/package.json
+++ b/packages/@glimmer-workspace/eslint-plugin/package.json
@@ -4,9 +4,7 @@
"version": "0.92.0",
"type": "module",
"exports": "./index.js",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.18.0",
diff --git a/packages/@glimmer-workspace/integration-tests/package.json b/packages/@glimmer-workspace/integration-tests/package.json
index c13805676..776715935 100644
--- a/packages/@glimmer-workspace/integration-tests/package.json
+++ b/packages/@glimmer-workspace/integration-tests/package.json
@@ -12,9 +12,7 @@
"test/**/*"
]
},
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer-workspace/test-utils": "workspace:*",
"@glimmer/compiler": "workspace:*",
diff --git a/packages/@glimmer-workspace/integration-tests/test/package.json b/packages/@glimmer-workspace/integration-tests/test/package.json
index 02ea2e148..7fda1b061 100644
--- a/packages/@glimmer-workspace/integration-tests/test/package.json
+++ b/packages/@glimmer-workspace/integration-tests/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/integration-tests",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer-workspace/integration-tests": "workspace:*",
"@glimmer-workspace/test-utils": "workspace:*",
diff --git a/packages/@glimmer-workspace/test-utils/package.json b/packages/@glimmer-workspace/test-utils/package.json
index 2e006deee..aaba44b30 100644
--- a/packages/@glimmer-workspace/test-utils/package.json
+++ b/packages/@glimmer-workspace/test-utils/package.json
@@ -4,9 +4,7 @@
"version": "0.92.0",
"type": "module",
"main": "index.ts",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/interfaces": "workspace:*",
"@glimmer/util": "workspace:*"
diff --git a/packages/@glimmer/compiler/package.json b/packages/@glimmer/compiler/package.json
index 7c67297d5..705c51d50 100644
--- a/packages/@glimmer/compiler/package.json
+++ b/packages/@glimmer/compiler/package.json
@@ -27,7 +27,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/compiler/test/package.json b/packages/@glimmer/compiler/test/package.json
index c05aeec50..738109364 100644
--- a/packages/@glimmer/compiler/test/package.json
+++ b/packages/@glimmer/compiler/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/compiler",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/compiler": "workspace:*",
"@glimmer/interfaces": "workspace:*",
diff --git a/packages/@glimmer/constants/package.json b/packages/@glimmer/constants/package.json
index 7ace7a8ed..045025870 100644
--- a/packages/@glimmer/constants/package.json
+++ b/packages/@glimmer/constants/package.json
@@ -7,9 +7,7 @@
"type": "module",
"main": "index.ts",
"types": "index.ts",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/interfaces": "workspace:*"
},
diff --git a/packages/@glimmer/constants/test/package.json b/packages/@glimmer/constants/test/package.json
index 6e38b1da9..1affb8757 100644
--- a/packages/@glimmer/constants/test/package.json
+++ b/packages/@glimmer/constants/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/constants",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/env": "0.1.7",
"@glimmer/util": "workspace:*"
diff --git a/packages/@glimmer/debug-util/package.json b/packages/@glimmer/debug-util/package.json
index 4217d3413..a54e81086 100644
--- a/packages/@glimmer/debug-util/package.json
+++ b/packages/@glimmer/debug-util/package.json
@@ -6,9 +6,7 @@
"description": "Common utilities used in Glimmer with debug-specific behavior",
"type": "module",
"exports": "./index.ts",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/interfaces": "workspace:*"
},
diff --git a/packages/@glimmer/debug-util/test/package.json b/packages/@glimmer/debug-util/test/package.json
index 6470fea72..8673ef400 100644
--- a/packages/@glimmer/debug-util/test/package.json
+++ b/packages/@glimmer/debug-util/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/debug-util",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/env": "0.1.7",
"@glimmer/util": "workspace:*"
diff --git a/packages/@glimmer/debug/package.json b/packages/@glimmer/debug/package.json
index 0dd5e9623..dba565477 100644
--- a/packages/@glimmer/debug/package.json
+++ b/packages/@glimmer/debug/package.json
@@ -7,9 +7,7 @@
"sideEffects": false,
"type": "module",
"exports": "./index.ts",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/interfaces": "workspace:*",
"@glimmer/reference": "workspace:*",
diff --git a/packages/@glimmer/debug/test/package.json b/packages/@glimmer/debug/test/package.json
index 3e62957b1..6ec0d8321 100644
--- a/packages/@glimmer/debug/test/package.json
+++ b/packages/@glimmer/debug/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/debug",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/debug": "workspace:*"
}
diff --git a/packages/@glimmer/destroyable/package.json b/packages/@glimmer/destroyable/package.json
index f7548f22c..ff8200328 100644
--- a/packages/@glimmer/destroyable/package.json
+++ b/packages/@glimmer/destroyable/package.json
@@ -28,7 +28,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/destroyable/test/package.json b/packages/@glimmer/destroyable/test/package.json
index a6392d150..97adbbaa9 100644
--- a/packages/@glimmer/destroyable/test/package.json
+++ b/packages/@glimmer/destroyable/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/destroyable",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/destroyable": "workspace:*",
"@glimmer/global-context": "workspace:*",
diff --git a/packages/@glimmer/encoder/package.json b/packages/@glimmer/encoder/package.json
index 92f15701d..3463bb592 100644
--- a/packages/@glimmer/encoder/package.json
+++ b/packages/@glimmer/encoder/package.json
@@ -27,7 +27,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/global-context/package.json b/packages/@glimmer/global-context/package.json
index ef9052c2b..123532aae 100644
--- a/packages/@glimmer/global-context/package.json
+++ b/packages/@glimmer/global-context/package.json
@@ -27,7 +27,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"devDependencies": {
diff --git a/packages/@glimmer/interfaces/package.json b/packages/@glimmer/interfaces/package.json
index 81ebd9e13..d068d7094 100644
--- a/packages/@glimmer/interfaces/package.json
+++ b/packages/@glimmer/interfaces/package.json
@@ -16,7 +16,6 @@
"index.d.ts"
],
"scripts": {
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/local-debug-babel-plugin/package.json b/packages/@glimmer/local-debug-babel-plugin/package.json
index 66ae30bb0..a16923bf6 100644
--- a/packages/@glimmer/local-debug-babel-plugin/package.json
+++ b/packages/@glimmer/local-debug-babel-plugin/package.json
@@ -8,7 +8,5 @@
"type": "module",
"private": true,
"exports": "./index.js",
- "scripts": {
- "test:lint": "eslint . --quiet"
- }
+ "scripts": {}
}
diff --git a/packages/@glimmer/local-debug-flags/package.json b/packages/@glimmer/local-debug-flags/package.json
index 30312ee3a..5b2d8a847 100644
--- a/packages/@glimmer/local-debug-flags/package.json
+++ b/packages/@glimmer/local-debug-flags/package.json
@@ -6,9 +6,7 @@
"type": "module",
"private": true,
"exports": "./index.ts",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"devDependencies": {
"eslint": "^9.18.0"
}
diff --git a/packages/@glimmer/manager/package.json b/packages/@glimmer/manager/package.json
index 97f23b7b3..afb4c8afe 100644
--- a/packages/@glimmer/manager/package.json
+++ b/packages/@glimmer/manager/package.json
@@ -27,7 +27,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/manager/test/package.json b/packages/@glimmer/manager/test/package.json
index 871f709b2..9b53b62fc 100644
--- a/packages/@glimmer/manager/test/package.json
+++ b/packages/@glimmer/manager/test/package.json
@@ -5,9 +5,7 @@
"strictness": "loose"
},
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/interfaces": "workspace:*",
"@glimmer/manager": "workspace:*",
diff --git a/packages/@glimmer/node/package.json b/packages/@glimmer/node/package.json
index 2f937141a..fd6a6c855 100644
--- a/packages/@glimmer/node/package.json
+++ b/packages/@glimmer/node/package.json
@@ -27,7 +27,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/opcode-compiler/package.json b/packages/@glimmer/opcode-compiler/package.json
index 1f122684d..2b4a83aa9 100644
--- a/packages/@glimmer/opcode-compiler/package.json
+++ b/packages/@glimmer/opcode-compiler/package.json
@@ -27,7 +27,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/owner/package.json b/packages/@glimmer/owner/package.json
index f802d06f2..3fd0a8caa 100644
--- a/packages/@glimmer/owner/package.json
+++ b/packages/@glimmer/owner/package.json
@@ -28,7 +28,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"devDependencies": {
diff --git a/packages/@glimmer/owner/test/package.json b/packages/@glimmer/owner/test/package.json
index c6a2c81ed..2d83d6ede 100644
--- a/packages/@glimmer/owner/test/package.json
+++ b/packages/@glimmer/owner/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/owner",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/owner": "workspace:*"
}
diff --git a/packages/@glimmer/program/package.json b/packages/@glimmer/program/package.json
index 3134fbe26..9a09a9e3e 100644
--- a/packages/@glimmer/program/package.json
+++ b/packages/@glimmer/program/package.json
@@ -27,7 +27,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/program/test/package.json b/packages/@glimmer/program/test/package.json
index 0e9463186..825443022 100644
--- a/packages/@glimmer/program/test/package.json
+++ b/packages/@glimmer/program/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/program",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/program": "workspace:*"
}
diff --git a/packages/@glimmer/reference/package.json b/packages/@glimmer/reference/package.json
index 17b95be60..56e6485c6 100644
--- a/packages/@glimmer/reference/package.json
+++ b/packages/@glimmer/reference/package.json
@@ -28,7 +28,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/reference/test/package.json b/packages/@glimmer/reference/test/package.json
index c621c3011..2e4a5b8e5 100644
--- a/packages/@glimmer/reference/test/package.json
+++ b/packages/@glimmer/reference/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/reference",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/global-context": "workspace:*",
"@glimmer/reference": "workspace:*",
diff --git a/packages/@glimmer/runtime/package.json b/packages/@glimmer/runtime/package.json
index caf836e48..3284f2f07 100644
--- a/packages/@glimmer/runtime/package.json
+++ b/packages/@glimmer/runtime/package.json
@@ -28,7 +28,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/syntax/package.json b/packages/@glimmer/syntax/package.json
index 286e4648f..9f6123245 100644
--- a/packages/@glimmer/syntax/package.json
+++ b/packages/@glimmer/syntax/package.json
@@ -27,7 +27,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/syntax/test/package.json b/packages/@glimmer/syntax/test/package.json
index 39d72baad..9dc323dd8 100644
--- a/packages/@glimmer/syntax/test/package.json
+++ b/packages/@glimmer/syntax/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/syntax",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer-workspace/integration-tests": "workspace:*",
"@glimmer-workspace/test-utils": "workspace:*",
diff --git a/packages/@glimmer/util/package.json b/packages/@glimmer/util/package.json
index d933ad3d5..7674c2256 100644
--- a/packages/@glimmer/util/package.json
+++ b/packages/@glimmer/util/package.json
@@ -28,7 +28,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/util/test/package.json b/packages/@glimmer/util/test/package.json
index 21ddd1440..6a937c029 100644
--- a/packages/@glimmer/util/test/package.json
+++ b/packages/@glimmer/util/test/package.json
@@ -2,9 +2,7 @@
"private": true,
"name": "@glimmer-test/util",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/util": "workspace:*"
}
diff --git a/packages/@glimmer/validator/package.json b/packages/@glimmer/validator/package.json
index e46a143e7..02a48d503 100644
--- a/packages/@glimmer/validator/package.json
+++ b/packages/@glimmer/validator/package.json
@@ -28,7 +28,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/validator/test/package.json b/packages/@glimmer/validator/test/package.json
index d208f0d19..2aa799b84 100644
--- a/packages/@glimmer/validator/test/package.json
+++ b/packages/@glimmer/validator/test/package.json
@@ -5,9 +5,7 @@
"strictness": "strict"
},
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@glimmer/global-context": "workspace:*",
"@glimmer/interfaces": "workspace:*",
diff --git a/packages/@glimmer/vm-babel-plugins/package.json b/packages/@glimmer/vm-babel-plugins/package.json
index 9ef0e89b5..65b3ceef8 100644
--- a/packages/@glimmer/vm-babel-plugins/package.json
+++ b/packages/@glimmer/vm-babel-plugins/package.json
@@ -31,7 +31,6 @@
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
"test": "mocha",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/vm/package.json b/packages/@glimmer/vm/package.json
index 4517aa56d..01d2fc2b7 100644
--- a/packages/@glimmer/vm/package.json
+++ b/packages/@glimmer/vm/package.json
@@ -27,7 +27,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@glimmer/wire-format/package.json b/packages/@glimmer/wire-format/package.json
index b4488cd4e..7f5379590 100644
--- a/packages/@glimmer/wire-format/package.json
+++ b/packages/@glimmer/wire-format/package.json
@@ -28,7 +28,6 @@
],
"scripts": {
"prepack": "rollup -c rollup.config.mjs",
- "test:lint": "eslint . --quiet",
"test:publint": "publint"
},
"dependencies": {
diff --git a/packages/@types/eslint-community__eslint-plugin-eslint-comments/package.json b/packages/@types/eslint-community__eslint-plugin-eslint-comments/package.json
index 7bd289f38..7ad830c1d 100644
--- a/packages/@types/eslint-community__eslint-plugin-eslint-comments/package.json
+++ b/packages/@types/eslint-community__eslint-plugin-eslint-comments/package.json
@@ -3,9 +3,7 @@
"name": "@types/eslint-community__eslint-plugin-eslint-comments",
"version": "0.92.0",
"exports": "./index.d.ts",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@types/eslint": "^9.6.1"
}
diff --git a/packages/@types/eslint-plugin-import/package.json b/packages/@types/eslint-plugin-import/package.json
index b24da21ab..00cb79fc3 100644
--- a/packages/@types/eslint-plugin-import/package.json
+++ b/packages/@types/eslint-plugin-import/package.json
@@ -4,9 +4,7 @@
"version": "0.92.0",
"type": "module",
"exports": "./index.d.ts",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@types/eslint": "^9.6.1"
}
diff --git a/packages/@types/eslint-plugin-qunit/package.json b/packages/@types/eslint-plugin-qunit/package.json
index 61521e64d..7f8896aec 100644
--- a/packages/@types/eslint-plugin-qunit/package.json
+++ b/packages/@types/eslint-plugin-qunit/package.json
@@ -3,9 +3,7 @@
"name": "@types/eslint-plugin-qunit",
"types": "index.d.ts",
"version": "0.92.0",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"@types/eslint": "^9.6.1"
}
diff --git a/packages/@types/js-reporters/package.json b/packages/@types/js-reporters/package.json
index 4c9541252..4e1419c70 100644
--- a/packages/@types/js-reporters/package.json
+++ b/packages/@types/js-reporters/package.json
@@ -3,7 +3,5 @@
"name": "@types/js-reporters",
"version": "0.92.0",
"exports": "./index.d.ts",
- "scripts": {
- "test:lint": "eslint . --quiet"
- }
+ "scripts": {}
}
diff --git a/packages/@types/puppeteer-chromium-resolver/package.json b/packages/@types/puppeteer-chromium-resolver/package.json
index 780b10197..66280a4cf 100644
--- a/packages/@types/puppeteer-chromium-resolver/package.json
+++ b/packages/@types/puppeteer-chromium-resolver/package.json
@@ -3,9 +3,7 @@
"name": "@types/puppeteer-chromium-resolver",
"version": "0.92.0",
"exports": "./index.d.ts",
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"puppeteer": "23.11.1"
}
diff --git a/repo-metadata/package.json b/repo-metadata/package.json
index 70721f96d..f5f9a2b0c 100644
--- a/repo-metadata/package.json
+++ b/repo-metadata/package.json
@@ -10,9 +10,7 @@
},
"./metadata.json": "./metadata.json"
},
- "scripts": {
- "test:lint": "eslint . --quiet"
- },
+ "scripts": {},
"dependencies": {
"chalk": "^5.4.1",
"execa": "^9.5.2",
diff --git a/turbo.json b/turbo.json
index 300bc18cb..f26264477 100644
--- a/turbo.json
+++ b/turbo.json
@@ -26,7 +26,8 @@
"dependsOn": ["test:lint", "test:publint"]
},
"test:node": {},
- "test:lint": {},
+ "test:lint": {
+ },
"test:publint": {
"dependsOn": ["prepack", "prepare"]
},
@@ -38,6 +39,11 @@
"outputs": ["dist/**"],
"dependsOn": ["^prepack"]
},
+ "//#test:lint": {
+ "dependsOn": ["//#repo:update:conventions", "//#repo:update:metadata"]
+ },
+ "//#repo:update:convensions": {},
+ "//#repo:update:metadata": {},
"//#test:types": {
"inputs": ["**/dist/**", "tsconfig.dist.json"],
"dependsOn": ["^prepack", "//#benchmark:setup", "//#smoke:setup"]
From 8206d97b686caf4f45dd96af6b58722bfcde6e3d Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Fri, 24 Jan 2025 17:40:42 -0500
Subject: [PATCH 28/29] fix
---
package.json | 2 +-
turbo.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index 18797ab1e..638730ce5 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,7 @@
"lint:format": "prettier -c .",
"postinstall": "node --disable-warning=ExperimentalWarning --experimental-strip-types ./bin/bench-packages.mts",
"repo:lint:all": "turbo run lint:all",
- "repo:lint:files": "turbo run test:lint",
+ "repo:lint:files": "turbo run //#test:lint",
"repo:lint:fix": "turbo run test:lint -- --fix && prettier -w .",
"repo:lint:pub": "turbo run test:publint",
"repo:lint:types": "turbo run //#test:types",
diff --git a/turbo.json b/turbo.json
index f26264477..945cec319 100644
--- a/turbo.json
+++ b/turbo.json
@@ -42,7 +42,7 @@
"//#test:lint": {
"dependsOn": ["//#repo:update:conventions", "//#repo:update:metadata"]
},
- "//#repo:update:convensions": {},
+ "//#repo:update:conventions": {},
"//#repo:update:metadata": {},
"//#test:types": {
"inputs": ["**/dist/**", "tsconfig.dist.json"],
From 3e14e233969fd58a389ff036b7e0acfe20efb1df Mon Sep 17 00:00:00 2001
From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Date: Fri, 24 Jan 2025 17:59:45 -0500
Subject: [PATCH 29/29] last fix?
---
turbo.json | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/turbo.json b/turbo.json
index 945cec319..a6d1808e0 100644
--- a/turbo.json
+++ b/turbo.json
@@ -26,8 +26,7 @@
"dependsOn": ["test:lint", "test:publint"]
},
"test:node": {},
- "test:lint": {
- },
+ "test:lint": {},
"test:publint": {
"dependsOn": ["prepack", "prepare"]
},