tackbox 0.1.79 → 0.1.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/tackbox-eslint.js +2 -1
- package/js/rules/_shared.js +9 -3
- package/package.json +1 -1
package/bin/tackbox-eslint.js
CHANGED
|
@@ -115,7 +115,8 @@ function validateDeclarations(decls) {
|
|
|
115
115
|
// line: null (location-unknown) - the caller over-reports, never drops it.
|
|
116
116
|
function emitMachine(results) {
|
|
117
117
|
for (const r of results) {
|
|
118
|
-
|
|
118
|
+
// The contract path is POSIX; path.relative yields `\` on Windows.
|
|
119
|
+
const file = path.relative(process.cwd(), r.filePath).replace(/\\/g, '/')
|
|
119
120
|
for (const m of r.messages) {
|
|
120
121
|
if (m.severity !== 2) continue
|
|
121
122
|
process.stdout.write(JSON.stringify({ file, line: m.line ?? null, rule: m.ruleId, message: m.message }) + '\n')
|
package/js/rules/_shared.js
CHANGED
|
@@ -158,10 +158,16 @@ function declaredReporters(context) {
|
|
|
158
158
|
return Array.isArray(s) ? s : []
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
+
// Declarations are POSIX; path.relative hands back `\` on Windows, and a key
|
|
162
|
+
// that keeps it stops matching its own declaration.
|
|
163
|
+
function toPosix(p) {
|
|
164
|
+
return p.replace(/\\/g, '/')
|
|
165
|
+
}
|
|
166
|
+
|
|
161
167
|
function relFile(context) {
|
|
162
168
|
const fn = context.filename || (context.getFilename && context.getFilename()) || ''
|
|
163
169
|
const cwd = context.cwd || process.cwd()
|
|
164
|
-
return path.isAbsolute(fn) ? path.relative(cwd, fn) : fn
|
|
170
|
+
return toPosix(path.isAbsolute(fn) ? path.relative(cwd, fn) : fn)
|
|
165
171
|
}
|
|
166
172
|
|
|
167
173
|
// Module extensions, compound first: a specifier that omits the extension must
|
|
@@ -235,7 +241,7 @@ function resolveAlias(context, source, absImporter) {
|
|
|
235
241
|
dir = up
|
|
236
242
|
}
|
|
237
243
|
if (root === null) return null
|
|
238
|
-
return path.relative(context.cwd || process.cwd(), path.join(root, 'src', 'lib', rest))
|
|
244
|
+
return toPosix(path.relative(context.cwd || process.cwd(), path.join(root, 'src', 'lib', rest)))
|
|
239
245
|
}
|
|
240
246
|
|
|
241
247
|
// resolveDeclTarget resolves an Identifier callee to the {file, name} of its
|
|
@@ -252,7 +258,7 @@ function resolveDeclTarget(context, idNode) {
|
|
|
252
258
|
const importedName = info.kind === 'named' ? info.imported : idNode.name
|
|
253
259
|
let resolved
|
|
254
260
|
if (source.startsWith('.')) {
|
|
255
|
-
resolved = path.normalize(path.join(path.dirname(relFile(context)), source))
|
|
261
|
+
resolved = path.posix.normalize(path.posix.join(path.posix.dirname(relFile(context)), source))
|
|
256
262
|
} else {
|
|
257
263
|
resolved = resolveAlias(context, source, absFile(context))
|
|
258
264
|
if (resolved === null) return null
|
package/package.json
CHANGED