Bug 1357702 - Make eslint-plugin-spidermonkey-js handle paths correct on Windows to avoid Unexpected character issues on ESLint. r?Mossop draft
authorMark Banner <standard8@mozilla.com>
Wed, 19 Apr 2017 12:17:14 +0100
changeset 565038 f858ec394f09f692d4776959c81c97a29c331725
parent 565030 c0ea5ed7f91a6be996a4a3c5ab25e2cdf6b4377e
child 624894 611381585285b392a8248549b18a1eb8de3b871f
push id54761
push userbmo:standard8@mozilla.com
push dateWed, 19 Apr 2017 11:17:29 +0000
reviewersMossop
bugs1357702
milestone55.0a1
Bug 1357702 - Make eslint-plugin-spidermonkey-js handle paths correct on Windows to avoid Unexpected character issues on ESLint. r?Mossop MozReview-Commit-ID: LsQCgBOgceY
tools/lint/eslint/eslint-plugin-spidermonkey-js/lib/processors/self-hosted.js
tools/lint/eslint/eslint-plugin-spidermonkey-js/package.json
--- a/tools/lint/eslint/eslint-plugin-spidermonkey-js/lib/processors/self-hosted.js
+++ b/tools/lint/eslint/eslint-plugin-spidermonkey-js/lib/processors/self-hosted.js
@@ -3,21 +3,26 @@
  *
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
 "use strict";
 
+var path = require("path");
+
 const selfHostedRegex = /js\/src\/(?:builtin|shell)\/.*?\.js$/;
 const macroRegex = /\s*\#(if|ifdef|else|elif|endif|include|define|undef).*/;
 
 module.exports = {
   preprocess(text, filename) {
+    if (path.win32) {
+      filename = filename.split(path.sep).join("/");
+    }
     if (!selfHostedRegex.test(filename)) {
       return [text];
     }
 
     let lines = text.split(/\n/);
     for (let i = 0; i < lines.length; i++) {
       if (!macroRegex.test(lines[i])) {
         // No macro here, nothing to do.
--- a/tools/lint/eslint/eslint-plugin-spidermonkey-js/package.json
+++ b/tools/lint/eslint/eslint-plugin-spidermonkey-js/package.json
@@ -1,11 +1,11 @@
 {
   "name": "eslint-plugin-spidermonkey-js",
-  "version": "0.1.0",
+  "version": "0.1.1",
   "description": "A collection of rules that help enforce JavaScript coding standard in the Mozilla SpiderMonkey project.",
   "keywords": [
     "eslint",
     "eslintplugin",
     "eslint-plugin",
     "mozilla",
     "spidermonkey"
   ],