Skip to content

Commit e700aa2

Browse files
Merge pull request #1674 from NullVoxPopuli/refactor-ember-repl
Refactor the compilation library to prepare for broader usage
2 parents e8e090f + 761ad73 commit e700aa2

29 files changed

+424
-661
lines changed

package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@
4242
"@nullvoxpopuli/eslint-configs": "^3.2.2",
4343
"@embroider/addon-shim": "1.8.7",
4444
"ember-element-helper": "^0.8.5",
45-
"ember-auto-import": "^2.7.0"
45+
"ember-auto-import": "^2.7.0",
46+
"ember-source": ">= 5.5.0",
47+
"webpack": "5.90.3"
4648
},
4749
"allowedDeprecatedVersions": {
4850
"source-map-url": "^0.3.0",

packages/ember-repl/addon/package.json

+28-22
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,38 @@
1818
"declarations/test-support/index.d.ts"
1919
],
2020
"markdown/parse": [
21-
"./declarations/browser/compile/markdown-to-ember.d.ts"
21+
"./declarations/compile/markdown-to-ember.d.ts"
2222
],
2323
"*": [
24-
"declarations/browser/*",
25-
"declarations/browser/*/index.d.ts"
24+
"declarations/*",
25+
"declarations/*/index.d.ts"
2626
]
2727
}
2828
},
2929
"exports": {
3030
".": {
31-
"types": "./declarations/browser/index.d.ts",
32-
"default": "./dist/browser/index.js"
31+
"types": "./declarations/index.d.ts",
32+
"default": "./dist/index.js"
3333
},
34-
"./esm": {
35-
"types": "./declarations/browser/esm/index.d.ts",
36-
"default": "./dist/browser/esm/index.js"
34+
"./formats/markdown": {
35+
"types": "./declarations/compile/formats/markdown.d.ts",
36+
"default": "./dist/compile/formats/markdown.js"
3737
},
38-
"./markdown/parse": {
39-
"types": "./declarations/browser/compile/markdown-to-ember.d.ts",
40-
"default": "./dist/browser/compile/markdown-to-ember.js"
38+
"./formats/hbs": {
39+
"types": "./declarations/compile/formats/hbs.d.ts",
40+
"default": "./dist/compile/formats/hbs.js"
41+
},
42+
"./formats/gjs": {
43+
"types": "./declarations/compile/formats/gjs/index.d.ts",
44+
"default": "./dist/compile/formats/gjs/index.js"
4145
},
4246
"./test-support": {
4347
"types": "./declarations/test-support/index.d.ts",
4448
"default": "./dist/test-support/index.js"
4549
},
4650
"./__PRIVATE__DO_NOT_USE__": {
47-
"types": "./declarations/browser/__PRIVATE__.d.ts",
48-
"default": "./dist/browser/__PRIVATE__.js"
51+
"types": "./declarations/__PRIVATE__.d.ts",
52+
"default": "./dist/__PRIVATE__.js"
4953
},
5054
"./addon-main.js": "./addon-main.cjs"
5155
},
@@ -56,8 +60,7 @@
5660
"addon-main.cjs"
5761
],
5862
"scripts": {
59-
"build": "concurrently 'npm:build:*'",
60-
"build:js": "rollup --config",
63+
"build": "rollup --config",
6164
"lint:types": "tsc --noEmit",
6265
"lint:fix": "pnpm -w exec lint fix",
6366
"start": "rollup --config --watch",
@@ -68,10 +71,10 @@
6871
"lint:hbs": "pnpm -w exec lint hbs",
6972
"lint:hbs:fix": "pnpm -w exec lint hbs:fix",
7073
"lint:prettier:fix": "pnpm -w exec lint prettier:fix",
71-
"lint:prettier": "pnpm -w exec lint prettier",
72-
"build:types": "tsc --emitDeclarationOnly --noEmit false"
74+
"lint:prettier": "pnpm -w exec lint prettier"
7375
},
7476
"dependencies": {
77+
"ember-resources": ">= 6.4.2",
7578
"@babel/helper-plugin-utils": "^7.22.5",
7679
"@babel/standalone": "^7.23.10",
7780
"@embroider/addon-shim": "1.8.7",
@@ -139,6 +142,7 @@
139142
"eslint-plugin-ember": "^12.0.0",
140143
"eslint-plugin-node": "^11.1.0",
141144
"eslint-plugin-prettier": "^5.1.3",
145+
"execa": "^8.0.1",
142146
"prettier": "^3.2.5",
143147
"prettier-plugin-ember-template-tag": "^2.0.0",
144148
"publint": "^0.2.6",
@@ -159,12 +163,14 @@
159163
"app-js": {}
160164
},
161165
"peerDependencies": {
162-
"@glimmer/compiler": ">= 0.86.0",
163-
"@glimmer/component": "^1.1.2",
164-
"@glimmer/syntax": ">= 0.86.0",
165166
"@glint/template": ">= 1.3.0",
166-
"ember-resources": ">= 6.4.2",
167-
"ember-source": ">= 5.5.0"
167+
"@glimmer/compiler": ">= 0.86.0",
168+
"@glimmer/syntax": ">= 0.86.0"
169+
},
170+
"peerDependenciesMeta": {
171+
"@glint/template": { "optional": true },
172+
"@glimmer/compiler": { "optional": true },
173+
"@glimmer/syntax": { "optional": true }
168174
},
169175
"engines": {
170176
"node": ">= v16",

packages/ember-repl/addon/rollup.config.mjs

+10-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import cjs from "@rollup/plugin-commonjs";
33
import { Addon } from "@embroider/addon-dev/rollup";
44
import copy from "rollup-plugin-copy";
55
import { defineConfig } from "rollup";
6+
import { execaCommand } from "execa";
67

78
const addon = new Addon({
89
srcDir: "src",
@@ -11,8 +12,9 @@ const addon = new Addon({
1112

1213
export default defineConfig({
1314
output: addon.output(),
15+
external: ["@glimmer/compiler", "@glimmer/syntax"],
1416
plugins: [
15-
addon.publicEntrypoints(["browser/**/*.js", "test-support/*.js"]),
17+
addon.publicEntrypoints(["**/*.js"]),
1618
addon.appReexports([]),
1719
babel({
1820
extensions: [".js", ".gjs", ".ts", ".gts"],
@@ -23,5 +25,12 @@ export default defineConfig({
2325
cjs(),
2426
addon.keepAssets(["build/**/*"]),
2527
addon.clean(),
28+
29+
{
30+
async closeBundle() {
31+
await execaCommand("tsc --emitDeclarationOnly --noEmit false", { stdio: "inherit" });
32+
console.info("Declarations built successfully");
33+
},
34+
},
2635
],
2736
});

packages/ember-repl/addon/src/browser/cjs/index.ts

-44
This file was deleted.

packages/ember-repl/addon/src/browser/compile/types.ts

-11
This file was deleted.

packages/ember-repl/addon/src/browser/esm/index.ts

-80
This file was deleted.

packages/ember-repl/addon/src/browser/gjs.ts

-59
This file was deleted.

packages/ember-repl/addon/src/browser/index.ts

-8
This file was deleted.

packages/ember-repl/addon/src/browser/js.ts

-42
This file was deleted.

0 commit comments

Comments
 (0)