Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need to figure out a strategy for Vite #40

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
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
47 changes: 0 additions & 47 deletions docs-app/.github/workflows/ci.yml

This file was deleted.

4 changes: 4 additions & 0 deletions docs-app/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// eslint-disable-next-line n/no-missing-require
let config = require('./node_modules/.embroider/rewritten-app/_babel_config_');

module.exports = config;
12 changes: 11 additions & 1 deletion docs-app/ember-cli-build.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
'use strict';

const EmberApp = require('ember-cli/lib/broccoli/ember-app');
const { prebuild } = require('@embroider/compat');

const USE_WEBPACK = Boolean(process.env.WEBPACK);

module.exports = async function (defaults) {
if (!USE_WEBPACK) {
const app = new EmberApp(defaults, {
// Add options here
});

return prebuild(app);
}

const app = new EmberApp(defaults, {
// Add options here
'ember-cli-babel': {
Expand All @@ -11,7 +22,6 @@ module.exports = async function (defaults) {
});

const { Webpack } = require('@embroider/webpack');

const { kolay } = await import('kolay/webpack');

return require('@embroider/compat').compatBuild(app, Webpack, {
Expand Down
16 changes: 12 additions & 4 deletions docs-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@
"lint:js:fix": "eslint . --fix",
"lint:prettier": "prettier . --check",
"lint:prettier:fix": "prettier . --write",
"start": "concurrently 'ember serve' 'pnpm _syncPnpm --watch' --names 'serve,sync'",
"start": "pnpm start:vite",
"start:vite": "vite",
"start:test": "vite --open /tests",
"start:webpack": "WEBPACK=true pnpm ember serve",
"start:sync": "pnpm _syncPnpm --watch",
"_syncPnpm": "DEBUG=* pnpm sync-dependencies-meta-injected",
"test:ember": "ember test"
},
Expand All @@ -34,16 +38,19 @@
"@ember/string": "^3.1.1",
"@ember/test-helpers": "^3.3.0",
"@ember/test-waiters": "^3.1.0",
"@embroider/compat": "^3.4.3",
"@embroider/core": "^3.4.3",
"@embroider/webpack": "^3.2.1",
"@embroider/compat": "3.4.6-unstable.f30e685",
"@embroider/core": "3.4.6-unstable.f30e685",
"@embroider/macros": "1.14.1-unstable.f30e685",
"@embroider/vite": "0.2.1-unstable.f30e685",
"@embroider/webpack": "3.2.3-unstable.f30e685",
"@glimmer/component": "^1.1.2",
"@glimmer/tracking": "^1.1.2",
"@glint/core": "^1.3.0",
"@glint/environment-ember-loose": "^1.3.0",
"@glint/environment-ember-template-imports": "^1.3.0",
"@glint/template": "^1.3.0",
"@nullvoxpopuli/eslint-configs": "^3.2.2",
"@rollup/plugin-babel": "^6.0.4",
"@tsconfig/ember": "^3.0.3",
"@types/qunit": "^2.19.10",
"broccoli-asset-rev": "^3.0.0",
Expand Down Expand Up @@ -84,6 +91,7 @@
"stylelint-prettier": "^5.0.0",
"tracked-built-ins": "^3.3.0",
"typescript": "^5.3.3",
"vite": "^5.1.3",
"webpack": "^5.90.3"
},
"engines": {
Expand Down
57 changes: 57 additions & 0 deletions docs-app/vite.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import { defineConfig } from "vite";
import { resolver, hbs, scripts, templateTag, optimizeDeps, compatPrebuild } from "@embroider/vite";
import { resolve } from "path";
import { babel } from "@rollup/plugin-babel";
import { kolay } from "kolay/vite";

const root = "node_modules/.embroider/rewritten-app";

export default defineConfig({
root,
// esbuild in vite does not support decorators
esbuild: false,
cacheDir: resolve("node_modules", ".vite"),
plugins: [
hbs(),
templateTag(),
scripts(),
resolver(),
compatPrebuild(),
kolay({
src: "public/docs",
groups: [
{
name: "Runtime",
src: "../ui/docs",
},
],
packages: ["kolay", "ember-primitives", "ember-resources"],
}),

babel({
babelHelpers: "runtime",

// this needs .hbs because our hbs() plugin above converts them to
// javascript but the javascript still also needs babel, but we don't want
// to rename them because vite isn't great about knowing how to hot-reload
// them if we resolve them to made-up names.
extensions: [".gjs", ".js", ".hbs", ".ts", ".gts"],
}),
],
optimizeDeps: optimizeDeps(),
server: {
port: 4200,
watch: {
ignored: ["!**/node_modules/.embroider/rewritten-app/**"],
},
},
build: {
outDir: resolve(process.cwd(), "dist"),
rollupOptions: {
input: {
main: resolve(root, "index.html"),
tests: resolve(root, "tests/index.html"),
},
},
},
});
Loading
Loading