Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
952 changes: 640 additions & 312 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

4 changes: 1 addition & 3 deletions test-projects/configs/flat-ts/eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import n from 'eslint-plugin-n';
import globals from 'globals';
import ts from 'typescript-eslint';


import { createRequire } from 'node:module';
const require = createRequire(import.meta.url);
const manifestPath = require.resolve('@typescript-eslint/parser/package.json');
Expand All @@ -35,8 +34,7 @@ const parserOptions = {
ecmaVersion: 'latest',
},
ts: {
projectService: true,
...(isV8 ? {} : { project: true }),
...(isV8 ? { projectService: true } : { project: true }),
tsconfigRootDir: import.meta.dirname,
},
},
Expand Down
37 changes: 37 additions & 0 deletions test-projects/gjs-experimental-worker/babel.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
module.exports = {
plugins: [
[
'babel-plugin-ember-template-compilation',
{
compilerPath: 'ember-source/dist/ember-template-compiler.js',
enableLegacyModules: [
'ember-cli-htmlbars',
'ember-cli-htmlbars-inline-precompile',
'htmlbars-inline-precompile',
],
transforms: [],
},
],
[
'module:decorator-transforms',
{
runtime: {
import: require.resolve('decorator-transforms/runtime-esm'),
},
},
],
[
'@babel/plugin-transform-runtime',
{
absoluteRuntime: __dirname,
useESModules: true,
regenerator: false,
},
],
],

generatorOpts: {
compact: false,
},
};

54 changes: 54 additions & 0 deletions test-projects/gjs-experimental-worker/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/**
* Debugging:
* https://eslint.org/docs/latest/use/configure/debug
* ----------------------------------------------------
*
* Print a file's calculated configuration
*
* npx eslint --print-config path/to/file.js
*
* Inspecting the config
*
* npx eslint --inspect-config
*
*/
import ember from 'eslint-plugin-ember/recommended';
import babelParser from '@babel/eslint-parser/experimental-worker';

const esmParserOptions = {
ecmaFeatures: { modules: true },
ecmaVersion: 'latest',
};

export default [
ember.configs.base,
ember.configs.gjs,
/**
* Ignores must be in their own object
* https://eslint.org/docs/latest/use/configure/ignore
*/
{
ignores: ['dist/', 'node_modules/', 'coverage/', '!**/.*'],
},
/**
* https://eslint.org/docs/latest/use/configure/configuration-files#configuring-linter-options
*/
{
linterOptions: {
reportUnusedDisableDirectives: 'error',
},
},
{
files: ['**/*.js'],
languageOptions: {
parser: babelParser,
},
},
{
files: ['**/*.{js,gjs}'],
languageOptions: {
parserOptions: esmParserOptions,
},
},
];

21 changes: 21 additions & 0 deletions test-projects/gjs-experimental-worker/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "@test-project/gjs-experimental-worker",
"private": true,
"scripts": {
"test:check": "pnpm run /test:check:.*/",
"test:check:correct-handle-syntax-error": "eslint . | grep -q '26:15 error Parsing error: × Unexpected eof'",
"test:check:only-one-error": "eslint --format compact . | egrep '^[0-9]+ problem[s]*' | wc -l | grep -q 1",
"test:fix": "eslint --fix --format compact . | egrep '^[0-9]+ problem[s]*' | wc -l | grep -q 1"
},
"devDependencies": {
"@babel/plugin-transform-runtime": "^7.28.5",
"@typescript-eslint/eslint-plugin": "^8.46.4",
"@typescript-eslint/parser": "^8.46.4",
"babel-plugin-ember-template-compilation": "^3.0.1",
"decorator-transforms": "^2.3.0",
"ember-eslint-parser": "workspace:^",
"eslint": "^8.0.1",
"eslint-plugin-ember": "^12.0.0",
"typescript": "^5.3.3"
}
}
26 changes: 26 additions & 0 deletions test-projects/gjs-experimental-worker/src/placeholer.gjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import qp from 'limber/helpers/qp';
import highlighted from 'limber/modifiers/highlighted';
import { service } from 'limber-ui';

const orGlimdown = (format) => format || 'glimdown';

export const Placeholder = <template>
{{#let (service "editor") as |context|}}
<label class="sr-only" for="initial-editor">
Glimmer + Markdown Code Editor
</label>

<pre
data-test-placeholder
id="initial-editor"
spellcheck="false"
class="w-full h-full px-6 py-2 font-sm font-mono text-white"
{{! @glint-ignore }}
{{highlighted context.text}}
...attributes
><code class="{{orGlimdown (qp 'format')}} hljs">{{context.text}}</code></pre>
{{/let}}
</template>;


console.log(')
4 changes: 2 additions & 2 deletions test-projects/gjs-types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
"devDependencies": {
"typescript": "^5.0.0",
"eslint": "^8.0.0",
"@typescript-eslint/parser": "^6.0.0",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^8.46.4",
"@typescript-eslint/eslint-plugin": "^8.46.4",
"ember-eslint-parser": "workspace:^",
"eslint-plugin-ember": "^12.0.0",
"eslint-plugin-import": "^2.31.0",
Expand Down
37 changes: 37 additions & 0 deletions test-projects/gjs/babel.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
module.exports = {
plugins: [
[
'babel-plugin-ember-template-compilation',
{
compilerPath: 'ember-source/dist/ember-template-compiler.js',
enableLegacyModules: [
'ember-cli-htmlbars',
'ember-cli-htmlbars-inline-precompile',
'htmlbars-inline-precompile',
],
transforms: [],
},
],
[
'module:decorator-transforms',
{
runtime: {
import: require.resolve('decorator-transforms/runtime-esm'),
},
},
],
[
'@babel/plugin-transform-runtime',
{
absoluteRuntime: __dirname,
useESModules: true,
regenerator: false,
},
],
],

generatorOpts: {
compact: false,
},
};

4 changes: 2 additions & 2 deletions test-projects/gjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
"test:fix": "eslint --fix --format compact . | egrep '^[0-9]+ problem[s]*' | wc -l | grep -q 1"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
"@typescript-eslint/eslint-plugin": "^8.46.4",
"@typescript-eslint/parser": "^8.46.4",
"ember-eslint-parser": "workspace:^",
"eslint": "^8.0.1",
"eslint-plugin-ember": "^12.0.0",
Expand Down
45 changes: 45 additions & 0 deletions test-projects/gts-experimental-worker/babel.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
module.exports = {
plugins: [
[
'@babel/plugin-transform-typescript',
{
allExtensions: true,
onlyRemoveTypeImports: true,
allowDeclareFields: true,
},
],
[
'babel-plugin-ember-template-compilation',
{
compilerPath: 'ember-source/dist/ember-template-compiler.js',
enableLegacyModules: [
'ember-cli-htmlbars',
'ember-cli-htmlbars-inline-precompile',
'htmlbars-inline-precompile',
],
transforms: [],
},
],
[
'module:decorator-transforms',
{
runtime: {
import: require.resolve('decorator-transforms/runtime-esm'),
},
},
],
[
'@babel/plugin-transform-runtime',
{
absoluteRuntime: __dirname,
useESModules: true,
regenerator: false,
},
],
],

generatorOpts: {
compact: false,
},
};

81 changes: 81 additions & 0 deletions test-projects/gts-experimental-worker/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
/**
* Debugging:
* https://eslint.org/docs/latest/use/configure/debug
* ----------------------------------------------------
*
* Print a file's calculated configuration
*
* npx eslint --print-config path/to/file.js
*
* Inspecting the config
*
* npx eslint --inspect-config
*
*/
import ts from 'typescript-eslint';

import ember from 'eslint-plugin-ember/recommended';

import babelParser from '@babel/eslint-parser/experimental-worker';

import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const manifestPath = require.resolve('@typescript-eslint/parser/package.json');
const manifest = require(manifestPath);
const isV8 = parseInt(manifest.version[0]) >= 8;

const parserOptions = {
esm: {
js: {
ecmaFeatures: { modules: true },
ecmaVersion: 'latest',
},
ts: {
...(isV8 ? { projectService: true } : { project: true }),
tsconfigRootDir: import.meta.dirname,
},
},
};

export default ts.config(
ember.configs.base,
ember.configs.gjs,
ember.configs.gts,
/**
* Ignores must be in their own object
* https://eslint.org/docs/latest/use/configure/ignore
*/
{
ignores: ['dist/', 'node_modules/', 'coverage/', '!**/.*'],
},
/**
* https://eslint.org/docs/latest/use/configure/configuration-files#configuring-linter-options
*/
{
linterOptions: {
reportUnusedDisableDirectives: 'error',
},
},
{
files: ['**/*.js'],
languageOptions: {
parser: babelParser,
},
},
{
files: ['**/*.{js,gjs}'],
languageOptions: {
parserOptions: parserOptions.esm.js,
},
},
{
files: ['**/*.{ts,gts}'],
languageOptions: {
parser: ember.parser,
parserOptions: parserOptions.esm.ts,
},
extends: [...ts.configs.recommendedTypeChecked, ember.configs.gts],
},
);

1 change: 1 addition & 0 deletions test-projects/gts-experimental-worker/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import "ember-source/types/stable"
26 changes: 26 additions & 0 deletions test-projects/gts-experimental-worker/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "@test-project/gts-experimental-worker",
"private": true,
"scripts": {
"test:check": "eslint src --max-warnings=0 | grep -q '27:9 error '",
"test:fix": "eslint ./src-fixable --fix --max-warnings=0",
"types": "tsc --noEmit"
},
"devDependencies": {
"@babel/plugin-transform-runtime": "^7.28.5",
"@ember/test-waiters": "^3.1.0",
"@glimmer/component": "^1.1.2",
"@glimmer/tracking": "^1.1.2",
"@glint/template": "^1.3.0",
"@typescript-eslint/eslint-plugin": "^8.46.4",
"@typescript-eslint/parser": "^8.46.4",
"babel-plugin-ember-template-compilation": "^3.0.1",
"decorator-transforms": "^2.3.0",
"ember-eslint-parser": "workspace:^",
"ember-source": "^5.6.0",
"eslint": "^8.0.1",
"eslint-plugin-ember": "^12.0.0",
"typescript": "^5.3.3",
"typescript-eslint": "^8.19.1"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

const Bar = x => {return x as unknown};
export default Bar
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
const Bar = () => <template></template>;
export default Bar
Loading