diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts')
4 files changed, 72 insertions, 0 deletions
diff --git a/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/index.js b/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/index.js new file mode 100644 index 0000000000..1f5bb211aa --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/index.js @@ -0,0 +1,6 @@ +module.exports = { + rules: { + 'string-trailing-space': require('./trailing-space-anywhere'), + 'string-tabs': require('./tabs-anywhere'), + }, +}; diff --git a/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/package.json b/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/package.json new file mode 100644 index 0000000000..5685ebfa3c --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/package.json @@ -0,0 +1,8 @@ +{ + "name": "eslint-plugin-gpuweb-cts", + "version": "0.0.0", + "author": "WebGPU CTS Contributors", + "private": true, + "license": "BSD-3-Clause", + "main": "index.js" +} diff --git a/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/tabs-anywhere.js b/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/tabs-anywhere.js new file mode 100644 index 0000000000..82238f8615 --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/tabs-anywhere.js @@ -0,0 +1,29 @@ +module.exports = { + meta: { + type: 'suggestion', + docs: { + description: 'Indentation tabs are not allowed, even in multiline strings, due to WPT lint rules. This rule simply disallows tabs anywhere.', + }, + schema: [], + }, + create: context => { + const sourceCode = context.getSourceCode(); + + return { + Program: node => { + for (let lineIdx = 0; lineIdx < sourceCode.lines.length; ++lineIdx) { + const line = sourceCode.lines[lineIdx]; + const matches = line.matchAll(/\t/g); + for (const match of matches) { + context.report({ + node, + loc: { line: lineIdx + 1, column: match.index }, + message: 'Tabs not allowed.', + // fixer is hard to implement, so not implemented. + }); + } + } + }, + }; + }, +}; diff --git a/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/trailing-space-anywhere.js b/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/trailing-space-anywhere.js new file mode 100644 index 0000000000..811b379ff6 --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/trailing-space-anywhere.js @@ -0,0 +1,29 @@ +module.exports = { + meta: { + type: 'suggestion', + docs: { + description: 'Trailing spaces are not allowed, even in multiline strings, due to WPT lint rules.', + }, + schema: [], + }, + create: context => { + const sourceCode = context.getSourceCode(); + + return { + Program: node => { + for (let lineIdx = 0; lineIdx < sourceCode.lines.length; ++lineIdx) { + const line = sourceCode.lines[lineIdx]; + const match = /\s+$/.exec(line); + if (match) { + context.report({ + node, + loc: { line: lineIdx + 1, column: match.index }, + message: 'Trailing spaces not allowed.', + // fixer is hard to implement, so not implemented. + }); + } + } + }, + }; + }, +}; |