Skip to content

Commit ad6f05b

Browse files
Merge pull request #147 from ember-tooling/experimental-worker-failing-test
Add test projects for the experimental worker
2 parents 79d6aad + 2cd6b7f commit ad6f05b

30 files changed

Lines changed: 1368 additions & 326 deletions

pnpm-lock.yaml

Lines changed: 640 additions & 312 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test-projects/configs/flat-ts/eslint.config.mjs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import n from 'eslint-plugin-n';
2121
import globals from 'globals';
2222
import ts from 'typescript-eslint';
2323

24-
2524
import { createRequire } from 'node:module';
2625
const require = createRequire(import.meta.url);
2726
const manifestPath = require.resolve('@typescript-eslint/parser/package.json');
@@ -35,8 +34,7 @@ const parserOptions = {
3534
ecmaVersion: 'latest',
3635
},
3736
ts: {
38-
projectService: true,
39-
...(isV8 ? {} : { project: true }),
37+
...(isV8 ? { projectService: true } : { project: true }),
4038
tsconfigRootDir: import.meta.dirname,
4139
},
4240
},
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
module.exports = {
2+
plugins: [
3+
[
4+
'babel-plugin-ember-template-compilation',
5+
{
6+
compilerPath: 'ember-source/dist/ember-template-compiler.js',
7+
enableLegacyModules: [
8+
'ember-cli-htmlbars',
9+
'ember-cli-htmlbars-inline-precompile',
10+
'htmlbars-inline-precompile',
11+
],
12+
transforms: [],
13+
},
14+
],
15+
[
16+
'module:decorator-transforms',
17+
{
18+
runtime: {
19+
import: require.resolve('decorator-transforms/runtime-esm'),
20+
},
21+
},
22+
],
23+
[
24+
'@babel/plugin-transform-runtime',
25+
{
26+
absoluteRuntime: __dirname,
27+
useESModules: true,
28+
regenerator: false,
29+
},
30+
],
31+
],
32+
33+
generatorOpts: {
34+
compact: false,
35+
},
36+
};
37+
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/**
2+
* Debugging:
3+
* https://eslint.org/docs/latest/use/configure/debug
4+
* ----------------------------------------------------
5+
*
6+
* Print a file's calculated configuration
7+
*
8+
* npx eslint --print-config path/to/file.js
9+
*
10+
* Inspecting the config
11+
*
12+
* npx eslint --inspect-config
13+
*
14+
*/
15+
import ember from 'eslint-plugin-ember/recommended';
16+
import babelParser from '@babel/eslint-parser/experimental-worker';
17+
18+
const esmParserOptions = {
19+
ecmaFeatures: { modules: true },
20+
ecmaVersion: 'latest',
21+
};
22+
23+
export default [
24+
ember.configs.base,
25+
ember.configs.gjs,
26+
/**
27+
* Ignores must be in their own object
28+
* https://eslint.org/docs/latest/use/configure/ignore
29+
*/
30+
{
31+
ignores: ['dist/', 'node_modules/', 'coverage/', '!**/.*'],
32+
},
33+
/**
34+
* https://eslint.org/docs/latest/use/configure/configuration-files#configuring-linter-options
35+
*/
36+
{
37+
linterOptions: {
38+
reportUnusedDisableDirectives: 'error',
39+
},
40+
},
41+
{
42+
files: ['**/*.js'],
43+
languageOptions: {
44+
parser: babelParser,
45+
},
46+
},
47+
{
48+
files: ['**/*.{js,gjs}'],
49+
languageOptions: {
50+
parserOptions: esmParserOptions,
51+
},
52+
},
53+
];
54+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"name": "@test-project/gjs-experimental-worker",
3+
"private": true,
4+
"scripts": {
5+
"test:check": "pnpm run /test:check:.*/",
6+
"test:check:correct-handle-syntax-error": "eslint . | grep -q '26:15 error Parsing error: × Unexpected eof'",
7+
"test:check:only-one-error": "eslint --format compact . | egrep '^[0-9]+ problem[s]*' | wc -l | grep -q 1",
8+
"test:fix": "eslint --fix --format compact . | egrep '^[0-9]+ problem[s]*' | wc -l | grep -q 1"
9+
},
10+
"devDependencies": {
11+
"@babel/plugin-transform-runtime": "^7.28.5",
12+
"@typescript-eslint/eslint-plugin": "^8.46.4",
13+
"@typescript-eslint/parser": "^8.46.4",
14+
"babel-plugin-ember-template-compilation": "^3.0.1",
15+
"decorator-transforms": "^2.3.0",
16+
"ember-eslint-parser": "workspace:^",
17+
"eslint": "^8.0.1",
18+
"eslint-plugin-ember": "^12.0.0",
19+
"typescript": "^5.3.3"
20+
}
21+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import qp from 'limber/helpers/qp';
2+
import highlighted from 'limber/modifiers/highlighted';
3+
import { service } from 'limber-ui';
4+
5+
const orGlimdown = (format) => format || 'glimdown';
6+
7+
export const Placeholder = <template>
8+
{{#let (service "editor") as |context|}}
9+
<label class="sr-only" for="initial-editor">
10+
Glimmer + Markdown Code Editor
11+
</label>
12+
13+
<pre
14+
data-test-placeholder
15+
id="initial-editor"
16+
spellcheck="false"
17+
class="w-full h-full px-6 py-2 font-sm font-mono text-white"
18+
{{! @glint-ignore }}
19+
{{highlighted context.text}}
20+
...attributes
21+
><code class="{{orGlimdown (qp 'format')}} hljs">{{context.text}}</code></pre>
22+
{{/let}}
23+
</template>;
24+
25+
26+
console.log(')

test-projects/gjs-types/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
"devDependencies": {
1818
"typescript": "^5.0.0",
1919
"eslint": "^8.0.0",
20-
"@typescript-eslint/parser": "^6.0.0",
21-
"@typescript-eslint/eslint-plugin": "^6.0.0",
20+
"@typescript-eslint/parser": "^8.46.4",
21+
"@typescript-eslint/eslint-plugin": "^8.46.4",
2222
"ember-eslint-parser": "workspace:^",
2323
"eslint-plugin-ember": "^12.0.0",
2424
"eslint-plugin-import": "^2.31.0",

test-projects/gjs/babel.config.cjs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
module.exports = {
2+
plugins: [
3+
[
4+
'babel-plugin-ember-template-compilation',
5+
{
6+
compilerPath: 'ember-source/dist/ember-template-compiler.js',
7+
enableLegacyModules: [
8+
'ember-cli-htmlbars',
9+
'ember-cli-htmlbars-inline-precompile',
10+
'htmlbars-inline-precompile',
11+
],
12+
transforms: [],
13+
},
14+
],
15+
[
16+
'module:decorator-transforms',
17+
{
18+
runtime: {
19+
import: require.resolve('decorator-transforms/runtime-esm'),
20+
},
21+
},
22+
],
23+
[
24+
'@babel/plugin-transform-runtime',
25+
{
26+
absoluteRuntime: __dirname,
27+
useESModules: true,
28+
regenerator: false,
29+
},
30+
],
31+
],
32+
33+
generatorOpts: {
34+
compact: false,
35+
},
36+
};
37+

test-projects/gjs/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
"test:fix": "eslint --fix --format compact . | egrep '^[0-9]+ problem[s]*' | wc -l | grep -q 1"
99
},
1010
"devDependencies": {
11-
"@typescript-eslint/eslint-plugin": "^6.21.0",
12-
"@typescript-eslint/parser": "^6.21.0",
11+
"@typescript-eslint/eslint-plugin": "^8.46.4",
12+
"@typescript-eslint/parser": "^8.46.4",
1313
"ember-eslint-parser": "workspace:^",
1414
"eslint": "^8.0.1",
1515
"eslint-plugin-ember": "^12.0.0",
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
module.exports = {
2+
plugins: [
3+
[
4+
'@babel/plugin-transform-typescript',
5+
{
6+
allExtensions: true,
7+
onlyRemoveTypeImports: true,
8+
allowDeclareFields: true,
9+
},
10+
],
11+
[
12+
'babel-plugin-ember-template-compilation',
13+
{
14+
compilerPath: 'ember-source/dist/ember-template-compiler.js',
15+
enableLegacyModules: [
16+
'ember-cli-htmlbars',
17+
'ember-cli-htmlbars-inline-precompile',
18+
'htmlbars-inline-precompile',
19+
],
20+
transforms: [],
21+
},
22+
],
23+
[
24+
'module:decorator-transforms',
25+
{
26+
runtime: {
27+
import: require.resolve('decorator-transforms/runtime-esm'),
28+
},
29+
},
30+
],
31+
[
32+
'@babel/plugin-transform-runtime',
33+
{
34+
absoluteRuntime: __dirname,
35+
useESModules: true,
36+
regenerator: false,
37+
},
38+
],
39+
],
40+
41+
generatorOpts: {
42+
compact: false,
43+
},
44+
};
45+

0 commit comments

Comments
 (0)