chore: 🤖 create patched ember-loading for modern e-c (#3015)

This commit is contained in:
hashicc authored and GitHub committed 2025-10-28 10:04:32 -04:00
1 parent b19d76f249
commit 866972c6c6
3 files changed
+134 -42

No files matched your search

+6 -2
View File
@@ -53,7 +53,8 @@
"fireworm>async": "^2.6.4", "fireworm>async": "^2.6.4",
"ember-cli-babel>@babel/runtime": "7.27.6", "ember-cli-babel>@babel/runtime": "7.27.6",
"ember-try-config>package-json": "^10.0.1", "ember-try-config>package-json": "^10.0.1",
"ember-stargate@^0.6.0>@glimmer/component": "^2.0.0" "ember-stargate@^0.6.0>@glimmer/component": "^2.0.0",
"ember-loading>ember-concurrency": "^4.0.0"
}, },
"ignoredBuiltDependencies": [ "ignoredBuiltDependencies": [
"@parcel/watcher", "@parcel/watcher",
@@ -63,7 +64,10 @@
"@nestjs/core", "@nestjs/core",
"@openapitools/openapi-generator-cli" "@openapitools/openapi-generator-cli"
], ],
"onlyBuiltDependencies": [] "onlyBuiltDependencies": [],
"patchedDependencies": {
"ember-loading": "patches/ember-loading.patch"
}
}, },
"config": { "config": {
"commitizen": { "commitizen": {
+112
View File
@@ -0,0 +1,112 @@
diff --git a/addon/services/loading.ts b/addon/services/loading.ts
index 34ac7eb0cdf4ee8f09661ba2459068307bb2792e..9d201c99046fb2e3d6ba3b49f8c1445a4c768c02 100644
--- a/addon/services/loading.ts
+++ b/addon/services/loading.ts
@@ -4,7 +4,6 @@ import { restartableTask, task, timeout } from 'ember-concurrency';
import RouterService from '@ember/routing/router-service';
import { getOwner } from '@ember/application';
import RSVP, { defer } from 'rsvp';
-import { taskFor } from 'ember-concurrency-ts';
type ParseArgsValue = [any, Function, any[] | undefined];
@@ -49,7 +48,6 @@ function parseArgs(): ParseArgsValue {
}
export default class LoadingService extends Service {
-
@service
router!: RouterService;
@@ -58,11 +56,11 @@ export default class LoadingService extends Service {
watchTransitions = true;
get isLoading(): boolean {
- return taskFor(this._runJob).isRunning;
+ return this._runJob.isRunning;
}
get showLoading(): boolean {
- return !taskFor(this.preDelayTask).isRunning && (this.isLoading || taskFor(this.postDelayTask).isRunning);
+ return !this.preDelayTask.isRunning && (this.isLoading || this.postDelayTask.isRunning);
}
_routerTransitionDeferred?: RSVP.Deferred<unknown>;
@@ -132,33 +130,30 @@ export default class LoadingService extends Service {
// run<R>(fn: () => R): Promise<R>;
async run(...args: any[]) {
if (this.preDelay > 0) {
- taskFor(this.preDelayTask).perform(this.preDelay);
+ this.preDelayTask.perform(this.preDelay);
}
- let result = await taskFor(this._runJob).perform(...args);
+ let result = await this._runJob.perform(...args);
if (this.postDelay > 0) {
- taskFor(this.postDelayTask).perform(this.postDelay);
+ this.postDelayTask.perform(this.postDelay);
}
return result;
}
- @task
- async _runJob(...args: unknown[]): Promise<unknown> {
+ _runJob = task(async (...args: unknown[]) => {
let [target, method, realArgs] = parseArgs(...args);
return await method.apply(target, realArgs);
- }
+ });
- @restartableTask
- async preDelayTask(delay: number): Promise<void> {
+ preDelayTask = restartableTask(async (delay: number) => {
await timeout(delay);
- }
+ });
- @restartableTask
- async postDelayTask(delay: number): Promise<void> {
+ postDelayTask = restartableTask(async (delay: number) => {
await timeout(delay);
- }
+ });
}
// DO NOT DELETE: this is how TypeScript knows how to look up your services.
diff --git a/index.js b/index.js
index 0ca063d427d9441b9b3a1274bfcfe47186623c63..ca80a9382c6f5e64504048e0757215b1272fb849 100644
--- a/index.js
+++ b/index.js
@@ -2,4 +2,11 @@
module.exports = {
name: require('./package').name,
+ options: {
+ babel: {
+ plugins: [
+ require.resolve('ember-concurrency/async-arrow-task-transform'),
+ ],
+ },
+ },
};
diff --git a/package.json b/package.json
index 3b898dce9a160776192437af4c35b2038eb39232..2a37d3d6f179bfe62479c5141d705a2d3e4eeaeb 100644
--- a/package.json
+++ b/package.json
@@ -31,10 +31,10 @@
"dependencies": {
"ember-cli-babel": "^7.26.6",
"ember-cli-htmlbars": "^5.7.1",
- "ember-cli-typescript": "^4.1.0",
- "ember-concurrency": "^2.0.3",
- "ember-concurrency-async": "^1.0.0",
- "ember-concurrency-ts": "^0.3.0"
+ "ember-cli-typescript": "^4.1.0"
+ },
+ "peerDependencies": {
+ "ember-concurrency": "^4.0.0"
},
"devDependencies": {
"@ember/optional-features": "2.0.0",
+16 -40
View File
@@ -16,6 +16,12 @@ overrides:
ember-cli-babel>@babel/runtime: 7.27.6 ember-cli-babel>@babel/runtime: 7.27.6
ember-try-config>package-json: ^10.0.1 ember-try-config>package-json: ^10.0.1
ember-stargate@^0.6.0>@glimmer/component: ^2.0.0 ember-stargate@^0.6.0>@glimmer/component: ^2.0.0
ember-loading>ember-concurrency: ^4.0.0
patchedDependencies:
ember-loading:
hash: 7d97519ce1955a5130edf885afb18c05d7253e2055b1b60cdcf6efc64cbdbff3
path: patches/ember-loading.patch
importers: importers:
@@ -394,7 +400,7 @@ importers:
version: 7.1.8(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glint/template@1.5.2)(typescript@5.8.3)(webpack@5.99.8) version: 7.1.8(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glint/template@1.5.2)(typescript@5.8.3)(webpack@5.99.8)
ember-loading: ember-loading:
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.0(@babel/core@7.27.1) version: 2.0.0(patch_hash=7d97519ce1955a5130edf885afb18c05d7253e2055b1b60cdcf6efc64cbdbff3)(@babel/core@7.27.1)(@glint/template@1.5.2)
ember-truth-helpers: ember-truth-helpers:
specifier: ^4.0.3 specifier: ^4.0.3
version: 4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)) version: 4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
@@ -4809,10 +4815,6 @@ packages:
peerDependencies: peerDependencies:
ember-concurrency: ^1.2.1 || ^2.0.0-rc.1 ember-concurrency: ^1.2.1 || ^2.0.0-rc.1
ember-concurrency@2.3.7:
resolution: {integrity: sha512-sz6sTIXN/CuLb5wdpauFa+rWXuvXXSnSHS4kuNzU5GSMDX1pLBWSuovoUk61FUe6CYRqBmT1/UushObwBGickQ==}
engines: {node: 10.* || 12.* || 14.* || >= 16}
ember-concurrency@4.0.4: ember-concurrency@4.0.4:
resolution: {integrity: sha512-Y+PwbFE2r3+ANlT0lTBNokLXTRFLV6lnGkZ8u5tDhND5o2wD1wkh9JdP8KZ8aJ+J0dmhncVGQNi+Dbbtc6xTfg==} resolution: {integrity: sha512-Y+PwbFE2r3+ANlT0lTBNokLXTRFLV6lnGkZ8u5tDhND5o2wD1wkh9JdP8KZ8aJ+J0dmhncVGQNi+Dbbtc6xTfg==}
engines: {node: 16.* || >= 18} engines: {node: 16.* || >= 18}
@@ -4844,10 +4846,6 @@ packages:
qunit: qunit:
optional: true optional: true
ember-destroyable-polyfill@2.0.3:
resolution: {integrity: sha512-TovtNqCumzyAiW0/OisSkkVK93xnVF4NRU6+FN0ubpfwEOpRrmM2RqDwXI6YAChCgSHON1cz0DfQStpA1Gjuuw==}
engines: {node: 10.* || >= 12}
ember-electron@6.0.0: ember-electron@6.0.0:
resolution: {integrity: sha512-+vS5K+EYUo3XzClvPR83IECwwqda2rKymPfzCYnYbrzgqVPXFgtL/REh2PZNPrv1VB3UKLROfKeRtF/o/h6bXw==} resolution: {integrity: sha512-+vS5K+EYUo3XzClvPR83IECwwqda2rKymPfzCYnYbrzgqVPXFgtL/REh2PZNPrv1VB3UKLROfKeRtF/o/h6bXw==}
engines: {node: '>= 18'} engines: {node: '>= 18'}
@@ -14226,39 +14224,25 @@ snapshots:
- '@babel/core' - '@babel/core'
- supports-color - supports-color
ember-concurrency-async@1.0.0(ember-concurrency@2.3.7(@babel/core@7.27.1)): ember-concurrency-async@1.0.0(ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2)):
dependencies: dependencies:
'@babel/helper-plugin-utils': 7.27.1 '@babel/helper-plugin-utils': 7.27.1
'@babel/types': 7.27.1 '@babel/types': 7.27.1
ember-cli-babel: 7.26.11 ember-cli-babel: 7.26.11
ember-cli-babel-plugin-helpers: 1.1.1 ember-cli-babel-plugin-helpers: 1.1.1
ember-cli-htmlbars: 4.5.0 ember-cli-htmlbars: 4.5.0
ember-concurrency: 2.3.7(@babel/core@7.27.1) ember-concurrency: 4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
ember-concurrency-ts@0.3.1(ember-concurrency@2.3.7(@babel/core@7.27.1)): ember-concurrency-ts@0.3.1(ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2)):
dependencies: dependencies:
ember-cli-babel: 7.26.11 ember-cli-babel: 7.26.11
ember-cli-htmlbars: 4.5.0 ember-cli-htmlbars: 4.5.0
ember-concurrency: 2.3.7(@babel/core@7.27.1) ember-concurrency: 4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
ember-concurrency@2.3.7(@babel/core@7.27.1):
dependencies:
'@babel/helper-plugin-utils': 7.27.1
'@babel/types': 7.27.1
'@glimmer/tracking': 1.1.2
ember-cli-babel: 7.26.11
ember-cli-babel-plugin-helpers: 1.1.1
ember-cli-htmlbars: 5.7.2
ember-compatibility-helpers: 1.2.7(@babel/core@7.27.1)
ember-destroyable-polyfill: 2.0.3(@babel/core@7.27.1)
transitivePeerDependencies:
- '@babel/core'
- supports-color
ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2): ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2):
dependencies: dependencies:
'@babel/helper-module-imports': 7.27.1 '@babel/helper-module-imports': 7.27.1
@@ -14307,15 +14291,6 @@ snapshots:
- ember-inflector - ember-inflector
- supports-color - supports-color
ember-destroyable-polyfill@2.0.3(@babel/core@7.27.1):
dependencies:
ember-cli-babel: 7.26.11
ember-cli-version-checker: 5.1.2
ember-compatibility-helpers: 1.2.7(@babel/core@7.27.1)
transitivePeerDependencies:
- '@babel/core'
- supports-color
ember-electron@6.0.0(@babel/core@7.27.1)(ember-cli-dependency-checker@3.3.3(ember-cli@5.12.0(handlebars@4.7.8)(underscore@1.13.7)))(ember-cli@5.12.0(handlebars@4.7.8)(underscore@1.13.7))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))(encoding@0.1.13): ember-electron@6.0.0(@babel/core@7.27.1)(ember-cli-dependency-checker@3.3.3(ember-cli@5.12.0(handlebars@4.7.8)(underscore@1.13.7)))(ember-cli@5.12.0(handlebars@4.7.8)(underscore@1.13.7))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))(encoding@0.1.13):
dependencies: dependencies:
'@electron-forge/core': 7.8.1(encoding@0.1.13) '@electron-forge/core': 7.8.1(encoding@0.1.13)
@@ -14511,16 +14486,17 @@ snapshots:
- '@babel/core' - '@babel/core'
- supports-color - supports-color
ember-loading@2.0.0(@babel/core@7.27.1): ember-loading@2.0.0(patch_hash=7d97519ce1955a5130edf885afb18c05d7253e2055b1b60cdcf6efc64cbdbff3)(@babel/core@7.27.1)(@glint/template@1.5.2):
dependencies: dependencies:
ember-cli-babel: 7.26.11 ember-cli-babel: 7.26.11
ember-cli-htmlbars: 5.7.2 ember-cli-htmlbars: 5.7.2
ember-cli-typescript: 4.2.1 ember-cli-typescript: 4.2.1
ember-concurrency: 2.3.7(@babel/core@7.27.1) ember-concurrency: 4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2)
ember-concurrency-async: 1.0.0(ember-concurrency@2.3.7(@babel/core@7.27.1)) ember-concurrency-async: 1.0.0(ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2))
ember-concurrency-ts: 0.3.1(ember-concurrency@2.3.7(@babel/core@7.27.1)) ember-concurrency-ts: 0.3.1(ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2))
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
- '@glint/template'
- supports-color - supports-color
ember-maybe-import-regenerator@1.0.0: ember-maybe-import-regenerator@1.0.0: