chore: 🤖 create patched ember-loading for modern e-c (#3015)
This commit is contained in:
1 parent
b19d76f249
commit
866972c6c6
3 files changed
+134
-42
No files matched your search
+6
-2
@@ -53,7 +53,8 @@
|
||||
"fireworm>async": "^2.6.4",
|
||||
"ember-cli-babel>@babel/runtime": "7.27.6",
|
||||
"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": [
|
||||
"@parcel/watcher",
|
||||
@@ -63,7 +64,10 @@
|
||||
"@nestjs/core",
|
||||
"@openapitools/openapi-generator-cli"
|
||||
],
|
||||
"onlyBuiltDependencies": []
|
||||
"onlyBuiltDependencies": [],
|
||||
"patchedDependencies": {
|
||||
"ember-loading": "patches/ember-loading.patch"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"commitizen": {
|
||||
|
||||
@@ -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",
|
||||
Generated
+16
-40
@@ -16,6 +16,12 @@ overrides:
|
||||
ember-cli-babel>@babel/runtime: 7.27.6
|
||||
ember-try-config>package-json: ^10.0.1
|
||||
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:
|
||||
|
||||
@@ -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)
|
||||
ember-loading:
|
||||
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:
|
||||
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))
|
||||
@@ -4809,10 +4815,6 @@ packages:
|
||||
peerDependencies:
|
||||
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:
|
||||
resolution: {integrity: sha512-Y+PwbFE2r3+ANlT0lTBNokLXTRFLV6lnGkZ8u5tDhND5o2wD1wkh9JdP8KZ8aJ+J0dmhncVGQNi+Dbbtc6xTfg==}
|
||||
engines: {node: 16.* || >= 18}
|
||||
@@ -4844,10 +4846,6 @@ packages:
|
||||
qunit:
|
||||
optional: true
|
||||
|
||||
ember-destroyable-polyfill@2.0.3:
|
||||
resolution: {integrity: sha512-TovtNqCumzyAiW0/OisSkkVK93xnVF4NRU6+FN0ubpfwEOpRrmM2RqDwXI6YAChCgSHON1cz0DfQStpA1Gjuuw==}
|
||||
engines: {node: 10.* || >= 12}
|
||||
|
||||
ember-electron@6.0.0:
|
||||
resolution: {integrity: sha512-+vS5K+EYUo3XzClvPR83IECwwqda2rKymPfzCYnYbrzgqVPXFgtL/REh2PZNPrv1VB3UKLROfKeRtF/o/h6bXw==}
|
||||
engines: {node: '>= 18'}
|
||||
@@ -14226,39 +14224,25 @@ snapshots:
|
||||
- '@babel/core'
|
||||
- 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:
|
||||
'@babel/helper-plugin-utils': 7.27.1
|
||||
'@babel/types': 7.27.1
|
||||
ember-cli-babel: 7.26.11
|
||||
ember-cli-babel-plugin-helpers: 1.1.1
|
||||
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:
|
||||
- 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:
|
||||
ember-cli-babel: 7.26.11
|
||||
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:
|
||||
- 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):
|
||||
dependencies:
|
||||
'@babel/helper-module-imports': 7.27.1
|
||||
@@ -14307,15 +14291,6 @@ snapshots:
|
||||
- ember-inflector
|
||||
- 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):
|
||||
dependencies:
|
||||
'@electron-forge/core': 7.8.1(encoding@0.1.13)
|
||||
@@ -14511,16 +14486,17 @@ snapshots:
|
||||
- '@babel/core'
|
||||
- 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:
|
||||
ember-cli-babel: 7.26.11
|
||||
ember-cli-htmlbars: 5.7.2
|
||||
ember-cli-typescript: 4.2.1
|
||||
ember-concurrency: 2.3.7(@babel/core@7.27.1)
|
||||
ember-concurrency-async: 1.0.0(ember-concurrency@2.3.7(@babel/core@7.27.1))
|
||||
ember-concurrency-ts: 0.3.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@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2))
|
||||
ember-concurrency-ts: 0.3.1(ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2))
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- '@glint/template'
|
||||
- supports-color
|
||||
|
||||
ember-maybe-import-regenerator@1.0.0:
|
||||
|
||||
Reference in new issue
Block a user