From 25c95e9becf4d2b281a62f9d5f23294fe275d658 Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Sat, 31 Dec 2022 14:24:30 +0000 Subject: [PATCH] Use standalone extra files (#2849) --- .config/requirements-docs.txt | 8 + .config/requirements-lock.txt | 39 +++ .config/requirements-test.txt | 12 + .config/requirements.in | 15 ++ requirements.txt => .config/requirements.txt | 30 +-- .pre-commit-config.yaml | 37 ++- .readthedocs.yml | 2 +- cspell.config.yaml | 2 +- pyproject.toml | 52 +--- test/schemas/package-lock.json | 260 +++++++++---------- test/schemas/package.json | 22 +- tox.ini | 12 +- 12 files changed, 263 insertions(+), 228 deletions(-) create mode 100644 .config/requirements-docs.txt create mode 100644 .config/requirements-lock.txt create mode 100644 .config/requirements-test.txt create mode 100644 .config/requirements.in rename requirements.txt => .config/requirements.txt (78%) diff --git a/.config/requirements-docs.txt b/.config/requirements-docs.txt new file mode 100644 index 0000000000..03e0b588a7 --- /dev/null +++ b/.config/requirements-docs.txt @@ -0,0 +1,8 @@ +myst-parser >= 0.16.1 +pipdeptree >= 2.2.1 +sphinx >= 4.4.0 +sphinx-ansible-theme >= 0.9.1 +sphinx-rtd-theme >= 1.0.0, < 2.0.0 # 1.0.0 broke rendering +sphinxcontrib-apidoc >= 0.3.0 +sphinxcontrib-programoutput2 >= 2.0a1 + diff --git a/.config/requirements-lock.txt b/.config/requirements-lock.txt new file mode 100644 index 0000000000..0a82fe0292 --- /dev/null +++ b/.config/requirements-lock.txt @@ -0,0 +1,39 @@ +# +# This file is autogenerated by pip-compile with Python 3.9 +# by the following command: +# +# pip-compile --no-annotate --output-file=.config/requirements-lock.txt --resolver=backtracking --strip-extras pyproject.toml +# +ansible-compat==2.2.7 +ansible-core==2.14.1 ; python_version >= "3.9" +attrs==22.2.0 +black==22.12.0 +bracex==2.3.post1 +cffi==1.15.1 +click==8.1.3 +commonmark==0.9.1 +cryptography==38.0.4 +filelock==3.9.0 +jinja2==3.1.2 +jsonschema==4.17.3 +markupsafe==2.1.1 +mypy-extensions==0.4.3 +packaging==22.0 +pathspec==0.10.3 +platformdirs==2.6.2 +pycparser==2.21 +pygments==2.13.0 +pyrsistent==0.19.3 +pyyaml==6.0 +resolvelib==0.8.1 +rich==13.0.0 +ruamel-yaml==0.17.21 +ruamel-yaml-clib==0.2.7 +subprocess-tee==0.4.1 +tomli==2.0.1 +typing-extensions==4.4.0 +wcmatch==8.4.1 +yamllint==1.28.0 + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/.config/requirements-test.txt b/.config/requirements-test.txt new file mode 100644 index 0000000000..de4f6daa34 --- /dev/null +++ b/.config/requirements-test.txt @@ -0,0 +1,12 @@ +coverage-enable-subprocess # see https://github.com/nedbat/coveragepy/issues/1341#issuecomment-1228942657 +coverage[toml] >= 6.4.4 +pytest >= 7.2.0 +pytest-mock +pytest-plus >= 0.2 # for PYTEST_REQPASS +pytest-xdist >= 2.1.0 +psutil # soft-dep of pytest-xdist +black # IDE support +mypy # IDE support +pylint # IDE support +flake8 # IDE support +flake8-future-annotations # IDE support diff --git a/.config/requirements.in b/.config/requirements.in new file mode 100644 index 0000000000..94585501b2 --- /dev/null +++ b/.config/requirements.in @@ -0,0 +1,15 @@ +# Special order section for helping pip: +will-not-work-on-windows-try-from-wsl-instead; platform_system=='Windows' +ansible-core>=2.12.0,<2.14.0; python_version<'3.9' # GPLv3 +ansible-core>=2.12.0; python_version>='3.9' # GPLv3 +ansible-compat>=2.2.7 # GPLv3 +# alphabetically sorted: +black>=22.8.0 # MIT +filelock>=3.3.0 # The Unlicense +jsonschema>=4.10.0 # MIT, version needed for improved errors +packaging>=21.3 # Apache-2.0,BSD-2-Clause +pyyaml>=5.4.1 # MIT (centos 9 has 5.3.1) +rich>=12.0.0 # MIT +ruamel.yaml>=0.17.21,<0.18 # MIT, next version is planned to have breaking changes +yamllint >= 1.26.3 # GPLv3 +wcmatch>=8.1.2 # MIT diff --git a/requirements.txt b/.config/requirements.txt similarity index 78% rename from requirements.txt rename to .config/requirements.txt index a7c0fdb02e..3a69b101bc 100644 --- a/requirements.txt +++ b/.config/requirements.txt @@ -2,13 +2,13 @@ # This file is autogenerated by pip-compile with Python 3.9 # by the following command: # -# pip-compile --extra=docs --extra=test --no-annotate --output-file=requirements.txt --resolver=backtracking --strip-extras --unsafe-package=ansible-core pyproject.toml +# pip-compile --extra=docs --extra=lock --extra=test --no-annotate --output-file=.config/requirements.txt --resolver=backtracking --strip-extras --unsafe-package=ansible-core pyproject.toml # alabaster==0.7.12 ansible-compat==2.2.7 ansible-pygments==0.1.1 astroid==2.12.13 -attrs==22.1.0 +attrs==22.2.0 babel==2.11.0 black==22.12.0 bracex==2.3.post1 @@ -17,21 +17,21 @@ cffi==1.15.1 charset-normalizer==2.1.1 click==8.1.3 commonmark==0.9.1 -coverage==6.5.0 +coverage==7.0.1 coverage-enable-subprocess==1.0 cryptography==38.0.4 dill==0.3.6 docutils==0.17.1 -exceptiongroup==1.0.4 +exceptiongroup==1.1.0 execnet==1.9.0 -filelock==3.8.2 +filelock==3.9.0 flake8==6.0.0 flake8-future-annotations==1.0.0 idna==3.4 imagesize==1.4.1 -importlib-metadata==5.1.0 +importlib-metadata==5.2.0 iniconfig==1.1.1 -isort==5.10.1 +isort==5.11.4 jinja2==3.1.2 jsonschema==4.17.3 lazy-object-proxy==1.8.0 @@ -40,7 +40,6 @@ markupsafe==2.1.1 mccabe==0.7.0 mdit-py-plugins==0.3.3 mdurl==0.1.2 -more-itertools==9.0.0 mypy==0.991 mypy-extensions==0.4.3 myst-parser==0.18.1 @@ -48,26 +47,27 @@ packaging==22.0 pathspec==0.10.3 pbr==5.11.0 pipdeptree==2.3.3 -platformdirs==2.6.0 +platformdirs==2.6.2 pluggy==1.0.0 psutil==5.9.4 pycodestyle==2.10.0 pycparser==2.21 pyflakes==3.0.1 pygments==2.13.0 -pylint==2.15.8 -pyrsistent==0.19.2 +pylint==2.15.9 +pyrsistent==0.19.3 pytest==7.2.0 pytest-mock==3.10.0 -pytest-plus==0.2 +pytest-plus==0.4.0 pytest-xdist==3.1.0 -pytz==2022.6 +pytz==2022.7 pyyaml==6.0 requests==2.28.1 resolvelib==0.8.1 -rich==12.6.0 +rich==13.0.0 ruamel-yaml==0.17.21 ruamel-yaml-clib==0.2.7 +setuptools==65.6.3 snowballstemmer==2.2.0 sphinx==5.3.0 sphinx-ansible-theme==0.10.1 @@ -80,7 +80,7 @@ sphinxcontrib-jsmath==1.0.1 sphinxcontrib-programoutput2==2.0a1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 -subprocess-tee==0.4.0 +subprocess-tee==0.4.1 tomli==2.0.1 tomlkit==0.11.6 typing-extensions==4.4.0 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9eef341636..a1f7dd91a3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,6 +13,7 @@ ci: - schemas exclude: > (?x)^( + .config/requirements.*| .vscode/extensions.json| .vscode/settings.json| examples/broken/encoding.j2| @@ -55,7 +56,7 @@ repos: - prettier-plugin-toml - prettier-plugin-sort-json - repo: https://github.com/streetsidesoftware/cspell-cli - rev: v6.16.0 + rev: v6.17.1 hooks: - id: cspell # entry: codespell --relative @@ -107,7 +108,7 @@ repos: additional_dependencies: - tomli - repo: https://github.com/PyCQA/doc8 - rev: v1.0.0 + rev: v1.1.1 hooks: - id: doc8 - repo: https://github.com/adrienverge/yamllint.git @@ -126,14 +127,14 @@ repos: types: [file, yaml] entry: yamllint --strict - repo: https://github.com/PyCQA/isort - rev: 5.10.1 + rev: 5.11.4 hooks: - id: isort args: # https://github.com/pre-commit/mirrors-isort/issues/9#issuecomment-624404082 - --filter-files - repo: https://github.com/psf/black - rev: 22.10.0 + rev: 22.12.0 hooks: - id: black language_version: python3 @@ -150,7 +151,7 @@ repos: - flake8-future-annotations>=0.0.3 - repo: https://github.com/asottile/pyupgrade # keep it after flake8 - rev: v3.3.0 + rev: v3.3.1 hooks: - id: pyupgrade args: ["--py38-plus"] @@ -183,7 +184,7 @@ repos: plugins/.* )$ - repo: https://github.com/pycqa/pylint - rev: v2.15.8 + rev: v2.15.9 hooks: - id: pylint args: @@ -204,20 +205,34 @@ repos: - wcmatch - yamllint - repo: https://github.com/jazzband/pip-tools - rev: 6.11.0 + rev: 6.12.1 hooks: - id: pip-compile - entry: pip-compile --resolver=backtracking -q --no-annotate --output-file=requirements.txt pyproject.toml --extra docs --extra test --strip-extras --unsafe-package ansible-core + name: lock + always_run: true + entry: pip-compile --resolver=backtracking -q --no-annotate --output-file=.config/requirements-lock.txt pyproject.toml --strip-extras language: python - files: ^(requirements\.txt|pyproject\.toml)$ + files: ^.config\/requirements.*$ + alias: lock + stages: [manual] + language_version: "3.9" # minimal we support officially + additional_dependencies: + - pip>=22.3.1 + - id: pip-compile + name: deps + entry: pip-compile --resolver=backtracking -q --no-annotate --output-file=.config/requirements.txt pyproject.toml --extra docs --extra test --extra lock --strip-extras --unsafe-package ansible-core + language: python + files: ^.config\/requirements.*$ alias: deps language_version: "3.9" # minimal we support officially + always_run: true additional_dependencies: - pip>=22.3.1 - id: pip-compile - entry: pip-compile --resolver=backtracking -q --no-annotate --output-file=requirements.txt pyproject.toml --extra docs --extra test --strip-extras --unsafe-package ansible-core --upgrade + entry: pip-compile --resolver=backtracking -q --no-annotate --output-file=.config/requirements.txt pyproject.toml --extra docs --extra test --strip-extras --unsafe-package ansible-core --upgrade language: python - files: ^(requirements\.txt|pyproject\.toml)$ + always_run: true + files: ^.config\/requirements.*$ alias: up stages: [manual] language_version: "3.9" # minimal we support officially diff --git a/.readthedocs.yml b/.readthedocs.yml index 8676c03905..1cfd9b82ec 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -42,7 +42,7 @@ build: # version: "3.9" # install: # # On https://readthedocs.org/dashboard/ansible-lint/environmentvariables/ we -# # do have PIP_CONSTRAINTS=requirements.txt which ensures we install only +# # do have PIP_CONSTRAINTS=.config/requirements.txt which ensures we install only # # pinned requirements that that we know to be working. # - method: pip # path: . diff --git a/cspell.config.yaml b/cspell.config.yaml index ea862fa5aa..fce0237cbc 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -12,7 +12,7 @@ dictionaries: ignorePaths: - cspell.config.yaml # The requirements file - - requirements.txt + - .config/requirements.txt - docs/requirements.txt - docs/requirements.in # Test fixtures generated from outside diff --git a/pyproject.toml b/pyproject.toml index cc30bc749c..7e250c2f64 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta" [project] # https://peps.python.org/pep-0621/#readme requires-python = ">=3.8" -dynamic = ["version"] +dynamic = ["version", "dependencies", "optional-dependencies"] name = "ansible-lint" description = "Checks playbooks for practices and behavior that could potentially be improved" readme = "README.md" @@ -39,24 +39,6 @@ classifiers = [ "Topic :: Utilities", ] keywords = ["ansible", "lint"] -dependencies = [ - # Special order section for helping pip: - "will-not-work-on-windows-try-from-wsl-instead; platform_system=='Windows'", - "ansible-core>=2.12.0,<2.14.0; python_version<'3.9'", # GPLv3 - "ansible-core>=2.12.0; python_version>='3.9'", # GPLv3 - "ansible-compat>=2.2.7", # GPLv3 - # alphabetically sorted: - "black>=22.8.0", # MIT - "filelock>=3.3.0", # The Unlicense - "jsonschema>=4.10.0", # MIT, version needed for improved errors - "packaging>=21.3", # Apache-2.0,BSD-2-Clause - "pyyaml>=5.4.1", # MIT (centos 9 has 5.3.1) - "rich>=12.0.0", # MIT - "ruamel.yaml>=0.17.21,<0.18", # MIT, next version is planned to have breaking changes - "yamllint >= 1.26.3", # GPLv3 - "wcmatch>=8.1.2", # MIT - -] [project.urls] homepage = "https://github.com/ansible/ansible-lint" @@ -64,32 +46,6 @@ documentation = "https://ansible-lint.readthedocs.io/" repository = "https://github.com/ansible/ansible-lint" changelog = "https://github.com/ansible/ansible-lint/releases" -[project.optional-dependencies] -docs = [ - "myst-parser >= 0.16.1", - "pipdeptree >= 2.2.1", - "sphinx >= 4.4.0", - "sphinx-ansible-theme >= 0.9.1", - "sphinx-rtd-theme >= 1.0.0, < 2.0.0", # 1.0.0 broke rendering - "sphinxcontrib-apidoc >= 0.3.0", - "sphinxcontrib-programoutput2 >= 2.0a1", -] -test = [ - "coverage-enable-subprocess", # see https://github.com/nedbat/coveragepy/issues/1341#issuecomment-1228942657 - "coverage[toml] >= 6.4.4", - "pytest >= 7.2.0", - "pytest-mock", - "pytest-plus >= 0.2", # for PYTEST_REQPASS - "pytest-xdist >= 2.1.0", - "psutil", # soft-dep of pytest-xdist - "black", # IDE support - "mypy", # IDE support - "pylint", # IDE support - "flake8", # IDE support - "flake8-future-annotations", # IDE support - -] - [project.scripts] ansible-lint = "ansiblelint.__main__:_run_cli_entrypoint" @@ -245,6 +201,12 @@ markers = [ "formatting_fixtures: Test that regenerates and tests formatting fixtures (requires prettier on PATH)" ] +[tool.setuptools.dynamic] +optional-dependencies.docs = { file = [".config/requirements-docs.txt"] } +optional-dependencies.test = { file = [".config/requirements-test.txt"] } +optional-dependencies.lock = { file = [".config/requirements-lock.txt"] } +dependencies = { file = [".config/requirements.in"] } + [tool.setuptools_scm] local_scheme = "no-local-version" write_to = "src/ansiblelint/_version.py" diff --git a/test/schemas/package-lock.json b/test/schemas/package-lock.json index a0dce7b23b..aa0035526e 100644 --- a/test/schemas/package-lock.json +++ b/test/schemas/package-lock.json @@ -8,20 +8,20 @@ "ajv-cli": "^5.0.0", "ajv-formats": "^2.1.1", "js-yaml": "^4.1.0", - "safe-stable-stringify": "^2.3.1", + "safe-stable-stringify": "^2.4.2", "ts-node": "^10.9.1", - "vscode-json-languageservice": "^5.1.0" + "vscode-json-languageservice": "^5.1.3" }, "devDependencies": { - "@types/chai": "^4.3.3", + "@types/chai": "^4.3.4", "@types/js-yaml": "^4.0.5", - "@types/minimatch": "^3.0.5", - "@types/mocha": "^9.1.1", - "@types/node": "^18.7.6", - "chai": "^4.3.6", - "minimatch": "^5.1.0", - "mocha": "^10.0.0", - "typescript": "^4.7.4" + "@types/minimatch": "^5.1.2", + "@types/mocha": "^10.0.1", + "@types/node": "^18.11.18", + "chai": "^4.3.7", + "minimatch": "^5.1.2", + "mocha": "^10.2.0", + "typescript": "^4.9.4" } }, "node_modules/@cspotcode/source-map-support": { @@ -78,9 +78,9 @@ "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" }, "node_modules/@types/chai": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", - "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", "dev": true }, "node_modules/@types/js-yaml": { @@ -90,27 +90,26 @@ "dev": true }, "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true }, "node_modules/@types/mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", + "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", "dev": true }, "node_modules/@types/node": { - "version": "18.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.6.tgz", - "integrity": "sha512-EdxgKRXgYsNITy5mjjXjVE/CS8YENSdhiagGrLqjG0pvA2owgJ6i4l7wy/PFZGC0B1/H20lWKN7ONVDNYDZm7A==" - }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + }, + "node_modules/@vscode/l10n": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.10.tgz", + "integrity": "sha512-E1OCmDcDWa0Ya7vtSjp/XfHFGqYJfh+YPC1RkATU71fTac+j1JjCcB3qwSzmlKAighx2WxhLlfhS0RwAN++PFQ==" }, "node_modules/acorn": { "version": "8.6.0", @@ -326,14 +325,14 @@ } }, "node_modules/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", - "deep-eql": "^3.0.1", + "deep-eql": "^4.1.2", "get-func-name": "^2.0.0", "loupe": "^2.3.1", "pathval": "^1.1.1", @@ -482,15 +481,15 @@ } }, "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "dependencies": { "type-detect": "^4.0.0" }, "engines": { - "node": ">=0.12" + "node": ">=6" } }, "node_modules/diff": { @@ -821,9 +820,9 @@ } }, "node_modules/jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "node_modules/locate-path": { "version": "6.0.0", @@ -871,9 +870,9 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -897,12 +896,11 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "node_modules/mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", "dev": true, "dependencies": { - "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.3", @@ -1128,9 +1126,9 @@ ] }, "node_modules/safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz", + "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==", "engines": { "node": ">=10" } @@ -1274,9 +1272,9 @@ } }, "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -1299,36 +1297,31 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, "node_modules/vscode-json-languageservice": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.1.0.tgz", - "integrity": "sha512-D5612D7h/Gh4A0JmdttPveWzT9dur21WXvBHWKPdOt0sLO6ILz8vN6+IzWnvwDOVAEFTpzIAMVMZwbKZkwGGiA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.1.3.tgz", + "integrity": "sha512-p0O1Ql5+zyWFIBU4cSxnDcuq9OnbE0MmvNKDYYvz4EPsZ9EHBT3I6KJb5Gk3snkj+jQTFILEZ06cfY7WZxxqPw==", "dependencies": { - "jsonc-parser": "^3.1.0", - "vscode-languageserver-textdocument": "^1.0.4", - "vscode-languageserver-types": "^3.17.1", - "vscode-nls": "^5.0.1", - "vscode-uri": "^3.0.3" + "@vscode/l10n": "^0.0.10", + "jsonc-parser": "^3.2.0", + "vscode-languageserver-textdocument": "^1.0.7", + "vscode-languageserver-types": "^3.17.2", + "vscode-uri": "^3.0.6" } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz", - "integrity": "sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==" }, "node_modules/vscode-languageserver-types": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz", - "integrity": "sha512-K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ==" - }, - "node_modules/vscode-nls": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.1.tgz", - "integrity": "sha512-hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==" + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz", + "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" }, "node_modules/vscode-uri": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz", - "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==" }, "node_modules/workerpool": { "version": "6.2.1", @@ -1479,9 +1472,9 @@ "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" }, "@types/chai": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", - "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", "dev": true }, "@types/js-yaml": { @@ -1491,27 +1484,26 @@ "dev": true }, "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true }, "@types/mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", + "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", "dev": true }, "@types/node": { - "version": "18.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.6.tgz", - "integrity": "sha512-EdxgKRXgYsNITy5mjjXjVE/CS8YENSdhiagGrLqjG0pvA2owgJ6i4l7wy/PFZGC0B1/H20lWKN7ONVDNYDZm7A==" - }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + }, + "@vscode/l10n": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.10.tgz", + "integrity": "sha512-E1OCmDcDWa0Ya7vtSjp/XfHFGqYJfh+YPC1RkATU71fTac+j1JjCcB3qwSzmlKAighx2WxhLlfhS0RwAN++PFQ==" }, "acorn": { "version": "8.6.0", @@ -1664,14 +1656,14 @@ "dev": true }, "chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", - "deep-eql": "^3.0.1", + "deep-eql": "^4.1.2", "get-func-name": "^2.0.0", "loupe": "^2.3.1", "pathval": "^1.1.1", @@ -1781,9 +1773,9 @@ "dev": true }, "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "requires": { "type-detect": "^4.0.0" @@ -2023,9 +2015,9 @@ } }, "jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "locate-path": { "version": "6.0.0", @@ -2061,9 +2053,9 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -2086,12 +2078,11 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", "dev": true, "requires": { - "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.3", @@ -2243,9 +2234,9 @@ "dev": true }, "safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz", + "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==" }, "serialize-javascript": { "version": "6.0.0", @@ -2339,9 +2330,9 @@ "dev": true }, "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==" }, "uri-js": { "version": "4.4.1", @@ -2357,36 +2348,31 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, "vscode-json-languageservice": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.1.0.tgz", - "integrity": "sha512-D5612D7h/Gh4A0JmdttPveWzT9dur21WXvBHWKPdOt0sLO6ILz8vN6+IzWnvwDOVAEFTpzIAMVMZwbKZkwGGiA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.1.3.tgz", + "integrity": "sha512-p0O1Ql5+zyWFIBU4cSxnDcuq9OnbE0MmvNKDYYvz4EPsZ9EHBT3I6KJb5Gk3snkj+jQTFILEZ06cfY7WZxxqPw==", "requires": { - "jsonc-parser": "^3.1.0", - "vscode-languageserver-textdocument": "^1.0.4", - "vscode-languageserver-types": "^3.17.1", - "vscode-nls": "^5.0.1", - "vscode-uri": "^3.0.3" + "@vscode/l10n": "^0.0.10", + "jsonc-parser": "^3.2.0", + "vscode-languageserver-textdocument": "^1.0.7", + "vscode-languageserver-types": "^3.17.2", + "vscode-uri": "^3.0.6" } }, "vscode-languageserver-textdocument": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz", - "integrity": "sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==" }, "vscode-languageserver-types": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz", - "integrity": "sha512-K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ==" - }, - "vscode-nls": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.1.tgz", - "integrity": "sha512-hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==" + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz", + "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" }, "vscode-uri": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz", - "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==" }, "workerpool": { "version": "6.2.1", diff --git a/test/schemas/package.json b/test/schemas/package.json index 6fa8179a56..4b3e48839f 100644 --- a/test/schemas/package.json +++ b/test/schemas/package.json @@ -3,25 +3,25 @@ "ajv-cli": "^5.0.0", "ajv-formats": "^2.1.1", "js-yaml": "^4.1.0", - "safe-stable-stringify": "^2.3.1", + "safe-stable-stringify": "^2.4.2", "ts-node": "^10.9.1", - "vscode-json-languageservice": "^5.1.0" + "vscode-json-languageservice": "^5.1.3" }, "scripts": { "compile": "tsc -p ./src", - "deps": "npx npm-check-updates -u && npm install --ignore-scripts", + "deps": "npx --yes npm-check-updates -u && npm install --ignore-scripts", "test": "python3 src/rebuild.py && mocha" }, "devDependencies": { - "@types/chai": "^4.3.3", + "@types/chai": "^4.3.4", "@types/js-yaml": "^4.0.5", - "@types/minimatch": "^3.0.5", - "@types/mocha": "^9.1.1", - "@types/node": "^18.7.6", - "chai": "^4.3.6", - "minimatch": "^5.1.0", - "mocha": "^10.0.0", - "typescript": "^4.7.4" + "@types/minimatch": "^5.1.2", + "@types/mocha": "^10.0.1", + "@types/node": "^18.11.18", + "chai": "^4.3.7", + "minimatch": "^5.1.2", + "mocha": "^10.2.0", + "typescript": "^4.9.4" }, "directories": { "test": "./src" diff --git a/tox.ini b/tox.ini index 7fec019406..3743eac220 100644 --- a/tox.ini +++ b/tox.ini @@ -52,8 +52,8 @@ setenv = devel: ANSIBLE_DEVEL_WARNING = false COVERAGE_FILE = {env:COVERAGE_FILE:{toxworkdir}/.coverage.{envname}} COVERAGE_PROCESS_START={toxinidir}/pyproject.toml - PIP_CONSTRAINT = {toxinidir}/requirements.txt - devel,py38: PIP_CONSTRAINT = /dev/null + PIP_CONSTRAINT = {toxinidir}/.config/requirements.txt + devel,py38,pkg: PIP_CONSTRAINT = /dev/null PIP_DISABLE_PIP_VERSION_CHECK = 1 PRE_COMMIT_COLOR = always FORCE_COLOR = 1 @@ -107,12 +107,12 @@ setenv = # without his upgrade would likely not do anything PIP_CONSTRAINT = /dev/null commands = + pre-commit run --all-files --show-diff-on-failure --hook-stage manual lock pre-commit run --all-files --show-diff-on-failure --hook-stage manual up - pre-commit run --all-files --show-diff-on-failure --hook-stage manual schemas # Update pre-commit hooks pre-commit autoupdate # Update npm deps - bash -c "cd src/schemas && npm run deps" + sh -c "cd test/schemas && npm run deps" # We fail if files are modified at the end git diff --exit-code @@ -120,8 +120,6 @@ commands = description = Builds docs deps = --editable .[docs,test] -setenv = - PIP_CONSTRAINT = {toxinidir}/requirements.txt commands = # regenerate docs for rules sh -c "cd {toxinidir} && ansible-lint -L -f docs" @@ -210,7 +208,7 @@ commands = # Validate metadata using twine twine check --strict {toxinidir}/dist/* # Install the wheel - sh -c "python3 -m pip install {toxinidir}/dist/*.whl" + sh -c 'python3 -m pip install "ansible-lint[lock] @ file://$(echo {toxinidir}/dist/*.whl)"' # Uninstall it python3 -m pip uninstall -y ansible-lint