Skip to content

Commit 381c22c

Browse files
Merge pull request #1471 from emberjs/the-v2-addon-conversion
V2 Addon Conversion
2 parents 152f254 + c25dacf commit 381c22c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+3425
-8224
lines changed

.github/workflows/ci-build.yml

-12
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,8 @@ jobs:
4343
- name: Build addon
4444
working-directory: addon
4545
run: pnpm build
46-
- run: pnpm i -f # sync injected dependencies
4746
- run: pnpm test
4847
working-directory: test-app
49-
- name: own types
50-
working-directory: addon
51-
run: pnpm tsc --noEmit
5248

5349
docs-gen:
5450
timeout-minutes: 5
@@ -83,13 +79,9 @@ jobs:
8379
- name: Build addon
8480
working-directory: addon
8581
run: pnpm build
86-
- run: pnpm i -f # sync injected dependencies
8782
- name: Run Tests
8883
working-directory: test-app
8984
run: pnpm test
90-
- name: own types
91-
working-directory: addon
92-
run: pnpm tsc --noEmit
9385

9486
try-scenarios:
9587
timeout-minutes: 10
@@ -126,13 +118,9 @@ jobs:
126118
- name: Build addon
127119
working-directory: addon
128120
run: pnpm build
129-
- run: pnpm i -f # sync injected dependencies
130121
- name: test
131122
working-directory: test-app
132123
run: node_modules/.bin/ember try:one ${{ matrix.ember-try-scenario }} --skip-cleanup
133-
- name: types compatibility
134-
working-directory: addon
135-
run: pnpm lint:ts
136124

137125
types:
138126
runs-on: ubuntu-latest

addon/.ember-cli

-15
This file was deleted.

addon/.eslintignore

+1-21
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,9 @@
11
# unconventional js
22
/blueprints/*/files/
3-
/vendor/
43

54
# compiled output
65
/dist/
7-
/tmp/
8-
9-
# dependencies
10-
/bower_components/
11-
/node_modules/
6+
/declarations/
127

138
# misc
149
/coverage/
15-
!.*
16-
.*/
17-
.eslintcache
18-
19-
# ember-try
20-
/.node_modules.ember-try/
21-
/bower.json.ember-try
22-
/npm-shrinkwrap.json.ember-try
23-
/package.json.ember-try
24-
/package-lock.json.ember-try
25-
/yarn.lock.ember-try
26-
27-
addon-test-support/**/*.js
28-
addon-test-support/**/*.d.ts
29-
public-types

addon/.eslintrc.cjs

+117
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
'use strict';
2+
3+
module.exports = {
4+
root: true,
5+
// Only use overrides
6+
// https://github.com/ember-cli/eslint-plugin-ember?tab=readme-ov-file#gtsgjs
7+
overrides: [
8+
{
9+
files: ['**/*.js', '**/*.ts'],
10+
env: { browser: true },
11+
parser: '@typescript-eslint/parser',
12+
parserOptions: {
13+
ecmaVersion: 'latest',
14+
},
15+
plugins: ['ember', 'import'],
16+
extends: [
17+
'eslint:recommended',
18+
'plugin:ember/recommended',
19+
'plugin:prettier/recommended',
20+
],
21+
rules: {
22+
// require relative imports use full extensions
23+
'import/extensions': ['error', 'always', { ignorePackages: true }],
24+
// Add any custom rules here
25+
},
26+
},
27+
// ts files
28+
{
29+
files: ['**/*.ts'],
30+
extends: [
31+
'eslint:recommended',
32+
'plugin:ember/recommended',
33+
'plugin:@typescript-eslint/eslint-recommended',
34+
'plugin:@typescript-eslint/recommended',
35+
'plugin:prettier/recommended',
36+
],
37+
rules: {
38+
// require relative imports use full extensions
39+
'import/extensions': ['error', 'always', { ignorePackages: true }],
40+
// We break a lot of rules with types
41+
// (public types do not always exist for the things we need to import)
42+
'@typescript-eslint/ban-ts-comment': 'off',
43+
'@typescript-eslint/no-explicit-any': 'off',
44+
'@typescript-eslint/ban-types': 'off',
45+
// We access the _routerMicrolib
46+
// and router:main
47+
'ember/no-private-routing-service': 'off',
48+
// This library must violate this rule so that consumers
49+
// can have some additional protections for working _with_ this rule.
50+
'ember/no-ember-testing-in-module-scope': 'off',
51+
// Used in `setupRenderingContext` to hook in to "appendTo"
52+
// on the -top-level-view:main
53+
'ember/no-runloop': 'off',
54+
// For accessing container_proxy and registry_proxy
55+
'ember/no-mixins': 'off',
56+
// We violate this for making the owner in build-registry.
57+
'ember/no-classic-classes': 'off',
58+
},
59+
},
60+
{
61+
files: ['**/*.gts'],
62+
parser: 'ember-eslint-parser',
63+
plugins: ['ember', 'import'],
64+
extends: [
65+
'eslint:recommended',
66+
'plugin:@typescript-eslint/eslint-recommended',
67+
'plugin:@typescript-eslint/recommended',
68+
'plugin:ember/recommended',
69+
'plugin:ember/recommended-gts',
70+
'plugin:prettier/recommended',
71+
],
72+
rules: {
73+
// require relative imports use full extensions
74+
'import/extensions': ['error', 'always', { ignorePackages: true }],
75+
// Add any custom rules here
76+
},
77+
},
78+
{
79+
files: ['**/*.gjs'],
80+
parser: 'ember-eslint-parser',
81+
plugins: ['ember', 'import'],
82+
extends: [
83+
'eslint:recommended',
84+
'plugin:ember/recommended',
85+
'plugin:ember/recommended-gjs',
86+
'plugin:prettier/recommended',
87+
],
88+
rules: {
89+
// require relative imports use full extensions
90+
'import/extensions': ['error', 'always', { ignorePackages: true }],
91+
// Add any custom rules here
92+
},
93+
},
94+
// node files
95+
{
96+
files: [
97+
'./.eslintrc.cjs',
98+
'./.prettierrc.cjs',
99+
'./.template-lintrc.cjs',
100+
'./addon-main.cjs',
101+
],
102+
parserOptions: {
103+
sourceType: 'script',
104+
},
105+
env: {
106+
browser: false,
107+
node: true,
108+
},
109+
plugins: ['n'],
110+
extends: [
111+
'eslint:recommended',
112+
'plugin:n/recommended',
113+
'plugin:prettier/recommended',
114+
],
115+
},
116+
],
117+
};

addon/.eslintrc.js

-88
This file was deleted.

addon/.gitignore

+16-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
1-
# tyescript related output files
2-
addon-test-support/**/*.js
3-
addon-test-support/**/*.d.ts
4-
dist-types
1+
# The authoritative copies of these live in the monorepo root (because they're
2+
# more useful on github that way), but the build copies them into here so they
3+
# will also appear in published NPM packages.
4+
/README.md
5+
/LICENSE.md
56

6-
# Other build artifacts
7-
README.md
7+
# compiled output
8+
dist/
9+
declarations/
10+
11+
# npm/pnpm/yarn pack output
12+
*.tgz
13+
14+
# deps & caches
15+
node_modules/
16+
.eslintcache
17+
.prettiercache

addon/.npmignore

-51
This file was deleted.

addon/.prettierignore

+1-19
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,9 @@
11
# unconventional js
22
/blueprints/*/files/
3-
/vendor/
43

54
# compiled output
65
/dist/
7-
/tmp/
8-
9-
# dependencies
10-
/bower_components/
11-
/node_modules/
6+
/declarations/
127

138
# misc
149
/coverage/
15-
!.*
16-
.eslintcache
17-
18-
# ember-try
19-
/.node_modules.ember-try/
20-
/bower.json.ember-try
21-
/npm-shrinkwrap.json.ember-try
22-
/package.json.ember-try
23-
/package-lock.json.ember-try
24-
/yarn.lock.ember-try
25-
26-
addon-test-support/**/*.js
27-
addon-test-support/**/*.d.ts
File renamed without changes.

0 commit comments

Comments
 (0)