Skip to content
This repository was archived by the owner on Sep 6, 2021. It is now read-only.

Commit 2b57d05

Browse files
committed
catch .eslintrc changes so restart is no longer required
1 parent 194b097 commit 2b57d05

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

src/extensions/default/ESLint/domain.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@
9494
});
9595
}
9696

97+
function configFileModified(projectRoot) {
98+
_setProjectRoot(projectRoot);
99+
currentProjectRoot = projectRoot;
100+
}
101+
97102
exports.init = function (_domainManager) {
98103
domainManager = _domainManager;
99104

@@ -127,6 +132,24 @@
127132
]
128133
);
129134

135+
domainManager.registerCommand(
136+
domainName,
137+
'configFileModified',
138+
configFileModified,
139+
false,
140+
'notify that config file was modified',
141+
[
142+
{
143+
name: 'projectRoot',
144+
type: 'string'
145+
}
146+
], [
147+
{
148+
name: 'result',
149+
type: 'boolean'
150+
}
151+
]
152+
);
130153
};
131154

132155
}());

src/extensions/default/ESLint/main.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ define(function (require, exports, module) {
99
var ProjectManager = brackets.getModule('project/ProjectManager');
1010
var ExtensionUtils = brackets.getModule('utils/ExtensionUtils');
1111
var NodeDomain = brackets.getModule('utils/NodeDomain');
12+
var FileSystem = brackets.getModule("filesystem/FileSystem");
1213

1314
// constants
1415
var JS_LANGUAGE = LanguageManager.getLanguageForExtension('js');
@@ -58,6 +59,13 @@ define(function (require, exports, module) {
5859
return deferred.promise();
5960
}
6061

62+
FileSystem.on("change", function (evt, file) {
63+
if (/^\.eslintrc(\.(js|yaml|yml|json))?$/.test(file.name)) {
64+
var projectRoot = ProjectManager.getProjectRoot().fullPath;
65+
nodeDomain.exec('configFileModified', projectRoot);
66+
}
67+
});
68+
6169
// register a linter with CodeInspection
6270
CodeInspection.register(JS_LANGUAGE.getId(), {
6371
name: LINTER_NAME,

0 commit comments

Comments
 (0)