DEV: Update ember-cli to 4.12.0 (#21074)

It's backward compatible so still supports our 3.28 ember-source.

The visible change is finally getting rid of this message:

```
WARNING: Node v18.12.0 is not tested against Ember CLI on your platform. We recommend that you use the most-recent "Active LTS" version of Node.js. See https://git.io/v7S5n for details.
```

---

`@ember/string` dependency is added for future compatibility. See: https://github.com/ember-cli/ember-cli/pull/10125

---

`tests/helpers/index.js` is unused for now, but is a nice pattern. We could move some of our test setup into local `setupApplicationTest/setupRenderingTest/setupTest` helpers.

Co-authored-by: David Taylor <david@taylorhq.com>
This commit is contained in:
Jarek Radosz 2023-04-19 12:58:29 +02:00 committed by GitHub
parent 1139478a8c
commit 9a34625cb8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
99 changed files with 706 additions and 1432 deletions

View File

@ -3,14 +3,16 @@
"packages": [
{
"name": "ember-cli",
"version": "3.28.5",
"version": "4.12.0",
"blueprints": [
{
"name": "addon",
"outputRepo": "https://github.com/ember-cli/ember-addon-output",
"codemodsSource": "ember-addon-codemods-manifest@1",
"isBaseBlueprint": true,
"options": ["--no-welcome"]
"options": [
"--no-welcome"
]
}
]
}

View File

@ -3,7 +3,7 @@
const EmberAddon = require("ember-cli/lib/broccoli/ember-addon");
module.exports = function (defaults) {
let app = new EmberAddon(defaults, {
const app = new EmberAddon(defaults, {
autoImport: {
publicAssetURL: "",
},

View File

@ -15,8 +15,8 @@
"start": "ember serve"
},
"dependencies": {
"ember-auto-import": "^2.6.2",
"ember-cli-babel": "^7.26.10",
"ember-auto-import": "^2.6.3",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.2.0",
"webpack": "^5.79.0",
"xss": "^1.0.14"
@ -24,17 +24,18 @@
"devDependencies": {
"@babel/core": "^7.21.4",
"@ember/optional-features": "^2.0.0",
"@ember/string": "^3.0.1",
"@embroider/test-setup": "^2.1.1",
"@glimmer/component": "^1.1.2",
"broccoli-asset-rev": "^3.0.0",
"ember-cli": "~3.28.5",
"ember-cli": "~4.12.0",
"ember-cli-dependency-checker": "^3.3.1",
"ember-cli-inject-live-reload": "^2.1.0",
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-disable-prototype-extensions": "^1.1.3",
"ember-load-initializers": "^2.1.1",
"ember-resolver": "^8.0.3",
"ember-resolver": "^10.0.0",
"ember-source": "~3.28.11",
"ember-source-channel-url": "^3.0.0",
"loader.js": "^4.7.0"

View File

@ -9,8 +9,8 @@
],
"dependencies": {
"a11y-dialog": "7.5.2",
"ember-auto-import": "^2.6.2",
"ember-cli-babel": "^7.26.10",
"ember-auto-import": "^2.6.3",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.2.0"
},
"devDependencies": {

View File

@ -3,14 +3,16 @@
"packages": [
{
"name": "ember-cli",
"version": "3.28.5",
"version": "4.12.0",
"blueprints": [
{
"name": "addon",
"outputRepo": "https://github.com/ember-cli/ember-addon-output",
"codemodsSource": "ember-addon-codemods-manifest@1",
"isBaseBlueprint": true,
"options": ["--no-welcome"]
"options": [
"--no-welcome"
]
}
]
}

View File

@ -1,119 +0,0 @@
"use strict";
const getChannelURL = require("ember-source-channel-url");
const { embroiderSafe, embroiderOptimized } = require("@embroider/test-setup");
module.exports = async function () {
return {
useYarn: true,
scenarios: [
{
name: "ember-lts-3.8",
npm: {
devDependencies: {
"ember-source": "~3.8.0",
},
},
},
{
name: "ember-lts-3.12",
npm: {
devDependencies: {
"ember-source": "~3.12.0",
},
},
},
{
name: "ember-lts-3.20",
npm: {
devDependencies: {
"ember-source": "~3.20.5",
},
},
},
{
name: "ember-lts-3.24",
npm: {
devDependencies: {
"ember-source": "~3.24.3",
},
},
},
{
name: "ember-lts-3.28",
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
},
},
{
name: "ember-release",
npm: {
devDependencies: {
"ember-source": await getChannelURL("release"),
},
},
},
{
name: "ember-beta",
npm: {
devDependencies: {
"ember-source": await getChannelURL("beta"),
},
},
},
{
name: "ember-canary",
npm: {
devDependencies: {
"ember-source": await getChannelURL("canary"),
},
},
},
// The default `.travis.yml` runs this scenario via `yarn test`,
// not via `ember try`. It's still included here so that running
// `ember try:each` manually or from a customized CI config will run it
// along with all the other scenarios.
{
name: "ember-default",
npm: {
devDependencies: {},
},
},
{
name: "ember-default-with-jquery",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"jquery-integration": true,
}),
},
npm: {
devDependencies: {
"@ember/jquery": "^0.5.1",
},
},
},
{
name: "ember-classic",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"application-template-wrapper": true,
"default-async-observers": false,
"template-only-glimmer-components": false,
}),
},
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
ember: {
edition: "classic",
},
},
},
embroiderSafe(),
embroiderOptimized(),
],
};
};

View File

@ -1,5 +0,0 @@
"use strict";
module.exports = function (/* environment, appConfig */) {
return {};
};

View File

@ -3,7 +3,7 @@
const EmberAddon = require("ember-cli/lib/broccoli/ember-addon");
module.exports = function (defaults) {
let app = new EmberAddon(defaults, {
const app = new EmberAddon(defaults, {
autoImport: {
publicAssetURL: "",
},

View File

@ -15,16 +15,17 @@
"start": "ember serve"
},
"dependencies": {
"@ember/string": "^3.0.1",
"@uppy/aws-s3": "^3.0.6",
"@uppy/aws-s3-multipart": "^3.1.3",
"@uppy/core": "^3.0.4",
"@uppy/drop-target": "^2.0.1",
"@uppy/utils": "^5.2.0",
"@uppy/xhr-upload": "^3.1.1",
"ember-auto-import": "^2.6.2",
"ember-cli-babel": "^7.26.10",
"ember-auto-import": "^2.6.3",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.2.0",
"ember-resolver": "^8.0.3",
"ember-resolver": "^10.0.0",
"handlebars": "^4.7.0",
"truth-helpers": "1.0.0",
"webpack": "^5.79.0"
@ -35,7 +36,7 @@
"@embroider/test-setup": "^2.1.1",
"@glimmer/component": "^1.1.2",
"broccoli-asset-rev": "^3.0.0",
"ember-cli": "~3.28.5",
"ember-cli": "~4.12.0",
"ember-cli-dependency-checker": "^3.3.1",
"ember-cli-inject-live-reload": "^2.1.0",
"ember-cli-sri": "^2.1.1",

View File

@ -1,24 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dummy</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{content-for "head"}}
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/dummy.css">
{{content-for "head-footer"}}
</head>
<body>
{{content-for "body"}}
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/dummy.js"></script>
{{content-for "body-footer"}}
</body>
</html>

View File

@ -1,39 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dummy Tests</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{content-for "head"}}
{{content-for "test-head"}}
<link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link rel="stylesheet" href="{{rootURL}}assets/dummy.css">
<link rel="stylesheet" href="{{rootURL}}assets/test-support.css">
{{content-for "head-footer"}}
{{content-for "test-head-footer"}}
</head>
<body>
{{content-for "body"}}
{{content-for "test-body"}}
<div id="qunit"></div>
<div id="qunit-fixture">
<div id="ember-testing-container">
<div id="ember-testing"></div>
</div>
</div>
<script src="/testem.js" integrity="" data-embroider-ignore></script>
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/test-support.js"></script>
<script src="{{rootURL}}assets/dummy.js"></script>
<script src="{{rootURL}}assets/tests.js"></script>
{{content-for "body-footer"}}
{{content-for "test-body-footer"}}
</body>
</html>

View File

@ -3,14 +3,16 @@
"packages": [
{
"name": "ember-cli",
"version": "3.28.5",
"version": "4.12.0",
"blueprints": [
{
"name": "addon",
"outputRepo": "https://github.com/ember-cli/ember-addon-output",
"codemodsSource": "ember-addon-codemods-manifest@1",
"isBaseBlueprint": true,
"options": ["--no-welcome"]
"options": [
"--no-welcome"
]
}
]
}

View File

@ -1,119 +0,0 @@
"use strict";
const getChannelURL = require("ember-source-channel-url");
const { embroiderSafe, embroiderOptimized } = require("@embroider/test-setup");
module.exports = async function () {
return {
useYarn: true,
scenarios: [
{
name: "ember-lts-3.8",
npm: {
devDependencies: {
"ember-source": "~3.8.0",
},
},
},
{
name: "ember-lts-3.12",
npm: {
devDependencies: {
"ember-source": "~3.12.0",
},
},
},
{
name: "ember-lts-3.20",
npm: {
devDependencies: {
"ember-source": "~3.20.5",
},
},
},
{
name: "ember-lts-3.24",
npm: {
devDependencies: {
"ember-source": "~3.24.3",
},
},
},
{
name: "ember-lts-3.28",
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
},
},
{
name: "ember-release",
npm: {
devDependencies: {
"ember-source": await getChannelURL("release"),
},
},
},
{
name: "ember-beta",
npm: {
devDependencies: {
"ember-source": await getChannelURL("beta"),
},
},
},
{
name: "ember-canary",
npm: {
devDependencies: {
"ember-source": await getChannelURL("canary"),
},
},
},
// The default `.travis.yml` runs this scenario via `yarn test`,
// not via `ember try`. It's still included here so that running
// `ember try:each` manually or from a customized CI config will run it
// along with all the other scenarios.
{
name: "ember-default",
npm: {
devDependencies: {},
},
},
{
name: "ember-default-with-jquery",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"jquery-integration": true,
}),
},
npm: {
devDependencies: {
"@ember/jquery": "^0.5.1",
},
},
},
{
name: "ember-classic",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"application-template-wrapper": true,
"default-async-observers": false,
"template-only-glimmer-components": false,
}),
},
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
ember: {
edition: "classic",
},
},
},
embroiderSafe(),
embroiderOptimized(),
],
};
};

View File

@ -1,5 +0,0 @@
"use strict";
module.exports = function (/* environment, appConfig */) {
return {};
};

View File

@ -3,7 +3,7 @@
const EmberAddon = require("ember-cli/lib/broccoli/ember-addon");
module.exports = function (defaults) {
let app = new EmberAddon(defaults, {
const app = new EmberAddon(defaults, {
autoImport: {
publicAssetURL: "",
},

View File

@ -15,8 +15,8 @@
"start": "ember serve"
},
"dependencies": {
"ember-auto-import": "^2.6.2",
"ember-cli-babel": "^7.26.10",
"ember-auto-import": "^2.6.3",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.2.0",
"handlebars": "^4.7.6",
"webpack": "^5.79.0"
@ -24,17 +24,18 @@
"devDependencies": {
"@babel/core": "^7.21.4",
"@ember/optional-features": "^2.0.0",
"@ember/string": "^3.0.1",
"@embroider/test-setup": "^2.1.1",
"@glimmer/component": "^1.1.2",
"broccoli-asset-rev": "^3.0.0",
"ember-cli": "~3.28.5",
"ember-cli": "~4.12.0",
"ember-cli-dependency-checker": "^3.3.1",
"ember-cli-inject-live-reload": "^2.1.0",
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-disable-prototype-extensions": "^1.1.3",
"ember-load-initializers": "^2.1.1",
"ember-resolver": "^8.0.3",
"ember-resolver": "^10.0.0",
"ember-source": "~3.28.11",
"ember-source-channel-url": "^3.0.0",
"loader.js": "^4.7.0"

View File

@ -1,24 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dummy</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{content-for "head"}}
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/dummy.css">
{{content-for "head-footer"}}
</head>
<body>
{{content-for "body"}}
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/dummy.js"></script>
{{content-for "body-footer"}}
</body>
</html>

View File

@ -1,39 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dummy Tests</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{content-for "head"}}
{{content-for "test-head"}}
<link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link rel="stylesheet" href="{{rootURL}}assets/dummy.css">
<link rel="stylesheet" href="{{rootURL}}assets/test-support.css">
{{content-for "head-footer"}}
{{content-for "test-head-footer"}}
</head>
<body>
{{content-for "body"}}
{{content-for "test-body"}}
<div id="qunit"></div>
<div id="qunit-fixture">
<div id="ember-testing-container">
<div id="ember-testing"></div>
</div>
</div>
<script src="/testem.js" integrity="" data-embroider-ignore></script>
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/test-support.js"></script>
<script src="{{rootURL}}assets/dummy.js"></script>
<script src="{{rootURL}}assets/tests.js"></script>
{{content-for "body-footer"}}
{{content-for "test-body-footer"}}
</body>
</html>

View File

@ -10,9 +10,9 @@
"repository": "",
"dependencies": {
"discourse-widget-hbs": "1.0.0",
"ember-auto-import": "^2.6.2",
"ember-cli": "~3.28.5",
"ember-cli-babel": "^7.26.10",
"ember-auto-import": "^2.6.3",
"ember-cli": "~4.12.0",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.2.0",
"webpack": "^5.79.0"
},

View File

@ -3,14 +3,16 @@
"packages": [
{
"name": "ember-cli",
"version": "3.28.5",
"version": "4.12.0",
"blueprints": [
{
"name": "addon",
"outputRepo": "https://github.com/ember-cli/ember-addon-output",
"codemodsSource": "ember-addon-codemods-manifest@1",
"isBaseBlueprint": true,
"options": ["--no-welcome"]
"options": [
"--no-welcome"
]
}
]
}

View File

@ -1,119 +0,0 @@
"use strict";
const getChannelURL = require("ember-source-channel-url");
const { embroiderSafe, embroiderOptimized } = require("@embroider/test-setup");
module.exports = async function () {
return {
useYarn: true,
scenarios: [
{
name: "ember-lts-3.8",
npm: {
devDependencies: {
"ember-source": "~3.8.0",
},
},
},
{
name: "ember-lts-3.12",
npm: {
devDependencies: {
"ember-source": "~3.12.0",
},
},
},
{
name: "ember-lts-3.20",
npm: {
devDependencies: {
"ember-source": "~3.20.5",
},
},
},
{
name: "ember-lts-3.24",
npm: {
devDependencies: {
"ember-source": "~3.24.3",
},
},
},
{
name: "ember-lts-3.28",
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
},
},
{
name: "ember-release",
npm: {
devDependencies: {
"ember-source": await getChannelURL("release"),
},
},
},
{
name: "ember-beta",
npm: {
devDependencies: {
"ember-source": await getChannelURL("beta"),
},
},
},
{
name: "ember-canary",
npm: {
devDependencies: {
"ember-source": await getChannelURL("canary"),
},
},
},
// The default `.travis.yml` runs this scenario via `yarn test`,
// not via `ember try`. It's still included here so that running
// `ember try:each` manually or from a customized CI config will run it
// along with all the other scenarios.
{
name: "ember-default",
npm: {
devDependencies: {},
},
},
{
name: "ember-default-with-jquery",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"jquery-integration": true,
}),
},
npm: {
devDependencies: {
"@ember/jquery": "^0.5.1",
},
},
},
{
name: "ember-classic",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"application-template-wrapper": true,
"default-async-observers": false,
"template-only-glimmer-components": false,
}),
},
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
ember: {
edition: "classic",
},
},
},
embroiderSafe(),
embroiderOptimized(),
],
};
};

View File

@ -1,5 +0,0 @@
"use strict";
module.exports = function (/* environment, appConfig */) {
return {};
};

View File

@ -3,7 +3,7 @@
const EmberAddon = require("ember-cli/lib/broccoli/ember-addon");
module.exports = function (defaults) {
let app = new EmberAddon(defaults, {
const app = new EmberAddon(defaults, {
autoImport: {
publicAssetURL: "",
},

View File

@ -15,8 +15,8 @@
"start": "ember serve"
},
"dependencies": {
"ember-auto-import": "^2.6.2",
"ember-cli-babel": "^7.26.10",
"ember-auto-import": "^2.6.3",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.2.0",
"handlebars": "^4.7.6",
"webpack": "^5.79.0"
@ -24,18 +24,19 @@
"devDependencies": {
"@babel/core": "^7.21.4",
"@ember/optional-features": "^2.0.0",
"@ember/string": "^3.0.1",
"@embroider/test-setup": "^2.1.1",
"@glimmer/component": "^1.1.2",
"@glimmer/syntax": "^0.84.3",
"broccoli-asset-rev": "^3.0.0",
"ember-cli": "~3.28.5",
"ember-cli": "~4.12.0",
"ember-cli-dependency-checker": "^3.3.1",
"ember-cli-inject-live-reload": "^2.1.0",
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-disable-prototype-extensions": "^1.1.3",
"ember-load-initializers": "^2.1.1",
"ember-resolver": "^8.0.3",
"ember-resolver": "^10.0.0",
"ember-source": "~3.28.11",
"ember-source-channel-url": "^3.0.0",
"loader.js": "^4.7.0"

View File

@ -1,24 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dummy</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{content-for "head"}}
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/dummy.css">
{{content-for "head-footer"}}
</head>
<body>
{{content-for "body"}}
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/dummy.js"></script>
{{content-for "body-footer"}}
</body>
</html>

View File

@ -1,39 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dummy Tests</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{content-for "head"}}
{{content-for "test-head"}}
<link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link rel="stylesheet" href="{{rootURL}}assets/dummy.css">
<link rel="stylesheet" href="{{rootURL}}assets/test-support.css">
{{content-for "head-footer"}}
{{content-for "test-head-footer"}}
</head>
<body>
{{content-for "body"}}
{{content-for "test-body"}}
<div id="qunit"></div>
<div id="qunit-fixture">
<div id="ember-testing-container">
<div id="ember-testing"></div>
</div>
</div>
<script src="/testem.js" integrity="" data-embroider-ignore></script>
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/test-support.js"></script>
<script src="{{rootURL}}assets/dummy.js"></script>
<script src="{{rootURL}}assets/tests.js"></script>
{{content-for "body-footer"}}
{{content-for "test-body-footer"}}
</body>
</html>

View File

@ -5,5 +5,11 @@
Setting `disableAnalytics` to true will prevent any data from being sent.
*/
"disableAnalytics": false
"disableAnalytics": false,
/**
Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript
rather than JavaScript by default, when a TypeScript version of a given blueprint is available.
*/
"isTypeScriptProject": false
}

View File

@ -9,7 +9,6 @@
that JS assets continue to be re-compiled when changes are made.
-->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Discourse - Ember CLI</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, user-scalable=yes, viewport-fit=cover">

View File

@ -3,14 +3,16 @@
"packages": [
{
"name": "ember-cli",
"version": "3.28.5",
"version": "4.12.0",
"blueprints": [
{
"name": "app",
"outputRepo": "https://github.com/ember-cli/ember-new-output",
"codemodsSource": "ember-app-codemods-manifest@1",
"isBaseBlueprint": true,
"options": ["--no-welcome"]
"options": [
"--no-welcome"
]
}
]
}

View File

@ -1,7 +1,7 @@
"use strict";
module.exports = function (environment) {
let ENV = {
const ENV = {
modulePrefix: "discourse",
environment,
rootURL: process.env.DISCOURSE_RELATIVE_URL_ROOT || "/",

View File

@ -13,8 +13,8 @@ const funnel = require("broccoli-funnel");
const DeprecationSilencer = require("./lib/deprecation-silencer");
module.exports = function (defaults) {
let discourseRoot = resolve("../../../..");
let vendorJs = discourseRoot + "/vendor/assets/javascripts/";
const discourseRoot = resolve("../../../..");
const vendorJs = discourseRoot + "/vendor/assets/javascripts/";
// Silence deprecations which we are aware of - see `lib/deprecation-silencer.js`
const ui = defaults.project.ui;
@ -24,7 +24,7 @@ module.exports = function (defaults) {
const isProduction = EmberApp.env().includes("production");
const isTest = EmberApp.env().includes("test");
let app = new EmberApp(defaults, {
const app = new EmberApp(defaults, {
autoRun: false,
"ember-qunit": {
insertContentForTestBody: false,
@ -124,7 +124,7 @@ module.exports = function (defaults) {
annotation: "TreeMerger (appTestTrees)",
});
let tests = concat(appTestTrees, {
const tests = concat(appTestTrees, {
inputFiles: ["**/tests/**/*-test.js"],
headerFiles: ["vendor/ember-cli/tests-prefix.js"],
footerFiles: ["vendor/ember-cli/app-config.js"],
@ -133,7 +133,7 @@ module.exports = function (defaults) {
sourceMapConfig: false,
});
let testHelpers = concat(appTestTrees, {
const testHelpers = concat(appTestTrees, {
inputFiles: [
"**/tests/test-boot-ember-cli.js",
"**/tests/helpers/**/*.js",

View File

@ -19,6 +19,7 @@
"dependencies": {
"@babel/core": "^7.21.4",
"@babel/standalone": "^7.21.4",
"@ember/string": "^3.0.1",
"@discourse/backburner.js": "^2.7.1-0",
"@discourse/itsatrap": "^2.0.10",
"@ember-compat/tracked-built-ins": "^0.9.1",
@ -50,13 +51,13 @@
"discourse-hbr": "1.0.0",
"discourse-plugins": "1.0.0",
"discourse-widget-hbs": "1.0.0",
"ember-auto-import": "^2.6.2",
"ember-auto-import": "^2.6.3",
"ember-auto-import-chunks-json-generator": "^1.0.0",
"ember-buffered-proxy": "^2.1.1",
"ember-cached-decorator-polyfill": "^1.0.1",
"ember-cli": "~3.28.5",
"ember-cli": "~4.12.0",
"ember-cli-app-version": "^6.0.0",
"ember-cli-babel": "^7.26.10",
"ember-cli-babel": "^7.26.11",
"ember-cli-dependency-checker": "^3.3.1",
"ember-cli-deprecation-workflow": "^2.1.0",
"ember-cli-htmlbars": "^6.2.0",

View File

@ -0,0 +1,42 @@
import {
setupApplicationTest as upstreamSetupApplicationTest,
setupRenderingTest as upstreamSetupRenderingTest,
setupTest as upstreamSetupTest,
} from "ember-qunit";
// This file exists to provide wrappers around ember-qunit's / ember-mocha's
// test setup functions. This way, you can easily extend the setup that is
// needed per test type.
function setupApplicationTest(hooks, options) {
upstreamSetupApplicationTest(hooks, options);
// Additional setup for application tests can be done here.
//
// For example, if you need an authenticated session for each
// application test, you could do:
//
// hooks.beforeEach(async function () {
// await authenticateSession(); // ember-simple-auth
// });
//
// This is also a good place to call test setup functions coming
// from other addons:
//
// setupIntl(hooks); // ember-intl
// setupMirage(hooks); // ember-cli-mirage
}
function setupRenderingTest(hooks, options) {
upstreamSetupRenderingTest(hooks, options);
// Additional setup for rendering tests can be done here.
}
function setupTest(hooks, options) {
upstreamSetupTest(hooks, options);
// Additional setup for unit tests can be done here.
}
export { setupApplicationTest, setupRenderingTest, setupTest };

View File

@ -2,7 +2,6 @@
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Discourse Tests</title>
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />

View File

@ -20,7 +20,8 @@
"wizard"
],
"resolutions": {
"**/babel-plugin-debug-macros": "npm:@discourse/babel-plugin-debug-macros@0.4.0-pre1"
"**/babel-plugin-debug-macros": "npm:@discourse/babel-plugin-debug-macros@0.4.0-pre1",
"**/babel-plugin-ember-template-compilation": "2.0.0"
},
"dependencies": {
"patch-package": "^6.5.1",

View File

@ -0,0 +1,12 @@
diff --git a/node_modules/ember-cli/lib/models/project.js b/node_modules/ember-cli/lib/models/project.js
index b21a9bcd4..6537fcc2e 100644
--- a/node_modules/ember-cli/lib/models/project.js
+++ b/node_modules/ember-cli/lib/models/project.js
@@ -409,6 +409,7 @@ class Project {
@return {Object} Bower dependencies
*/
bowerDependencies(bower) {
+ return {}; // Silence deprecation until Discourse is on ember-source 4.x
deprecate(
[
'`bowerDependencies` has been deprecated.',

View File

@ -3,14 +3,16 @@
"packages": [
{
"name": "ember-cli",
"version": "3.28.5",
"version": "4.12.0",
"blueprints": [
{
"name": "addon",
"outputRepo": "https://github.com/ember-cli/ember-addon-output",
"codemodsSource": "ember-addon-codemods-manifest@1",
"isBaseBlueprint": true,
"options": ["--no-welcome"]
"options": [
"--no-welcome"
]
}
]
}

View File

@ -1,119 +0,0 @@
"use strict";
const getChannelURL = require("ember-source-channel-url");
const { embroiderSafe, embroiderOptimized } = require("@embroider/test-setup");
module.exports = async function () {
return {
useYarn: true,
scenarios: [
{
name: "ember-lts-3.8",
npm: {
devDependencies: {
"ember-source": "~3.8.0",
},
},
},
{
name: "ember-lts-3.12",
npm: {
devDependencies: {
"ember-source": "~3.12.0",
},
},
},
{
name: "ember-lts-3.20",
npm: {
devDependencies: {
"ember-source": "~3.20.5",
},
},
},
{
name: "ember-lts-3.24",
npm: {
devDependencies: {
"ember-source": "~3.24.3",
},
},
},
{
name: "ember-lts-3.28",
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
},
},
{
name: "ember-release",
npm: {
devDependencies: {
"ember-source": await getChannelURL("release"),
},
},
},
{
name: "ember-beta",
npm: {
devDependencies: {
"ember-source": await getChannelURL("beta"),
},
},
},
{
name: "ember-canary",
npm: {
devDependencies: {
"ember-source": await getChannelURL("canary"),
},
},
},
// The default `.travis.yml` runs this scenario via `yarn test`,
// not via `ember try`. It's still included here so that running
// `ember try:each` manually or from a customized CI config will run it
// along with all the other scenarios.
{
name: "ember-default",
npm: {
devDependencies: {},
},
},
{
name: "ember-default-with-jquery",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"jquery-integration": true,
}),
},
npm: {
devDependencies: {
"@ember/jquery": "^0.5.1",
},
},
},
{
name: "ember-classic",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"application-template-wrapper": true,
"default-async-observers": false,
"template-only-glimmer-components": false,
}),
},
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
ember: {
edition: "classic",
},
},
},
embroiderSafe(),
embroiderOptimized(),
],
};
};

View File

@ -1,5 +0,0 @@
"use strict";
module.exports = function (/* environment, appConfig */) {
return {};
};

View File

@ -3,7 +3,7 @@
const EmberAddon = require("ember-cli/lib/broccoli/ember-addon");
module.exports = function (defaults) {
let app = new EmberAddon(defaults, {
const app = new EmberAddon(defaults, {
autoImport: {
publicAssetURL: "",
},

View File

@ -15,8 +15,8 @@
"start": "ember serve"
},
"dependencies": {
"ember-auto-import": "^2.6.2",
"ember-cli-babel": "^7.26.10",
"ember-auto-import": "^2.6.3",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.2.0",
"webpack": "^5.79.0",
"xss": "^1.0.14"
@ -24,17 +24,18 @@
"devDependencies": {
"@babel/core": "^7.21.4",
"@ember/optional-features": "^2.0.0",
"@ember/string": "^3.0.1",
"@embroider/test-setup": "^2.1.1",
"@glimmer/component": "^1.1.2",
"broccoli-asset-rev": "^3.0.0",
"ember-cli": "~3.28.5",
"ember-cli": "~4.12.0",
"ember-cli-dependency-checker": "^3.3.1",
"ember-cli-inject-live-reload": "^2.1.0",
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-disable-prototype-extensions": "^1.1.3",
"ember-load-initializers": "^2.1.1",
"ember-resolver": "^8.0.3",
"ember-resolver": "^10.0.0",
"ember-source": "~3.28.11",
"ember-source-channel-url": "^3.0.0",
"loader.js": "^4.7.0"

View File

@ -1,24 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dummy</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{content-for "head"}}
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/dummy.css">
{{content-for "head-footer"}}
</head>
<body>
{{content-for "body"}}
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/dummy.js"></script>
{{content-for "body-footer"}}
</body>
</html>

View File

@ -1,39 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dummy Tests</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{content-for "head"}}
{{content-for "test-head"}}
<link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link rel="stylesheet" href="{{rootURL}}assets/dummy.css">
<link rel="stylesheet" href="{{rootURL}}assets/test-support.css">
{{content-for "head-footer"}}
{{content-for "test-head-footer"}}
</head>
<body>
{{content-for "body"}}
{{content-for "test-body"}}
<div id="qunit"></div>
<div id="qunit-fixture">
<div id="ember-testing-container">
<div id="ember-testing"></div>
</div>
</div>
<script src="/testem.js" integrity="" data-embroider-ignore></script>
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/test-support.js"></script>
<script src="{{rootURL}}assets/dummy.js"></script>
<script src="{{rootURL}}assets/tests.js"></script>
{{content-for "body-footer"}}
{{content-for "test-body-footer"}}
</body>
</html>

View File

@ -3,14 +3,16 @@
"packages": [
{
"name": "ember-cli",
"version": "3.28.5",
"version": "4.12.0",
"blueprints": [
{
"name": "addon",
"outputRepo": "https://github.com/ember-cli/ember-addon-output",
"codemodsSource": "ember-addon-codemods-manifest@1",
"isBaseBlueprint": true,
"options": ["--no-welcome"]
"options": [
"--no-welcome"
]
}
]
}

View File

@ -1,119 +0,0 @@
"use strict";
const getChannelURL = require("ember-source-channel-url");
const { embroiderSafe, embroiderOptimized } = require("@embroider/test-setup");
module.exports = async function () {
return {
useYarn: true,
scenarios: [
{
name: "ember-lts-3.8",
npm: {
devDependencies: {
"ember-source": "~3.8.0",
},
},
},
{
name: "ember-lts-3.12",
npm: {
devDependencies: {
"ember-source": "~3.12.0",
},
},
},
{
name: "ember-lts-3.20",
npm: {
devDependencies: {
"ember-source": "~3.20.5",
},
},
},
{
name: "ember-lts-3.24",
npm: {
devDependencies: {
"ember-source": "~3.24.3",
},
},
},
{
name: "ember-lts-3.28",
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
},
},
{
name: "ember-release",
npm: {
devDependencies: {
"ember-source": await getChannelURL("release"),
},
},
},
{
name: "ember-beta",
npm: {
devDependencies: {
"ember-source": await getChannelURL("beta"),
},
},
},
{
name: "ember-canary",
npm: {
devDependencies: {
"ember-source": await getChannelURL("canary"),
},
},
},
// The default `.travis.yml` runs this scenario via `yarn test`,
// not via `ember try`. It's still included here so that running
// `ember try:each` manually or from a customized CI config will run it
// along with all the other scenarios.
{
name: "ember-default",
npm: {
devDependencies: {},
},
},
{
name: "ember-default-with-jquery",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"jquery-integration": true,
}),
},
npm: {
devDependencies: {
"@ember/jquery": "^0.5.1",
},
},
},
{
name: "ember-classic",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"application-template-wrapper": true,
"default-async-observers": false,
"template-only-glimmer-components": false,
}),
},
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
ember: {
edition: "classic",
},
},
},
embroiderSafe(),
embroiderOptimized(),
],
};
};

View File

@ -1,5 +0,0 @@
"use strict";
module.exports = function (/* environment, appConfig */) {
return {};
};

View File

@ -3,7 +3,7 @@
const EmberAddon = require("ember-cli/lib/broccoli/ember-addon");
module.exports = function (defaults) {
let app = new EmberAddon(defaults, {
const app = new EmberAddon(defaults, {
autoImport: {
publicAssetURL: "",
},

View File

@ -15,25 +15,26 @@
"start": "ember serve"
},
"dependencies": {
"ember-auto-import": "^2.6.2",
"ember-cli-babel": "^7.26.10",
"ember-auto-import": "^2.6.3",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.2.0",
"webpack": "^5.79.0"
},
"devDependencies": {
"@babel/core": "^7.21.4",
"@ember/optional-features": "^2.0.0",
"@ember/string": "^3.0.1",
"@embroider/test-setup": "^2.1.1",
"@glimmer/component": "^1.1.2",
"broccoli-asset-rev": "^3.0.0",
"ember-cli": "~3.28.5",
"ember-cli": "~4.12.0",
"ember-cli-dependency-checker": "^3.3.1",
"ember-cli-inject-live-reload": "^2.1.0",
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-disable-prototype-extensions": "^1.1.3",
"ember-load-initializers": "^2.1.1",
"ember-resolver": "^8.0.3",
"ember-resolver": "^10.0.0",
"ember-source": "~3.28.11",
"ember-source-channel-url": "^3.0.0",
"loader.js": "^4.7.0"

View File

@ -3,14 +3,16 @@
"packages": [
{
"name": "ember-cli",
"version": "3.28.5",
"version": "4.12.0",
"blueprints": [
{
"name": "addon",
"outputRepo": "https://github.com/ember-cli/ember-addon-output",
"codemodsSource": "ember-addon-codemods-manifest@1",
"isBaseBlueprint": true,
"options": ["--no-welcome"]
"options": [
"--no-welcome"
]
}
]
}

View File

@ -1,119 +0,0 @@
"use strict";
const getChannelURL = require("ember-source-channel-url");
const { embroiderSafe, embroiderOptimized } = require("@embroider/test-setup");
module.exports = async function () {
return {
useYarn: true,
scenarios: [
{
name: "ember-lts-3.24",
npm: {
devDependencies: {
"ember-source": "~3.24.3",
},
},
},
{
name: "ember-lts-3.28",
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
},
},
{
name: "ember-lts-3.20",
npm: {
devDependencies: {
"ember-source": "~3.20.5",
},
},
},
{
name: "ember-lts-3.24",
npm: {
devDependencies: {
"ember-source": "~3.24.3",
},
},
},
{
name: "ember-lts-3.28",
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
},
},
{
name: "ember-release",
npm: {
devDependencies: {
"ember-source": await getChannelURL("release"),
},
},
},
{
name: "ember-beta",
npm: {
devDependencies: {
"ember-source": await getChannelURL("beta"),
},
},
},
{
name: "ember-canary",
npm: {
devDependencies: {
"ember-source": await getChannelURL("canary"),
},
},
},
// The default `.travis.yml` runs this scenario via `yarn test`,
// not via `ember try`. It's still included here so that running
// `ember try:each` manually or from a customized CI config will run it
// along with all the other scenarios.
{
name: "ember-default",
npm: {
devDependencies: {},
},
},
{
name: "ember-default-with-jquery",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"jquery-integration": true,
}),
},
npm: {
devDependencies: {
"@ember/jquery": "^0.5.1",
},
},
},
{
name: "ember-classic",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"application-template-wrapper": true,
"default-async-observers": false,
"template-only-glimmer-components": false,
}),
},
npm: {
devDependencies: {
"ember-source": "~3.28.0",
},
ember: {
edition: "classic",
},
},
},
embroiderSafe(),
embroiderOptimized(),
],
};
};

View File

@ -1,5 +0,0 @@
"use strict";
module.exports = function (/* environment, appConfig */) {
return {};
};

View File

@ -3,7 +3,7 @@
const EmberAddon = require("ember-cli/lib/broccoli/ember-addon");
module.exports = function (defaults) {
let app = new EmberAddon(defaults, {
const app = new EmberAddon(defaults, {
autoImport: {
publicAssetURL: "",
},

View File

@ -15,25 +15,26 @@
"start": "ember serve"
},
"dependencies": {
"ember-auto-import": "^2.6.2",
"ember-cli-babel": "^7.26.10",
"ember-auto-import": "^2.6.3",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.2.0",
"webpack": "^5.79.0"
},
"devDependencies": {
"@babel/core": "^7.21.4",
"@ember/optional-features": "^2.0.0",
"@ember/string": "^3.0.1",
"@embroider/test-setup": "^2.1.1",
"@glimmer/component": "^1.1.2",
"broccoli-asset-rev": "^3.0.0",
"ember-cli": "~3.28.5",
"ember-cli": "~4.12.0",
"ember-cli-dependency-checker": "^3.3.1",
"ember-cli-inject-live-reload": "^2.1.0",
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-disable-prototype-extensions": "^1.1.3",
"ember-load-initializers": "^2.1.1",
"ember-resolver": "^8.0.3",
"ember-resolver": "^10.0.0",
"ember-source": "~3.28.11",
"ember-source-channel-url": "^3.0.0",
"loader.js": "^4.7.0"

View File

@ -0,0 +1,20 @@
{
"schemaVersion": "1.0.0",
"packages": [
{
"name": "ember-cli",
"version": "4.12.0",
"blueprints": [
{
"name": "addon",
"outputRepo": "https://github.com/ember-cli/ember-addon-output",
"codemodsSource": "ember-addon-codemods-manifest@1",
"isBaseBlueprint": true,
"options": [
"--no-welcome"
]
}
]
}
]
}

View File

@ -3,7 +3,7 @@
const EmberAddon = require("ember-cli/lib/broccoli/ember-addon");
module.exports = function (defaults) {
let app = new EmberAddon(defaults, {
const app = new EmberAddon(defaults, {
autoImport: {
publicAssetURL: "",
},

View File

@ -15,8 +15,8 @@
"start": "ember serve"
},
"dependencies": {
"ember-auto-import": "^2.6.2",
"ember-cli-babel": "^7.26.10",
"ember-auto-import": "^2.6.3",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.2.0",
"webpack": "^5.79.0",
"xss": "^1.0.14"
@ -24,17 +24,18 @@
"devDependencies": {
"@babel/core": "^7.21.4",
"@ember/optional-features": "^2.0.0",
"@ember/string": "^3.0.1",
"@embroider/test-setup": "^2.1.1",
"@glimmer/component": "^1.1.2",
"broccoli-asset-rev": "^3.0.0",
"ember-cli": "~3.28.5",
"ember-cli": "~4.12.0",
"ember-cli-dependency-checker": "^3.3.1",
"ember-cli-inject-live-reload": "^2.1.0",
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-disable-prototype-extensions": "^1.1.3",
"ember-load-initializers": "^2.1.1",
"ember-resolver": "^8.0.3",
"ember-resolver": "^10.0.0",
"ember-source": "~3.28.11",
"ember-source-channel-url": "^3.0.0",
"loader.js": "^4.7.0"

File diff suppressed because it is too large Load Diff