Skip to content
Open
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
cache: 'pnpm'
node-version: ${{ env.NODE_VERSION }}
- run: pnpm install
- run: pnpm percy exec -- pnpm run test:ember
- run: pnpm percy exec -- pnpm run test
env:
PERCY_PARALLEL_NONCE: ${{ env.PERCY_PARALLEL_NONCE }}
PERCY_PARALLEL_TOTAL: ${{ env.PERCY_PARALLEL_TOTAL }}
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/tmp/

# compiled output
/dist/
/declarations/
Expand Down
6 changes: 4 additions & 2 deletions app/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@ import loadInitializers from 'ember-load-initializers';
import config from 'ember-help-wanted/config/environment';
import { importSync, isDevelopingApp, macroCondition } from '@embroider/macros';

import compatModules from '@embroider/virtual/compat-modules';

if (macroCondition(isDevelopingApp())) {
importSync('./deprecation-workflow');
}

export default class App extends Application {
modulePrefix = config.modulePrefix;
podModulePrefix = config.podModulePrefix;
Resolver = Resolver;
Resolver = Resolver.withModules(compatModules);
}

loadInitializers(App, config.modulePrefix);
loadInitializers(App, config.modulePrefix, compatModules);
3 changes: 3 additions & 0 deletions app/config/environment.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import loadConfigFromMeta from '@embroider/config-meta-loader';

export default loadConfigFromMeta('ember-help-wanted');
43 changes: 43 additions & 0 deletions babel.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
const {
babelCompatSupport,
templateCompatSupport,
} = require('@embroider/compat/babel');
const scopedCSS = require('ember-scoped-css/build');

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: [...templateCompatSupport(), scopedCSS.templatePlugin({})],
},
],
[
'module:decorator-transforms',
{
runtime: {
import: require.resolve('decorator-transforms/runtime-esm'),
},
},
],
[
'@babel/plugin-transform-runtime',
{
absoluteRuntime: __dirname,
useESModules: true,
regenerator: false,
},
],
...babelCompatSupport(),
],

generatorOpts: {
compact: false,
},
};
13 changes: 6 additions & 7 deletions ember-cli-build.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
'use strict';

const EmberApp = require('ember-cli/lib/broccoli/ember-app');

module.exports = function (defaults) {
const { compatBuild } = require('@embroider/compat');

module.exports = async function (defaults) {
const { buildOnce } = await import('@embroider/vite');

const app = new EmberApp(defaults, {
emberData: {
deprecations: {
Expand All @@ -13,11 +16,7 @@ module.exports = function (defaults) {
DEPRECATE_STORE_EXTENDS_EMBER_OBJECT: false,
},
},
'ember-scoped-css': {
layerName: false,
additionalRoots: ['templates/'],
},
});

return app.toTree();
return compatBuild(app, buildOnce);
};
3 changes: 2 additions & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ const esmParserOptions = {
requireConfigFile: false,
babelOptions: {
plugins: [
['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }],
['@babel/plugin-proposal-decorators', { legacy: true }],
['@babel/plugin-proposal-class-properties', { loose: true }],
],
},
};
Expand Down
13 changes: 9 additions & 4 deletions app/index.html → index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,21 @@

{{content-for "head"}}

<link integrity="" rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/ember-help-wanted.css">
<link integrity="" rel="stylesheet" href="/@embroider/virtual/vendor.css">
<link integrity="" rel="stylesheet" href="/app/styles/app.css">

{{content-for "head-footer"}}
</head>
<body>
{{content-for "body"}}

<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/ember-help-wanted.js"></script>
<script src="/@embroider/virtual/vendor.js"></script>
<script type="module">
import Application from './app/app';
import environment from './app/config/environment';

Application.create(environment.APP);
</script>

{{content-for "body-footer"}}
</body>
Expand Down
92 changes: 49 additions & 43 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"test": "tests"
},
"scripts": {
"build": "ember build --environment=production",
"build": "vite build",
"format": "prettier . --cache --write",
"lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\" --prefixColors auto",
"lint:dependency": "ember dependency-lint",
Expand All @@ -23,92 +23,98 @@
"lint:hbs:fix": "ember-template-lint . --fix",
"lint:js": "eslint . --cache",
"lint:js:fix": "eslint . --fix",
"start": "ember serve",
"start:local": "cross-env LOCAL_API=true ember s",
"test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\" --prefixColors auto",
"test:ember": "ember test"
"start": "vite",
"start:local": "cross-env LOCAL_API=true vite",
"test": "vite build --mode development && ember test --path dist"
},
"devDependencies": {
"@babel/core": "^7.26.10",
"@babel/eslint-parser": "^7.26.10",
"@babel/plugin-proposal-decorators": "^7.25.9",
"@babel/core": "^7.27.4",
"@babel/eslint-parser": "^7.27.5",
"@babel/plugin-proposal-decorators": "^7.27.1",
"@babel/plugin-transform-runtime": "^7.27.4",
"@ember/optional-features": "^2.2.0",
"@ember/string": "^3.0.1",
"@ember/test-helpers": "^5.1.0",
"@ember/string": "^4.0.1",
"@ember/test-helpers": "^5.2.2",
"@ember/test-waiters": "^4.1.0",
"@embroider/macros": "^1.16.12",
"@eslint/js": "^9.23.0",
"@glimmer/component": "^1.0.0",
"@embroider/compat": "^4.1.0",
"@embroider/config-meta-loader": "^1.0.0",
"@embroider/core": "^4.1.1",
"@embroider/macros": "^1.18.0",
"@embroider/vite": "^1.1.5",
"@eslint/js": "^9.29.0",
"@glimmer/component": "^1.1.2",
"@glimmer/tracking": "^1.1.2",
"@percy/cli": "^1.30.7",
"@percy/ember": "^3.0.1",
"@percy/cli": "^1.31.11",
"@percy/ember": "^5.0.0",
"@percy/sdk-utils": "^1.31.11",
"@rollup/plugin-babel": "^6.0.4",
"@sinonjs/fake-timers": "^7.1.2",
"broccoli-asset-rev": "^3.0.0",
"concurrently": "^9.1.2",
"babel-plugin-ember-template-compilation": "^2.4.1",
"concurrently": "^9.2.0",
"cross-env": "^7.0.3",
"dayjs": "^1.11.13",
"decorator-transforms": "^2.3.0",
"ember-auto-import": "^2.10.0",
"ember-cli": "~6.3.1",
"ember-cli-app-version": "^7.0.0",
"ember-cli-babel": "^8.2.0",
"ember-cli-clean-css": "^3.0.0",
"ember-cli-dependency-checker": "^3.3.3",
"ember-cli-dependency-lint": "^2.0.1",
"ember-cli-deprecation-workflow": "^3.3.0",
"ember-cli-htmlbars": "^6.3.0",
"ember-cli-inject-live-reload": "^2.1.0",
"ember-cli-netlify": "^0.4.1",
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-data": "~5.3.11",
"ember-functions-as-helper-polyfill": "^2.1.2",
"ember-data": "~5.3.13",
"ember-functions-as-helper-polyfill": "^2.1.3",
"ember-load-initializers": "^3.0.1",
"ember-math-helpers": "^3.0.0",
"ember-mirage": "^0.4.2",
"ember-modifier": "^4.2.0",
"ember-mirage": "^0.4.3",
"ember-modifier": "^4.2.2",
"ember-page-title": "^8.2.4",
"ember-qunit": "^8.1.1",
"ember-resolver": "^12.0.1",
"ember-scoped-css": "^0.23.2",
"ember-scoped-css-compat": "^10.2.1",
"ember-qunit": "^9.0.3",
"ember-resolver": "^13.1.1",
"ember-scoped-css": "^0.23.3",
"ember-source": "~6.0.1",
"ember-styleguide": "^7.1.0",
"ember-template-imports": "^4.3.0",
"ember-template-lint": "^6.1.0",
"ember-test-selectors": "^6.0.0",
"eslint": "^9.23.0",
"eslint": "^9.29.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-ember": "^12.5.0",
"eslint-plugin-n": "^17.16.2",
"eslint-plugin-n": "^17.20.0",
"eslint-plugin-qunit": "^8.1.2",
"glob": "^7.2.3",
"globals": "^15.15.0",
"http-proxy": "^1.18.1",
"invert-color": "^2.0.0",
"lint-to-the-future": "^2.6.2",
"lint-to-the-future-ember-template": "^3.0.0",
"lint-to-the-future-eslint": "^3.0.0",
"lint-to-the-future": "^2.6.3",
"lint-to-the-future-ember-template": "^3.1.0",
"lint-to-the-future-eslint": "^3.1.0",
"lint-to-the-future-stylelint": "^1.1.0",
"loader.js": "^4.7.0",
"luxon": "^2.5.2",
"miragejs": "^0.1.48",
"morgan": "^1.10.0",
"normalize.css": "^8.0.1",
"prettier": "^3.5.3",
"prettier-plugin-ember-template-tag": "^2.0.4",
"prettier": "^3.6.1",
"prettier-plugin-ember-template-tag": "^2.0.6",
"qunit": "^2.24.1",
"qunit-dom": "^3.4.0",
"stylelint": "^16.16.0",
"stylelint": "^16.21.0",
"stylelint-config-standard": "^36.0.1",
"tracked-built-ins": "^3.4.0",
"util": "^0.12.5",
"webpack": "^5.98.0"
"vite": "^6.3.5"
},
"engines": {
"node": ">= 18"
},
"ember": {
"edition": "octane"
},
"packageManager": "pnpm@10.6.0+sha512.df0136e797db0cfa7ec1084e77f3bdf81bacbae9066832fbf95cba4c2140ad05e64f316cde51ce3f99ea00a91ffc702d6aedd3c0f450f895e3e7c052fe573cd8"
"packageManager": "pnpm@10.6.0+sha512.df0136e797db0cfa7ec1084e77f3bdf81bacbae9066832fbf95cba4c2140ad05e64f316cde51ce3f99ea00a91ffc702d6aedd3c0f450f895e3e7c052fe573cd8",
"ember-addon": {
"type": "app",
"version": 2
},
"exports": {
"./tests/*": "./tests/*",
"./*": "./app/*"
}
}
Loading
Loading