This patch removes the vast majority of OS.File and support code. A few things remain:
- The nsIOSFileConstantsService still exists, but the path related constants
(OS.Constants.Path.*) are no longer added to the OS object. The plan is to
replace this with a proper service e.g. Services.osConstants or similar) in
bug 1786885.
- There is still support for OS.File errors in ErrorSanitizer, which will be
removed in bug 1775167.
- The OS.File to IOUtils migration guide will be rewritten as general IOUtils
documentation in bug 1830097.
- dom/base/Document.cpp has a workaround for not loading osfile.jsm at startup,
which may want to be reconsidered in bug 1830100.
So long, and thanks for all the I/O.
Differential Revision: https://phabricator.services.mozilla.com/D176543
This patch removes the vast majority of OS.File and support code. A few things remain:
- The nsIOSFileConstantsService still exists, but the path related constants
(OS.Constants.Path.*) are no longer added to the OS object. The plan is to
replace this with a proper service e.g. Services.osConstants or similar) in
bug 1786885.
- There is still support for OS.File errors in ErrorSanitizer, which will be
removed in bug 1775167.
- The OS.File to IOUtils migration guide will be rewritten as general IOUtils
documentation in bug 1830097.
- dom/base/Document.cpp has a workaround for not loading osfile.jsm at startup,
which may want to be reconsidered in bug 1830100.
So long, and thanks for all the I/O.
Differential Revision: https://phabricator.services.mozilla.com/D176543
This patch removes the vast majority of OS.File and support code. A few things remain:
- The nsIOSFileConstantsService still exists, but the path related constants
(OS.Constants.Path.*) are no longer added to the OS object. The plan is to
replace this with a proper service e.g. Services.osConstants or similar) in
bug 1786885.
- There is still support for OS.File errors in ErrorSanitizer, which will be
removed in bug 1775167.
- The OS.File to IOUtils migration guide will be rewritten as general IOUtils
documentation in bug 1830097.
- dom/base/Document.cpp has a workaround for not loading osfile.jsm at startup,
which may want to be reconsidered in bug 1830100.
So long, and thanks for all the I/O.
Differential Revision: https://phabricator.services.mozilla.com/D176543
This patch removes the vast majority of OS.File and support code. A few things remain:
- The nsIOSFileConstantsService still exists, but the path related constants
(OS.Constants.Path.*) are no longer added to the OS object. The plan is to
replace this with a proper service e.g. Services.osConstants or similar) in
bug 1786885.
- There is still support for OS.File errors in ErrorSanitizer, which will be
removed in bug 1775167.
- The OS.File to IOUtils migration guide will be rewritten as general IOUtils
documentation in bug 1830097.
- dom/base/Document.cpp has a workaround for not loading osfile.jsm at startup,
which may want to be reconsidered in bug 1830100.
So long, and thanks for all the I/O.
Differential Revision: https://phabricator.services.mozilla.com/D176543
This is enabling the PLE and PLC rules across a much larger swatch of the code
base. The PLR and PLW are additionally enabled at the warning level (introduces
~2500 new warnings).
To avoid extraneous changes in people's patches, rules at the warning level are
excluded from --fix.
Differential Revision: https://phabricator.services.mozilla.com/D172358
Ruff is a very fast linter implemented in Rust and it can act as a drop-in
replacement for flake8. When running the same set of rules across all files
in mozilla-central (without mozlint), flake8 takes 900 seconds whereas ruff
takes 0.9 seconds.
Ruff also implements rules from other popular Python linters such as pylint,
isort and pyupgrade. There are even plans to implement feature parity with
black in the future. Ultimately, it can become our one stop shop for all Python
linting and formatting.
This stack will swap out all our Python lint tools for ruff (excluding black
for now).
Differential Revision: https://phabricator.services.mozilla.com/D172313
This is enabling the PLE and PLC rules across a much larger swatch of the code
base. The PLR and PLW are additionally enabled at the warning level (introduces
~2500 new warnings).
To avoid extraneous changes in people's patches, rules at the warning level are
excluded from --fix.
Differential Revision: https://phabricator.services.mozilla.com/D172358
Ruff is a very fast linter implemented in Rust and it can act as a drop-in
replacement for flake8. When running the same set of rules across all files
in mozilla-central (without mozlint), flake8 takes 900 seconds whereas ruff
takes 0.9 seconds.
Ruff also implements rules from other popular Python linters such as pylint,
isort and pyupgrade. There are even plans to implement feature parity with
black in the future. Ultimately, it can become our one stop shop for all Python
linting and formatting.
This stack will swap out all our Python lint tools for ruff (excluding black
for now).
Differential Revision: https://phabricator.services.mozilla.com/D172313
This suppresses rstcheck errors due to code-block and caption .
This also removes errors related to mermaid (Bug 1815454).
We also need to use anonymous references instead of explicit ones to
avoid another lint error.
Differential Revision: https://phabricator.services.mozilla.com/D171860
Adds a simple ESLint plugin for custom environments.
The plugin has a single exported value named `globals`, which is an object with
keys for all globally available self-hosted identifiers. All self-hosted values
are read-only, so we set all properties of `globals` to `"readonly"`.
BytecodeEmitter special identifiers are added to the `.eslintrc.js` file,
because that keeps them closer to the SpiderMonkey source tree when compared
to "tools/lint/eslint/eslint-plugin-spidermonkey-js".
Also see:
- tools/lint/eslint/eslint-plugin-mozilla/lib/environments/
- https://eslint.org/docs/latest/user-guide/configuring/language-options
Differential Revision: https://phabricator.services.mozilla.com/D153337