djLint
djLint copied to clipboard
chore(deps) Update all non-major dependencies
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
@fontsource/inter | 4.5.11 -> 4.5.12 |
||||
astroid | ==2.11.7 -> ==2.12.2 |
||||
atomicwrites | ==1.4.0 -> ==1.4.1 |
||||
black (changelog) | ==22.1.0 -> ==22.6.0 |
||||
click (changelog) | ==8.0.3 -> ==8.1.3 |
||||
coverage | ==6.4.2 -> ==6.4.3 |
||||
cssbeautifier | ==1.14.4 -> ==1.14.5 |
||||
cssnano | 5.1.12 -> 5.1.13 |
||||
esbuild | 0.14.51 -> 0.15.2 |
||||
importlib-metadata | ==4.11.0 -> ==4.12.0 |
||||
jsbeautifier | ==1.14.4 -> ==1.14.5 |
||||
mccabe | ==0.6.1 -> ==0.7.0 |
||||
platformdirs | ==2.5.0 -> ==2.5.2 |
||||
pycodestyle (changelog) | ==2.7.0 -> ==2.9.1 |
||||
pyflakes | ==2.3.1 -> ==2.5.0 |
||||
pyparsing | ==3.0.7 -> ==3.0.9 |
||||
regex | ==2022.1.18 -> ==2022.7.25 |
||||
sass | 1.54.0 -> 1.54.4 |
||||
tomlkit | ==0.11.1 -> ==0.11.4 |
||||
tqdm (changelog) | ==4.62.3 -> ==4.64.0 |
||||
typed-ast | ==1.4.3 -> ==1.5.4 |
||||
typing-extensions (changelog) | ==4.1.0 -> ==4.3.0 |
||||
zipp | ==3.7.0 -> ==3.8.1 |
Release Notes
PyCQA/astroid
v2.12.2
============================= Release date: 2022-07-12
-
Fixed crash in modulo operations for divisions by zero.
Closes #1700
-
Fixed crash with recursion limits during inference.
Closes #1646
v2.12.1
============================= Release date: 2022-07-10
-
Fix a crash when inferring old-style string formatting (
%
) using tuples. -
Fix a crash when
None
(or a value inferred asNone
) participates in a**
expression. -
Fix a crash involving properties within
if
blocks.
v2.12.0
============================= Release date: 2022-07-09
-
Fix signal has no
connect
member for PySide2 5.15.2+ and PySide6 -
astroid
now requires Python 3.7.2 to run. -
Avoid setting a Call as a base for classes created using
six.with_metaclass()
.Refs PyCQA/pylint#5935
-
Fix detection of builtins on
PyPy
3.9. -
Fix
re
brain on Python3.11
. The flags now come fromre._compile
. -
Build
nodes.Module
for frozen modules which have location information in theirModuleSpec
.Closes #1512
-
The
astroid.mixins
module has been deprecated and marked for removal in 3.0.0.Closes #1633
-
Capture and log messages emitted by C extensions when importing them. This prevents contaminating programmatic output, e.g. pylint's JSON reporter.
Closes PyCQA/pylint#3518
-
Calls to
str.format
are now correctly inferred. -
__new__
and__init__
have been added to theObjectModel
and are now inferred asBoundMethods
. -
Old style string formatting (using
%
operators) is now correctly inferred.Closes #151
-
Adds missing enums from
ssl
module.Closes PyCQA/pylint#3691
-
Remove dependency on
pkg_resources
fromsetuptools
.Closes #1103
-
Allowed
AstroidManager.clear_cache
to reload necessary brain plugins. -
Fixed incorrect inferences after rebuilding the builtins module, e.g. by calling
AstroidManager.clear_cache
.Closes #1559
-
On Python versions >= 3.9,
astroid
now understands subscripting builtin classes such asenumerate
orstaticmethod
. -
Fixed inference of
Enums
when they are imported under an alias.Closes PyCQA/pylint#5776
-
Rename
ModuleSpec
->module_type
constructor parameter to match attribute name and improve typing. Usetype
instead. -
ObjectModel
andClassModel
now know about their__new__
and__call__
attributes. -
Fixed pylint
not-callable
false positive with nested-tuple assignment in a for-loop.Refs PyCQA/pylint#5113
-
Instances of builtins created with
__new__(cls, value)
are now inferred. -
Infer the return value of the
.copy()
method ondict
,list
,set
, andfrozenset
.Closes #1403
-
Fixed inference of elements of living container objects such as tuples and sets in the
sys
andssl
modules. -
Add
pathlib
brain to handlepathlib.PurePath.parents
inference.Closes PyCQA/pylint#5783
-
Avoid inferring the results of
**
operations involving values greater than1e5
to avoid expensive computation.Closes PyCQA/pylint#6745
-
Fix test for Python
3.11
. In some instanceserr.__traceback__
will be uninferable now. -
Add brain for numpy core module
einsumfunc
.Closes PyCQA/pylint#5821
-
Infer the
DictUnpack
value forDict.getitem
calls.Closes #1195
-
Fix a crash involving properties within
try ... except
blocks.Closes PyCQA/pylint#6592
-
Prevent creating
Instance
objects that proxy otherInstance
s when there is ambiguity (or user error) in calling__new__(cls)
.Refs PyCQA/pylint#7109
psf/black
v22.6.0
Style
- Fix unstable formatting involving
#fmt: skip
and# fmt:skip
comments (notice the lack of spaces) (#2970)
Preview style
- Docstring quotes are no longer moved if it would violate the line length limit (#3044)
- Parentheses around return annotations are now managed (#2990)
- Remove unnecessary parentheses around awaited objects (#2991)
- Remove unnecessary parentheses in
with
statements (#2926) - Remove trailing newlines after code block open (#3035)
Integrations
- Add
scripts/migrate-black.py
script to ease introduction of Black to a Git project (#3038)
Output
- Output Python version and implementation as part of
--version
flag (#2997)
Packaging
- Use
tomli
instead oftomllib
on Python 3.11 builds wheretomllib
is not available (#2987)
Parser
-
PEP 654 syntax (for example,
except *ExceptionGroup:
) is now supported (#3016) -
PEP 646 syntax (for example,
Array[Batch, *Shape]
ordef fn(*args: *T) -> None
) is now supported (#3071)
Vim Plugin
- Fix
strtobool
function. It didn't parse true/on/false/off. (#3025)
v22.3.0
Preview style
- Code cell separators
#%%
are now standardised to# %%
(#2919) - Remove unnecessary parentheses from
except
statements (#2939) - Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945) - Avoid magic-trailing-comma in single-element subscripts (#2942)
Configuration
- Do not format
__pypackages__
directories by default (#2836) - Add support for specifying stable version with
--required-version
(#2832). - Avoid crashing when the user has no homedir (#2814)
- Avoid crashing when md5 is not available (#2905)
- Fix handling of directory junctions on Windows (#2904)
Documentation
- Update pylint config documentation (#2931)
Integrations
- Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
Output
- In verbose mode, log when Black is using user-level config (#2861)
Packaging
- Fix Black to work with Click 8.1.0 (#2966)
- On Python 3.11 and newer, use the standard library's
tomllib
instead oftomli
(#2903) -
black-primer
, the deprecated internal devtool, has been removed and copied to a separate repository (#2924)
Parser
- Black can now parse starred expressions in the target of
for
andasync for
statements, e.gfor item in *items_1, *items_2: pass
(#2879).
nedbat/coveragepy
v6.4.3
-
Fix a failure when combining data files if the file names contained glob-like patterns (
pull 1405
_). Thanks, Michael Krebs and Benjamin Schubert. -
Fix a messaging failure when combining Windows data files on a different drive than the current directory. (
pull 1430
, fixingissue 1428
). Thanks, Lorenzo Micò. -
Fix path calculations when running in the root directory, as you might do in a Docker container:
pull 1403
_, thanks Arthur Rio. -
Filtering in the HTML report wouldn't work when reloading the index page. This is now fixed (
pull 1413
_). Thanks, Marc Legendre. -
Fix a problem with Cython code measurement (
pull 1347
, fixingissue 972
). Thanks, Matus Valo.
.. _issue 972:https://github.com/nedbat/coveragepy/issues/9722 .. _pull 1347https://github.com/nedbat/coveragepy/pull/134747 .. _pull 140https://github.com/nedbat/coveragepy/issues/1403403 .. _pull 14https://github.com/nedbat/coveragepy/issues/14051405 .. _pull 1https://github.com/nedbat/coveragepy/issues/1413/1413 .. _issue https://github.com/nedbat/coveragepy/issues/1428s/1428 .. _pullhttps://github.com/nedbat/coveragepy/pull/1430ll/1430
.. _changes_6-4-2:
evanw/esbuild
v0.15.2
-
Fix Yarn PnP issue with packages containing
index.js
(#2455, #2461)Yarn PnP's tests require the resolved paths to end in
/
. That's not how the rest of esbuild's internals work, however, and doing this messed up esbuild's node module path resolution regarding automatically-detectedindex.js
files. Previously packages that relied on implicitindex.js
resolution rules didn't work with esbuild under Yarn PnP. Removing this slash has fixed esbuild's path resolution behavior regardingindex.js
, which should now the same both with and without Yarn PnP. -
Fix Yarn PnP support for
extends
intsconfig.json
(#2456)Previously using
extends
intsconfig.json
with a path in a Yarn PnP package didn't work. This is because the process of setting up package path resolution rules requires parsingtsconfig.json
files (due to thebaseUrl
andpaths
features) and resolvingextends
to a package path requires package path resolution rules to already be set up, which is a circular dependency. This cycle is broken by using special rules forextends
intsconfig.json
that bypasses esbuild's normal package path resolution process. This is why usingextends
with a Yarn PnP package didn't automatically work. With this release, these special rules have been modified to check for a Yarn PnP manifest so this case should work now. -
Fix Yarn PnP support in
esbuild-wasm
(#2458)When running esbuild via WebAssembly, Yarn PnP support previously failed because Go's file system internals return
EINVAL
when trying to read a.zip
file as a directory when run with WebAssembly. This was unexpected because Go's file system internals returnENOTDIR
for this case on native. This release updates esbuild to treatEINVAL
likeENOTDIR
in this case, which fixes usingesbuild-wasm
to bundle a Yarn PnP project.Note that to be able to use
esbuild-wasm
for Yarn PnP successfully, you currently have to run it usingnode
instead ofyarn node
. This is because the file system shim that Yarn overwrites node's native file system API with currently generates invalid file descriptors with negative values when inside a.zip
file. This prevents esbuild from working correctly because Go's file system internals don't expect syscalls that succeed without an error to return an invalid file descriptor. Yarn is working on fixing their use of invalid file descriptors.
v0.15.1
-
Update esbuild's Yarn Plug'n'Play implementation to match the latest specification changes (#2452, #2453)
This release updates esbuild's implementation of Yarn Plug'n'Play to match some changes to Yarn's specification that just landed. The changes are as follows:
-
Check for platform-specific absolute paths instead of always for the
/
prefixThe specification previously said that Yarn Plug'n'Play path resolution rules should not apply for paths that start with
/
. The intent was to avoid accidentally processing absolute paths. However, absolute paths on Windows such asC:\project
start with drive letters instead of with/
. So the specification was changed to instead explicitly avoid processing absolute paths. -
Make
$$virtual
an alias for__virtual__
Supporting Yarn-style path resolution requires implementing a custom Yarn-specific path traversal scheme where certain path segments are considered no-ops. Specifically any path containing segments of the form
__virtual__/<whatever>/<n>
where<n>
is an integer must be treated as if they weren
times the..
operator instead (the<whatever>
path segment is ignored). So/path/to/project/__virtual__/xyz/2/foo.js
maps to the underlying file/path/to/project/../../foo.js
. This scheme makes it possible for Yarn to get node (and esbuild) to load the same file multiple times (which is sometimes required for correctness) without actually duplicating the file on the file system.However, old versions of Yarn used to use
$$virtual
instead of__virtual__
. This was changed because$$virtual
was error-prone due to the use of the$
character, which can cause bugs when it's not correctly escaped within regular expressions. Now that esbuild makes$$virtual
an alias for__virtual__
, esbuild should now work with manifests from these old Yarn versions. -
Ignore PnP manifests in virtual directories
The specification describes the algorithm for how to find the Plug'n'Play manifest when starting from a certain point in the file system: search through all parent directories in reverse order until the manifest is found. However, this interacts poorly with virtual paths since it can end up finding a virtual copy of the manifest instead of the original. To avoid this, esbuild now ignores manifests in virtual directories so that the search for the manifest will continue and find the original manifest in another parent directory later on.
These fixes mean that esbuild's implementation of Plug'n'Play now matches Yarn's implementation more closely, and esbuild can now correctly build more projects that use Plug'n'Play.
-
v0.15.0
This release contains backwards-incompatible changes. Since esbuild is before version 1.0.0, these changes have been released as a new minor version to reflect this (as recommended by npm). You should either be pinning the exact version of esbuild
in your package.json
file or be using a version range syntax that only accepts patch upgrades such as ~0.14.0
. See the documentation about semver for more information.
-
Implement the Yarn Plug'n'Play module resolution algorithm (#154, #237, #1263, #2451)
Node comes with a package manager called npm, which installs packages into a
node_modules
folder. Node and esbuild both come with built-in rules for resolving import paths to packages withinnode_modules
, so packages installed via npm work automatically without any configuration. However, many people use an alternative package manager called Yarn. While Yarn can install packages usingnode_modules
, it also offers a different package installation strategy called Plug'n'Play, which is often shortened to "PnP" (not to be confused with pnpm, which is an entirely different unrelated package manager).Plug'n'Play installs packages as
.zip
files on your file system. The packages are never actually unzipped. Since Node doesn't know anything about Yarn's package installation strategy, this means you can no longer run your code with Node as it won't be able to find your packages. Instead, you need to run your code with Yarn, which applies patches to Node's file system APIs before running your code. These patches attempt to make zip files seem like normal directories. When running under Yarn, using Node's file system API to read./some.zip/lib/file.js
actually automatically extractslib/file.js
from./some.zip
at run-time as if it was a normal file. Other file system APIs behave similarly. However, these patches don't work with esbuild because esbuild is not written in JavaScript; it's a native binary executable that interacts with the file system directly through the operating system.Previously the workaround for using esbuild with Plug'n'Play was to use the
@yarnpkg/esbuild-plugin-pnp
plugin with esbuild's JavaScript API. However, this wasn't great because the plugin needed to potentially intercept every single import path and file load to check whether it was a Plug'n'Play package, which has an unusually high performance cost. It also meant that certain subtleties of path resolution rules within a.zip
file could differ slightly from the way esbuild normally works since path resolution inside.zip
files was implemented by Yarn, not by esbuild (which is due to a limitation of esbuild's plugin API).With this release, esbuild now contains an independent implementation of Yarn's Plug'n'Play algorithm (which is used when esbuild finds a
.pnp.js
,.pnp.cjs
, or.pnp.data.json
file in the directory tree). Creating additional implementations of this algorithm recently became possible because Yarn's package manifest format was recently documented: https://yarnpkg.com/advanced/pnp-spec/. This should mean that you can now use esbuild to bundle Plug'n'Play projects without any additional configuration (so you shouldn't need@yarnpkg/esbuild-plugin-pnp
anymore). Bundling these projects should now happen much faster as Yarn no longer even needs to be run at all. Bundling the Yarn codebase itself with esbuild before and after this change seems to demonstrate over a 10x speedup (3.4s to 0.24s). And path resolution rules within Yarn packages should now be consistent with how esbuild handles regular Node packages. For example, fields such asmodule
andbrowser
inpackage.json
files within.zip
files should now be respected.Keep in mind that this is brand new code and there may be some initial issues to work through before esbuild's implementation is solid. Yarn's Plug'n'Play specification is also brand new and may need some follow-up edits to guide new implementations to match Yarn's exact behavior. If you try this out, make sure to test it before committing to using it, and let me know if anything isn't working as expected. Should you need to debug esbuild's path resolution, you may find
--log-level=verbose
helpful.
v0.14.54
-
Fix optimizations for calls containing spread arguments (#2445)
This release fixes the handling of spread arguments in the optimization of
/* @​__PURE__ */
comments, empty functions, and identity functions:// Original code function empty() {} function identity(x) { return x } /* @​__PURE__ */ a(...x) /* @​__PURE__ */ new b(...x) empty(...x) identity(...x) // Old output (with --minify --tree-shaking=true) ...x;...x;...x;...x; // New output (with --minify --tree-shaking=true) function identity(n){return n}[...x];[...x];[...x];identity(...x);
Previously esbuild assumed arguments with side effects could be directly inlined. This is almost always true except for spread arguments, which are not syntactically valid on their own and which have the side effect of causing iteration, which might have further side effects. Now esbuild will wrap these elements in an unused array so that they are syntactically valid and so that the iteration side effects are preserved.
v0.14.53
This release fixes a minor issue with the previous release: I had to rename the package esbuild-linux-loong64
to @esbuild/linux-loong64
in the contributed PR because someone registered the package name before I could claim it, and I missed a spot. Hopefully everything is working after this release. I plan to change all platform-specific package names to use the @esbuild/
scope at some point to avoid this problem in the future.
v0.14.52
-
Allow binary data as input to the JS
transform
andbuild
APIs (#2424)Previously esbuild's
transform
andbuild
APIs could only take a string. However, some people want to use esbuild to convert binary data to base64 text. This is problematic because JavaScript strings represent UTF-16 text and esbuild internally operates on arrays of bytes, so all strings coming from JavaScript undergo UTF-16 to UTF-8 conversion before use. This meant that using esbuild in this way was doing base64 encoding of the UTF-8 encoding of the text, which was undesired.With this release, esbuild now accepts
Uint8Array
in addition to string as an input format for thetransform
andbuild
APIs. Now you can use esbuild to convert binary data to base64 text:// Original code import esbuild from 'esbuild' console.log([ (await esbuild.transform('\xFF', { loader: 'base64' })).code, (await esbuild.build({ stdin: { contents: '\xFF', loader: 'base64' }, write: false })).outputFiles[0].text, ]) console.log([ (await esbuild.transform(new Uint8Array([0xFF]), { loader: 'base64' })).code, (await esbuild.build({ stdin: { contents: new Uint8Array([0xFF]), loader: 'base64' }, write: false })).outputFiles[0].text, ]) // Old output [ 'module.exports = "w78=";\n', 'module.exports = "w78=";\n' ] /* ERROR: The input to "transform" must be a string */ // New output [ 'module.exports = "w78=";\n', 'module.exports = "w78=";\n' ] [ 'module.exports = "/w==";\n', 'module.exports = "/w==";\n' ]
-
Update the getter for
text
in build results (#2423)Output files in build results returned from esbuild's JavaScript API have both a
contents
and atext
property to return the contents of the output file. Thecontents
property is a binary UTF-8 Uint8Array and thetext
property is a JavaScript UTF-16 string. Thetext
property is a getter that does the UTF-8 to UTF-16 conversion only if it's needed for better performance.Previously if you mutate the build results object, you had to overwrite both
contents
andtext
since the value returned from thetext
getter is the original text returned by esbuild. Some people find this confusing so with this release, the getter fortext
has been updated to do the UTF-8 to UTF-16 conversion on the current value of thecontents
property instead of the original value. -
Publish builds for Linux LoongArch 64-bit (#1804, #2373)
This release upgrades to Go 1.19, which now includes support for LoongArch 64-bit processors. LoongArch 64-bit builds of esbuild will now be published to npm, which means that in theory they can now be installed with
npm install esbuild
. This was contributed by @beyond-1234.
python/importlib_metadata
v4.12.0
=======
- py-93259: Now raise
ValueError
whenNone
or an empty string are passed toDistribution.from_name
(and other callers).
v4.11.4
=======
-
#379: In
PathDistribution._name_from_stem
, avoid including parts of the extension in the result. -
#381: In
PathDistribution._normalized_name
, ensure names loaded from the stem of the filename are also normalized, ensuring duplicate entry points by packages varying only by non-normalized name are hidden.
v4.11.3
=======
- #372: Removed cast of path items in FastPath, not needed.
v4.11.2
=======
-
#369: Fixed bug where
EntryPoint.extras
was returning match objects and not the extras strings.
v4.11.1
=======
-
#367: In
Distribution.requires
for egg-info, ifrequires.txt
is empty, return an empty list.
platformdirs/platformdirs
v2.5.2
- Move packaging to hatcling from setuptools
- Treat android shells as unix
v2.5.1
- Add native support for nuitka
sass/dart-sass
v1.54.4
- Improve error messages when passing incorrect units that are also out-of-bounds to various color functions.
v1.54.3
- Release a native ARM64 executable for Mac OS.
v1.54.2
- No user-visible changes.
v1.54.1
- When unifying selectors for
@extend
andselector.unify()
, ensure that:root
,:scope
,:host
, and:host-context
only appear at the beginning of complex selectors.
sdispater/tomlkit
v0.11.4
Fixed
- Fix a memory leak caused by
lru_cache
on methods. (#227)
v0.11.3
Fixed
- Fix a regression issue that copying an array results in extra
None
items. (#221) - Fix a regression of
array.add_line
that it incorrectly adds a comma to non-value lines. (#223)
v0.11.2
Fixed
tqdm/tqdm
v4.64.0
- add
contrib.slack
(#1313)
v4.63.2
-
rich
: exposeoptions
kwargs (#1282) -
autonotebook
: re-enable VSCode (#1309) - misc docs typos (#1301, #1299)
- update dev dependencies (#1311)
v4.63.1
v4.63.0
- add
__reversed__()
- add efficient
__contains__()
- improve CLI startup time (replace
pkg_resources
=>importlib
) -
tqdm.autonotebook
warning &std
fallback on missingipywidgets
(#1218 <- #1082, #1217) - warn on positional CLI arguments
- misc build/test framework updates
- enable
py3.10
tests - add
conda
dependencies - update pre-commit hooks
- fix
pytest
config (nbval
,asyncio
) - fix dependencies & tests
- fix site deployment
- enable
python/typing_extensions
v4.3.0
- Add
typing_extensions.NamedTuple
, allowing for genericNamedTuple
s on Python <3.11 (backport from python/cpython#92027, by Serhiy Storchaka). Patch by Alex Waygood (@AlexWaygood). - Adjust
typing_extensions.TypedDict
to allow for genericTypedDict
s on Python <3.11 (backport from python/cpython#27663, by Samodya Abey). Patch by Alex Waygood (@AlexWaygood).
v4.2.0
- Re-export
typing.Unpack
andtyping.TypeVarTuple
on Python 3.11. - Add
ParamSpecArgs
andParamSpecKwargs
to__all__
. - Improve "accepts only single type" error messages.
- Improve the distributed package. Patch by Marc Mueller (@cdce8p).
- Update
typing_extensions.dataclass_transform
to rename thefield_descriptors
parameter tofield_specifiers
and accept arbitrary keyword arguments. - Add
typing_extensions.get_overloads
andtyping_extensions.clear_overloads
, and add registry support totyping_extensions.overload
. Backport from python/cpython#89263. - Add
typing_extensions.assert_type
. Backport from bpo-46480. - Drop support for Python 3.6. Original patch by Adam Turner (@AA-Turner).
v4.1.1
- Fix importing
typing_extensions
on Python 3.7.0 and 3.7.1. Original patch by Nikita Sobolev (@sobolevn).
jaraco/zipp
v3.8.1
======
Refreshed packaging.
Enrolled with Tidelift.
v3.8.0
======
Removed compatibility code.
Configuration
📅 Schedule: Branch creation - "on monday before 8:00am" in timezone America/Chicago, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- [ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.