Skip to content
This repository was archived by the owner on Aug 7, 2023. It is now read-only.

Commit d2fa35a

Browse files
authored
Merge pull request #413 from AtomLinter/arcanemagus/improve-startup
Defer package dependency check
2 parents 4b160ba + 26003c5 commit d2fa35a

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

lib/main.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,24 @@ const generateInvalidPointTrace = async (execPath, match, filePath, textEditor,
7575

7676
export default {
7777
activate() {
78-
require('atom-package-deps').install('linter-flake8');
78+
this.idleCallbacks = new Set();
7979

80-
// FIXME: Remove after a few versions
81-
if (typeof atom.config.get('linter-flake8.disableTimeout') !== 'undefined') {
82-
atom.config.unset('linter-flake8.disableTimeout');
83-
}
80+
let packageDepsID;
81+
const linterFlake8Deps = () => {
82+
this.idleCallbacks.delete(packageDepsID);
83+
84+
// Request checking / installation of package dependencies
85+
if (!atom.inSpecMode()) {
86+
require('atom-package-deps').install('linter-flake8');
87+
}
88+
89+
// FIXME: Remove after a few versions
90+
if (typeof atom.config.get('linter-flake8.disableTimeout') !== 'undefined') {
91+
atom.config.unset('linter-flake8.disableTimeout');
92+
}
93+
};
94+
packageDepsID = window.requestIdleCallback(linterFlake8Deps);
95+
this.idleCallbacks.add(packageDepsID);
8496

8597
this.subscriptions = new CompositeDisposable();
8698
this.subscriptions.add(
@@ -118,6 +130,8 @@ export default {
118130
},
119131

120132
deactivate() {
133+
this.idleCallbacks.forEach(callbackID => window.cancelIdleCallback(callbackID));
134+
this.idleCallbacks.clear();
121135
this.subscriptions.dispose();
122136
},
123137

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,8 @@
113113
"atom": true
114114
},
115115
"env": {
116-
"node": true
116+
"node": true,
117+
"browser": true
117118
}
118119
},
119120
"providedServices": {

0 commit comments

Comments
 (0)