Generate code from JSON schema files

Overview

Build Status

json-schema-codegen

Generate code from JSON schema files.

Table of contents

Introduction

This is a command line tool to take a json-schema file and generate code automatically.

For instance this json-schema definition:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Test",
  "type": "object",
  "properties": {
    "id": { "type": "integer" }
  }
}

will generate this Python code:

class Test(object):
    def __init__(self, data=None):
        data = data or {}

        self.id = data.get("id")

or this JavaScript+Flow code:

export class Test {
  id: ?number;

  constructor(data: Object = {}) {
    this.id = data.id;
  }
}

Currently this tool generates code for Python and JavaScript with Flow annotations but it can be extended to generate code for any language.

The code generation is divided in two stages:

  1. generate the AST for the target language from the json-schema file
  2. convert the AST into the target language

This allows the tool to be language agnostic, that is it just needs to generate the AST in JSON format for the target language and then a language specific tool will convert this AST into proper code.

Currently supported languages

List of currently supported languages:

  • Python 2.7+
  • JavaScript ES7+ with Flow annotations
  • pure Flow annotations

Requirements

  • Python 3.x
  • Node v8.4+

Installation

Until this pull request in setuptools is fixed, the only way to install json-schema-codegen is to clone the repo:

git clone https://github.com/expobrain/json-schema-codegen.git

Usage

usage: json_codegen.py [-h] [--prefix PREFIX] [--language LANGUAGE]
                       [--output OUTPUT]
                       schema

positional arguments:
  schema                Definition of the PRD as JSON schema

optional arguments:
  -h, --help            show this help message and exit
  --prefix PREFIX, -p PREFIX
                        Optional prefix for generated classes
  --language LANGUAGE, -l LANGUAGE
                        Output language. Default is python
  --output OUTPUT, -o OUTPUT
                        Output filename for the generated code

Code generation

Python 2

The generation of Python's code is integrated into the tool so it needs just a single invocation:

json_codegen --language python --output <output_py_file> <json-schema>

Python 3

The egenerator of pure Python 3 compatible code:

json_codegen --language python3 --output <output_py_file> <json-schema>

Python 3+Marshmallow

The generation of Python 3's code with Marshmallow support is integrated into the tool so it needs just a single invocation:

json_codegen --language python3+marshmallow --output <output_py_file> <json-schema>

JavaScript+Flow and Flow

Generating JavaScript+Flow and Flow code involves two steps, generating the AST:

json_codegen --language [javascript+flow|flow] --output <output_ast_json> <json-schema>

and generating the code from the AST:

bin/ast_to_js <output_ast_json> <output_js_file>
Comments
  • Feature/python3

    Feature/python3

    Hi! Thanks for the package.

    This PR is to generate Python classes from JSON schema with type hinting + a marshmallow schema class to enable serialisation + deserialisation.

    I haven't yet added all the tests, and will likely not add functionality for all json schema features (for now). The PR is a bit premature, sorry about that.

    opened by AkhilGNair 6
  • Bump webpack-cli from 4.10.0 to 5.0.0

    Bump webpack-cli from 4.10.0 to 5.0.0

    Bumps webpack-cli from 4.10.0 to 5.0.0.

    Release notes

    Sourced from webpack-cli's releases.

    v5.0.0

    5.0.0 (2022-11-17)

    Bug Fixes

    • improve description of the --disable-interpret option (#3364) (bdb7e20)
    • remove the redundant utils export (#3343) (a9ce5d0)
    • respect NODE_PATH env variable (#3411) (83d1f58)
    • show all CLI specific flags in the minimum help output (#3354) (35843e8)

    Features

    • failOnWarnings option (#3317) (c48c848)
    • update commander to v9 (#3460) (6621c02)
    • added the --define-process-env-node-env option
    • update interpret to v3 and rechoir to v0.8
    • add an option for preventing interpret (#3329) (c737383)

    BREAKING CHANGES

    • the minimum supported webpack version is v5.0.0 (#3342) (b1af0dc), closes #3342
    • webpack-cli no longer supports webpack v4, the minimum supported version is webpack v5.0.0
    • webpack-cli no longer supports webpack-dev-server v3, the minimum supported version is webpack-dev-server v4.0.0
    • remove the migrate command (#3291) (56b43e4), closes #3291
    • remove the --prefetch option in favor the PrefetchPlugin plugin
    • remove the --node-env option in favor --define-process-env-node-env
    • remove the --hot option in favor of directly using the HotModuleReplacement plugin (only for build command, for serve it will work)
    • the behavior logic of the --entry option has been changed - previously it replaced your entries, now the option adds a specified entry, if you want to return the previous behavior please use webpack --entry-reset --entry './src/my-entry.js'
    Changelog

    Sourced from webpack-cli's changelog.

    5.0.0 (2022-11-17)

    Bug Fixes

    • improve description of the --disable-interpret option (#3364) (bdb7e20)
    • remove the redundant utils export (#3343) (a9ce5d0)
    • respect NODE_PATH env variable (#3411) (83d1f58)
    • show all CLI specific flags in the minimum help output (#3354) (35843e8)

    Features

    • failOnWarnings option (#3317) (c48c848)
    • update commander to v9 (#3460) (6621c02)
    • added the --define-process-env-node-env option
    • update interpret to v3 and rechoir to v0.8
    • add an option for preventing interpret (#3329) (c737383)

    BREAKING CHANGES

    • the minimum supported webpack version is v5.0.0 (#3342) (b1af0dc), closes #3342
    • webpack-cli no longer supports webpack v4, the minimum supported version is webpack v5.0.0
    • webpack-cli no longer supports webpack-dev-server v3, the minimum supported version is webpack-dev-server v4.0.0
    • remove the migrate command (#3291) (56b43e4), closes #3291
    • remove the --prefetch option in favor the PrefetchPlugin plugin
    • remove the --node-env option in favor --define-process-env-node-env
    • remove the --hot option in favor of directly using the HotModuleReplacement plugin (only for build command, for serve it will work)
    • the behavior logic of the --entry option has been changed - previously it replaced your entries, now the option adds a specified entry, if you want to return the previous behavior please use webpack --entry-reset --entry './src/my-entry.js'
    Commits
    • 1d6ada1 chore(release): 5.0.0 (#3492)
    • 24334d9 refactor: resolve TODO for devServer.stdin
    • 49b6aea chore: peer deps in root package
    • 636ba3e chore(deps-dev): bump cspell from 6.12.0 to 6.14.2 (#3488)
    • f3016a5 chore(deps-dev): bump eslint from 8.24.0 to 8.27.0 (#3487)
    • 5782242 chore(deps-dev): bump lerna from 6.0.1 to 6.0.3 (#3486)
    • 80eb8c8 chore(deps-dev): bump @​commitlint/config-conventional (#3485)
    • 8ea9020 chore(deps-dev): bump ts-jest from 29.0.1 to 29.0.3 (#3484)
    • 515971a chore(deps-dev): bump css-loader from 6.7.1 to 6.7.2 (#3481)
    • f106109 chore(deps-dev): bump @​typescript-eslint/eslint-plugin
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 2
  • Bump babel-loader from 8.2.5 to 9.1.0

    Bump babel-loader from 8.2.5 to 9.1.0

    Bumps babel-loader from 8.2.5 to 9.1.0.

    Release notes

    Sourced from babel-loader's releases.

    v9.1.0

    New features

    Full Changelog: https://github.com/babel/babel-loader/compare/v9.0.1...v9.1.0

    v9.0.1

    Bug Fixes

    Full Changelog: https://github.com/babel/babel-loader/compare/v9.0.0...v9.0.1

    v9.0.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/babel/babel-loader/compare/v8.2.5...v9.0.0

    v8.3.0

    New features

    Full Changelog: https://github.com/babel/babel-loader/compare/v8.2.5...v8.3.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 2
  • Bump flow-bin from 0.176.3 to 0.179.0

    Bump flow-bin from 0.176.3 to 0.179.0

    Bumps flow-bin from 0.176.3 to 0.179.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 2
  • Bump eslint from 8.14.0 to 8.16.0

    Bump eslint from 8.14.0 to 8.16.0

    Bumps eslint from 8.14.0 to 8.16.0.

    Release notes

    Sourced from eslint's releases.

    v8.16.0

    Features

    • cab0c22 feat: add Unicode flag suggestion in no-misleading-character-class (#15867) (Milos Djermanovic)
    • 38ae956 feat: check Unicode code point escapes in no-control-regex (#15862) (Milos Djermanovic)
    • ee69cd3 feat: Update global variables (#15871) (Sébastien Règne)

    Bug Fixes

    • 3f09aab fix: function-paren-newline crash on "new new Foo();" (#15850) (coderaiser)

    Documentation

    • 050d5f4 docs: Static further reading links (#15890) (Nicholas C. Zakas)
    • 36287c0 docs: fix absolute paths in related rules shortcode to work from /docs (#15892) (Milos Djermanovic)
    • 90b6990 docs: fix absolute links in rule macro to work from /docs (#15891) (Milos Djermanovic)
    • f437249 docs: Adjust docs site path prefix (#15889) (Nicholas C. Zakas)
    • 6e16025 docs: update 'Related Rules' and 'Further Reading' in remaining rules (#15884) (Milos Djermanovic)
    • 1d39f69 docs: remove confusing examples for no-mixed-operators (#15875) (Milos Djermanovic)
    • 3071d76 docs: Fix some grammar issues (#15837) (byodian)

    Chores

    • 1768d0d chore: upgrade @​eslint/eslintrc@​1.3.0 (#15903) (Milos Djermanovic)
    • c686e4c chore: Add deploy workflow for docs site (#15894) (Nicholas C. Zakas)
    • c7894cd chore: enable some rules from eslint-plugin-unicorn internally (#15878) (Bryan Mishkin)
    • ea65cb5 chore: upgrade eslint-plugin-eslint-plugin@^4.2.0 (#15882) (唯然)
    • cc29c69 chore: Upgrade official GitHub actions to latest versions (#15880) (Darius Dzien)
    • 5891c75 chore: Refactor rule docs format (#15869) (Nicholas C. Zakas)

    v8.15.0

    Features

    • ab37d3b feat: add enforceInClassFields option to no-underscore-dangle (#15818) (Roberto Cestari)

    Bug Fixes

    • 8bf9440 fix: "use strict" should not trigger strict mode in ES3 (#15846) (Milos Djermanovic)

    Documentation

    • 28116cc docs: update AST node names link in no-restricted-syntax (#15843) (Milos Djermanovic)
    • 272965f docs: fix h1 heading on formatters page (#15834) (Milos Djermanovic)
    • a798166 docs: update example for running individual rule tests (#15833) (Milos Djermanovic)
    • 57e732b docs: mark SourceCode#getJSDocComment deprecated in working-with-rules (#15829) (Milos Djermanovic)
    • 9a90abf docs: update docs directory in working-with-rules (#15830) (Milos Djermanovic)
    • 810adda docs: add more examples for prefer-object-spread (#15831) (coderaiser)
    • 06b1edb docs: clarify no-control-regex rule (#15808) (Milos Djermanovic)
    • 9ecd42f docs: Fixed typo in code comment (#15812) (Addison G)
    • de992b7 docs: remove links to 2fa document (#15804) (Milos Djermanovic)
    • 5222659 docs: fix 'Related Rules' heading in no-constant-binary-expression (#15799) (Milos Djermanovic)
    • e70ae81 docs: Update README team and sponsors (ESLint Jenkins)

    Chores

    • 1ba6a92 chore: upgrade @​eslint/eslintrc@​1.2.3 (#15847) (Milos Djermanovic)
    • 8167aa7 chore: bump version of minimatch due to security issue PRISMA-2022-0039 (#15774) (Jan Opravil)
    • b8995a4 chore: Implement docs site (#15815) (Nicholas C. Zakas)

    ... (truncated)

    Changelog

    Sourced from eslint's changelog.

    v8.16.0 - May 20, 2022

    • 1768d0d chore: upgrade @​eslint/eslintrc@​1.3.0 (#15903) (Milos Djermanovic)
    • 050d5f4 docs: Static further reading links (#15890) (Nicholas C. Zakas)
    • cab0c22 feat: add Unicode flag suggestion in no-misleading-character-class (#15867) (Milos Djermanovic)
    • c686e4c chore: Add deploy workflow for docs site (#15894) (Nicholas C. Zakas)
    • 38ae956 feat: check Unicode code point escapes in no-control-regex (#15862) (Milos Djermanovic)
    • 36287c0 docs: fix absolute paths in related rules shortcode to work from /docs (#15892) (Milos Djermanovic)
    • 90b6990 docs: fix absolute links in rule macro to work from /docs (#15891) (Milos Djermanovic)
    • f437249 docs: Adjust docs site path prefix (#15889) (Nicholas C. Zakas)
    • 6e16025 docs: update 'Related Rules' and 'Further Reading' in remaining rules (#15884) (Milos Djermanovic)
    • c7894cd chore: enable some rules from eslint-plugin-unicorn internally (#15878) (Bryan Mishkin)
    • ea65cb5 chore: upgrade eslint-plugin-eslint-plugin@^4.2.0 (#15882) (唯然)
    • cc29c69 chore: Upgrade official GitHub actions to latest versions (#15880) (Darius Dzien)
    • 5891c75 chore: Refactor rule docs format (#15869) (Nicholas C. Zakas)
    • ee69cd3 feat: Update global variables (#15871) (Sébastien Règne)
    • 1d39f69 docs: remove confusing examples for no-mixed-operators (#15875) (Milos Djermanovic)
    • 3071d76 docs: Fix some grammar issues (#15837) (byodian)
    • 3f09aab fix: function-paren-newline crash on "new new Foo();" (#15850) (coderaiser)

    v8.15.0 - May 6, 2022

    • 1ba6a92 chore: upgrade @​eslint/eslintrc@​1.2.3 (#15847) (Milos Djermanovic)
    • 8bf9440 fix: "use strict" should not trigger strict mode in ES3 (#15846) (Milos Djermanovic)
    • 28116cc docs: update AST node names link in no-restricted-syntax (#15843) (Milos Djermanovic)
    • 8167aa7 chore: bump version of minimatch due to security issue PRISMA-2022-0039 (#15774) (Jan Opravil)
    • 272965f docs: fix h1 heading on formatters page (#15834) (Milos Djermanovic)
    • a798166 docs: update example for running individual rule tests (#15833) (Milos Djermanovic)
    • b8995a4 chore: Implement docs site (#15815) (Nicholas C. Zakas)
    • ab37d3b feat: add enforceInClassFields option to no-underscore-dangle (#15818) (Roberto Cestari)
    • 57e732b docs: mark SourceCode#getJSDocComment deprecated in working-with-rules (#15829) (Milos Djermanovic)
    • 9a90abf docs: update docs directory in working-with-rules (#15830) (Milos Djermanovic)
    • 810adda docs: add more examples for prefer-object-spread (#15831) (coderaiser)
    • 06b1edb docs: clarify no-control-regex rule (#15808) (Milos Djermanovic)
    • 6494e3e chore: update link in codeql-analysis.yml (#15817) (Milos Djermanovic)
    • 9ecd42f docs: Fixed typo in code comment (#15812) (Addison G)
    • 36503ec chore: enable no-constant-binary-expression in eslint-config-eslint (#15807) (唯然)
    • de992b7 docs: remove links to 2fa document (#15804) (Milos Djermanovic)
    • 5222659 docs: fix 'Related Rules' heading in no-constant-binary-expression (#15799) (Milos Djermanovic)
    • e70ae81 docs: Update README team and sponsors (ESLint Jenkins)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 2
  • Bump eslint-plugin-react from 7.31.10 to 7.31.11

    Bump eslint-plugin-react from 7.31.10 to 7.31.11

    Bumps eslint-plugin-react from 7.31.10 to 7.31.11.

    Release notes

    Sourced from eslint-plugin-react's releases.

    v7.31.11

    Fixed

    Changed

    • [Perf] component detection: improve performance by avoiding traversing parents unnecessarily (#3459[] @​golopot)
    • [Docs] [forbid-component-props]: inclusive language w/ allowlist (#3473[] @​AndersDJohnson)
    • [Docs] automate doc generation with eslint-doc-generator (#3469[] @​bmish)

    #1000: jsx-eslint/eslint-plugin-react#1000 #1002: jsx-eslint/eslint-plugin-react#1002 #1005: jsx-eslint/eslint-plugin-react#1005 #100: jsx-eslint/eslint-plugin-react#100 #1010: jsx-eslint/eslint-plugin-react#1010 #1013: jsx-eslint/eslint-plugin-react#1013 #1022: jsx-eslint/eslint-plugin-react#1022 #1029: jsx-eslint/eslint-plugin-react#1029 #102: jsx-eslint/eslint-plugin-react#102 #1034: jsx-eslint/eslint-plugin-react#1034 #1038: jsx-eslint/eslint-plugin-react#1038 #1041: jsx-eslint/eslint-plugin-react#1041 #1043: jsx-eslint/eslint-plugin-react#1043 #1046: jsx-eslint/eslint-plugin-react#1046 #1047: jsx-eslint/eslint-plugin-react#1047 #1050: jsx-eslint/eslint-plugin-react#1050 #1053: jsx-eslint/eslint-plugin-react#1053 #1057: jsx-eslint/eslint-plugin-react#1057 #105: jsx-eslint/eslint-plugin-react#105 #1061: jsx-eslint/eslint-plugin-react#1061 #1062: jsx-eslint/eslint-plugin-react#1062 #1070: jsx-eslint/eslint-plugin-react#1070 #1071: jsx-eslint/eslint-plugin-react#1071 #1073: jsx-eslint/eslint-plugin-react#1073 #1076: jsx-eslint/eslint-plugin-react#1076 #1079: jsx-eslint/eslint-plugin-react#1079 #1088: jsx-eslint/eslint-plugin-react#1088 #1098: jsx-eslint/eslint-plugin-react#1098 #1101: jsx-eslint/eslint-plugin-react#1101 #1103: jsx-eslint/eslint-plugin-react#1103 #110: jsx-eslint/eslint-plugin-react#110 #1116: jsx-eslint/eslint-plugin-react#1116 #1117: jsx-eslint/eslint-plugin-react#1117 #1119: jsx-eslint/eslint-plugin-react#1119 #1121: jsx-eslint/eslint-plugin-react#1121 #1122: jsx-eslint/eslint-plugin-react#1122 #1123: jsx-eslint/eslint-plugin-react#1123 #1130: jsx-eslint/eslint-plugin-react#1130 #1131: jsx-eslint/eslint-plugin-react#1131

    ... (truncated)

    Changelog

    Sourced from eslint-plugin-react's changelog.

    7.31.11 - 2022.11.17

    Fixed

    Changed

    • [Perf] component detection: improve performance by avoiding traversing parents unnecessarily (#3459[] @​golopot)
    • [Docs] forbid-component-props: inclusive language w/ allowlist (#3473[] @​AndersDJohnson)
    • [Docs] automate doc generation with eslint-doc-generator (#3469[] @​bmish)

    #3490: jsx-eslint/eslint-plugin-react#3490 #3484: jsx-eslint/eslint-plugin-react#3484 #3473: jsx-eslint/eslint-plugin-react#3473 #3469: jsx-eslint/eslint-plugin-react#3469 #3464: jsx-eslint/eslint-plugin-react#3464 #3459: jsx-eslint/eslint-plugin-react#3459

    Commits
    • 8e5ce6c Update CHANGELOG and bump version
    • 041a120 [Fix] jsx-key: detect keys in logical expression and conditional expression...
    • f5e5da8 [Deps] update array-includes, array.prototype.flatmap, `array.prototype.t...
    • acebf4d [Dev Deps] update @babel/core
    • 4c85b9e [Fix] no-unknown-property: add inert attribute (#3484)
    • 1e16be1 [Docs] automate doc generation with eslint-doc-generator (#3469)
    • 03df592 [actions] rename secret to a more approps name
    • 7a3fd6e [actions] update used actions
    • e40b0a6 [Docs] forbid-component-props: inclusive language w/ allowlist (#3473)
    • a8d2942 [actions] Add npm publish workflow (#3460)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump @babel/core from 7.19.3 to 7.20.5

    Bump @babel/core from 7.19.3 to 7.20.5

    Bumps @babel/core from 7.19.3 to 7.20.5.

    Release notes

    Sourced from @​babel/core's releases.

    v7.20.5 (2022-11-28)

    Thanks @​davydof and @​SuperSodaSea for your first PRs!

    :eyeglasses: Spec Compliance

    • babel-helpers, babel-plugin-transform-destructuring, babel-plugin-transform-modules-commonjs, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime, babel-traverse
    • babel-cli, babel-helpers, babel-plugin-proposal-class-properties, babel-plugin-proposal-class-static-block, babel-plugin-transform-classes, babel-plugin-transform-runtime, babel-preset-env
    • babel-helper-create-class-features-plugin, babel-helpers, babel-plugin-proposal-decorators, babel-plugin-proposal-private-property-in-object, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime

    :bug: Bug Fix

    • babel-parser
    • babel-helper-wrap-function, babel-preset-env, babel-traverse
    • babel-plugin-transform-arrow-functions, babel-plugin-transform-parameters, babel-traverse
      • #15163 fix: Throw error when compiling super() in arrow functions with default / rest parameters (@​SuperSodaSea)
    • babel-helpers, babel-node, babel-plugin-proposal-async-generator-functions, babel-plugin-transform-regenerator, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime
    • babel-helper-create-regexp-features-plugin
    • babel-parser, babel-types
    • babel-generator
    • babel-plugin-transform-block-scoping, babel-traverse

    :nail_care: Polish

    :house: Internal

    Committers: 6

    ... (truncated)

    Changelog

    Sourced from @​babel/core's changelog.

    v7.20.5 (2022-11-28)

    :eyeglasses: Spec Compliance

    • babel-helpers, babel-plugin-transform-destructuring, babel-plugin-transform-modules-commonjs, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime, babel-traverse
    • babel-cli, babel-helpers, babel-plugin-proposal-class-properties, babel-plugin-proposal-class-static-block, babel-plugin-transform-classes, babel-plugin-transform-runtime, babel-preset-env
    • babel-helper-create-class-features-plugin, babel-helpers, babel-plugin-proposal-decorators, babel-plugin-proposal-private-property-in-object, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime

    :bug: Bug Fix

    • babel-parser
    • babel-helper-wrap-function, babel-preset-env, babel-traverse
    • babel-plugin-transform-arrow-functions, babel-plugin-transform-parameters, babel-traverse
      • #15163 fix: Throw error when compiling super() in arrow functions with default / rest parameters (@​SuperSodaSea)
    • babel-helpers, babel-node, babel-plugin-proposal-async-generator-functions, babel-plugin-transform-regenerator, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime
    • babel-helper-create-regexp-features-plugin
    • babel-parser, babel-types
    • babel-generator
    • babel-plugin-transform-block-scoping, babel-traverse

    :nail_care: Polish

    :house: Internal

    v7.20.4 (2022-11-08)

    :bug: Bug Fix

    v7.20.3 (2022-11-07)

    :bug: Bug Fix

    • babel-generator

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump eslint from 8.24.0 to 8.28.0

    Bump eslint from 8.24.0 to 8.28.0

    Bumps eslint from 8.24.0 to 8.28.0.

    Release notes

    Sourced from eslint's releases.

    v8.28.0

    Features

    • 63bce44 feat: add ignoreClassFieldInitialValues option to no-magic-numbers (#16539) (Milos Djermanovic)
    • 8385ecd feat: multiline properties in rule key-spacing with option align (#16532) (Francesco Trotta)
    • a4e89db feat: no-obj-calls support Intl (#16543) (Sosuke Suzuki)

    Bug Fixes

    • c50ae4f fix: Ensure that dot files are found with globs. (#16550) (Nicholas C. Zakas)
    • 9432b67 fix: throw error for first unmatched pattern (#16533) (Milos Djermanovic)
    • e76c382 fix: allow * 1 when followed by / in no-implicit-coercion (#16522) (Milos Djermanovic)

    Documentation

    • 34c05a7 docs: Language Options page intro and tweaks (#16511) (Ben Perlmutter)
    • 3e66387 docs: add intro and edit ignoring files page (#16510) (Ben Perlmutter)
    • 436f712 docs: fix Header UI inconsistency (#16464) (Tanuj Kanti)
    • f743816 docs: switch to wrench emoji for auto-fixable rules (#16545) (Bryan Mishkin)
    • bc0547e docs: improve styles for versions and languages page (#16553) (Nitin Kumar)
    • 6070f58 docs: clarify esquery issue workaround (#16556) (Milos Djermanovic)
    • b48e4f8 docs: Command Line Interface intro and tweaks (#16535) (Ben Perlmutter)
    • b92b30f docs: Add Rules page intro and content tweaks (#16523) (Ben Perlmutter)
    • 1769b42 docs: Integrations page introduction (#16548) (Ben Perlmutter)
    • a8d0a57 docs: make table of contents sticky on desktop (#16506) (Sam Chen)
    • a01315a docs: fix route of japanese translation site (#16542) (Tanuj Kanti)
    • 0515628 docs: use emoji instead of svg for deprecated rule (#16536) (Bryan Mishkin)
    • 68f1288 docs: set default layouts (#16484) (Percy Ma)
    • 776827a docs: init config about specifying shared configs (#16483) (Percy Ma)
    • 5c39425 docs: fix broken link to plugins (#16520) (Ádám T. Nagy)
    • c97c789 docs: Add missing no-new-native-nonconstructor docs code fence (#16503) (Brandon Mills)

    Chores

    • e94a4a9 chore: Add tests to verify #16038 is fixed (#16538) (Nicholas C. Zakas)
    • e13f194 chore: stricter validation of meta.docs.description in core rules (#16529) (Milos Djermanovic)
    • 72dbfbc chore: use pkg parameter in getNpmPackageVersion (#16525) (webxmsj)

    v8.27.0

    Features

    • f14587c feat: new no-new-native-nonconstructor rule (#16368) (Sosuke Suzuki)
    • 978799b feat: add new rule no-empty-static-block (#16325) (Sosuke Suzuki)
    • 69216ee feat: no-empty suggest to add comment in empty BlockStatement (#16470) (Nitin Kumar)
    • 319f0a5 feat: use context.languageOptions.ecmaVersion in core rules (#16458) (Milos Djermanovic)

    Bug Fixes

    • c3ce521 fix: Ensure unmatched glob patterns throw an error (#16462) (Nicholas C. Zakas)
    • 886a038 fix: handle files with unspecified path in getRulesMetaForResults (#16437) (Francesco Trotta)

    Documentation

    • ce93b42 docs: Stylelint property-no-unknown (#16497) (Nick Schonning)
    • d2cecb4 docs: Stylelint declaration-block-no-shorthand-property-overrides (#16498) (Nick Schonning)
    • 0a92805 docs: stylelint color-hex-case (#16496) (Nick Schonning)
    • 74a5af4 docs: fix stylelint error (#16491) (Milos Djermanovic)

    ... (truncated)

    Changelog

    Sourced from eslint's changelog.

    v8.28.0 - November 18, 2022

    • 34c05a7 docs: Language Options page intro and tweaks (#16511) (Ben Perlmutter)
    • 3e66387 docs: add intro and edit ignoring files page (#16510) (Ben Perlmutter)
    • 436f712 docs: fix Header UI inconsistency (#16464) (Tanuj Kanti)
    • f743816 docs: switch to wrench emoji for auto-fixable rules (#16545) (Bryan Mishkin)
    • bc0547e docs: improve styles for versions and languages page (#16553) (Nitin Kumar)
    • 6070f58 docs: clarify esquery issue workaround (#16556) (Milos Djermanovic)
    • b48e4f8 docs: Command Line Interface intro and tweaks (#16535) (Ben Perlmutter)
    • b92b30f docs: Add Rules page intro and content tweaks (#16523) (Ben Perlmutter)
    • 1769b42 docs: Integrations page introduction (#16548) (Ben Perlmutter)
    • 63bce44 feat: add ignoreClassFieldInitialValues option to no-magic-numbers (#16539) (Milos Djermanovic)
    • c50ae4f fix: Ensure that dot files are found with globs. (#16550) (Nicholas C. Zakas)
    • a8d0a57 docs: make table of contents sticky on desktop (#16506) (Sam Chen)
    • 9432b67 fix: throw error for first unmatched pattern (#16533) (Milos Djermanovic)
    • 8385ecd feat: multiline properties in rule key-spacing with option align (#16532) (Francesco Trotta)
    • a4e89db feat: no-obj-calls support Intl (#16543) (Sosuke Suzuki)
    • a01315a docs: fix route of japanese translation site (#16542) (Tanuj Kanti)
    • e94a4a9 chore: Add tests to verify #16038 is fixed (#16538) (Nicholas C. Zakas)
    • 0515628 docs: use emoji instead of svg for deprecated rule (#16536) (Bryan Mishkin)
    • e76c382 fix: allow * 1 when followed by / in no-implicit-coercion (#16522) (Milos Djermanovic)
    • 68f1288 docs: set default layouts (#16484) (Percy Ma)
    • e13f194 chore: stricter validation of meta.docs.description in core rules (#16529) (Milos Djermanovic)
    • 776827a docs: init config about specifying shared configs (#16483) (Percy Ma)
    • 72dbfbc chore: use pkg parameter in getNpmPackageVersion (#16525) (webxmsj)
    • 5c39425 docs: fix broken link to plugins (#16520) (Ádám T. Nagy)
    • c97c789 docs: Add missing no-new-native-nonconstructor docs code fence (#16503) (Brandon Mills)

    v8.27.0 - November 6, 2022

    • f14587c feat: new no-new-native-nonconstructor rule (#16368) (Sosuke Suzuki)
    • 978799b feat: add new rule no-empty-static-block (#16325) (Sosuke Suzuki)
    • ce93b42 docs: Stylelint property-no-unknown (#16497) (Nick Schonning)
    • d2cecb4 docs: Stylelint declaration-block-no-shorthand-property-overrides (#16498) (Nick Schonning)
    • 0a92805 docs: stylelint color-hex-case (#16496) (Nick Schonning)
    • c3ce521 fix: Ensure unmatched glob patterns throw an error (#16462) (Nicholas C. Zakas)
    • 74a5af4 docs: fix stylelint error (#16491) (Milos Djermanovic)
    • 69216ee feat: no-empty suggest to add comment in empty BlockStatement (#16470) (Nitin Kumar)
    • 324db1a docs: explicit stylelint color related rules (#16465) (Nick Schonning)
    • 94dc4f1 docs: use Stylelint for HTML files (#16468) (Nick Schonning)
    • cc6128d docs: enable stylelint declaration-block-no-duplicate-properties (#16466) (Nick Schonning)
    • d03a8bf docs: Add heading to justification explanation (#16430) (Maritaria)
    • 886a038 fix: handle files with unspecified path in getRulesMetaForResults (#16437) (Francesco Trotta)
    • 319f0a5 feat: use context.languageOptions.ecmaVersion in core rules (#16458) (Milos Djermanovic)
    • 8a15968 docs: add Stylelint configuration and cleanup (#16379) (Nick Schonning)
    • 9b0a469 docs: note commit messages don't support scope (#16435) (Andy Edwards)
    • 1581405 docs: improve context.getScope() docs (#16417) (Ben Perlmutter)
    • b797149 docs: update formatters template (#16454) (Milos Djermanovic)
    • 5ac4de9 docs: fix link to formatters on the Core Concepts page (#16455) (Vladislav)
    • 33313ef docs: core-concepts: fix link to semi rule (#16453) (coderaiser)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump babel-loader from 8.2.5 to 9.0.1

    Bump babel-loader from 8.2.5 to 9.0.1

    Bumps babel-loader from 8.2.5 to 9.0.1.

    Release notes

    Sourced from babel-loader's releases.

    v9.0.1

    Bug Fixes

    Full Changelog: https://github.com/babel/babel-loader/compare/v9.0.0...v9.0.1

    v9.0.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/babel/babel-loader/compare/v8.2.5...v9.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump @babel/generator from 7.18.9 to 7.18.13

    Bump @babel/generator from 7.18.9 to 7.18.13

    Bumps @babel/generator from 7.18.9 to 7.18.13.

    Release notes

    Sourced from @​babel/generator's releases.

    v7.18.13 (2022-08-22)

    Thanks @​djpohly for your first PR!

    :bug: Bug Fix

    :nail_care: Polish

    :house: Internal

    Committers: 5

    7.18.12

    v7.18.12 (2022-08-05)

    :bug: Bug Fix

    • babel-plugin-transform-react-constant-elements
    • babel-generator
    • babel-plugin-transform-typescript

    Committers: 3

    7.18.11

    v7.18.11 (2022-08-04)

    :bug: Bug Fix

    • babel-helper-wrap-function

    ... (truncated)

    Changelog

    Sourced from @​babel/generator's changelog.

    v7.18.13 (2022-08-22)

    :bug: Bug Fix

    :nail_care: Polish

    :house: Internal

    v7.18.12 (2022-08-05)

    :bug: Bug Fix

    • babel-plugin-transform-react-constant-elements
    • babel-generator
    • babel-plugin-transform-typescript

    v7.18.11 (2022-08-04)

    :bug: Bug Fix

    • babel-helper-wrap-function

    :house: Internal

    v7.18.10 (2022-08-01)

    :rocket: New Feature

    • babel-helper-string-parser, babel-types

    :bug: Bug Fix

    • babel-parser
    • babel-helper-string-parser, babel-parser
    • babel-plugin-transform-typescript

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump @babel/generator from 7.18.2 to 7.18.7

    Bump @babel/generator from 7.18.2 to 7.18.7

    Bumps @babel/generator from 7.18.2 to 7.18.7.

    Release notes

    Sourced from @​babel/generator's releases.

    v7.18.7 (2022-06-28)

    :bug: Bug Fix

    Committers: 2

    v7.18.6 (2022-06-27)

    :eyeglasses: Spec Compliance

    :bug: Bug Fix

    • babel-helper-remap-async-to-generator, babel-plugin-proposal-async-generator-functions
    • babel-plugin-transform-parameters
    • babel-core
    • babel-core, babel-helper-check-duplicate-nodes, babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression, babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining, babel-plugin-proposal-destructuring-private, babel-plugin-proposal-optional-chaining, babel-plugin-transform-runtime

    :house: Internal

    • babel-standalone
    • Other
    • babel-generator, babel-types
    • babel-code-frame, babel-core, babel-generator, babel-helper-annotate-as-pure, babel-helper-builder-binary-assignment-operator-visitor, babel-helper-builder-react-jsx, babel-helper-check-duplicate-nodes, babel-helper-compilation-targets, babel-helper-create-class-features-plugin, babel-helper-create-regexp-features-plugin, babel-helper-define-map, babel-helper-explode-assignable-expression, babel-helper-fixtures, babel-helper-function-name, babel-helper-hoist-variables, babel-helper-member-expression-to-functions, babel-helper-module-imports, babel-helper-module-transforms, babel-helper-optimise-call-expression, babel-helper-plugin-test-runner, babel-helper-plugin-utils, babel-helper-remap-async-to-generator, babel-helper-replace-supers, babel-helper-simple-access, babel-helper-split-export-declaration, babel-helper-transform-fixture-test-runner, babel-helper-validator-option, babel-helper-wrap-function, babel-helpers, babel-highlight, babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining, babel-plugin-external-helpers, babel-plugin-proposal-async-generator-functions, babel-plugin-proposal-class-static-block, babel-plugin-proposal-decorators, babel-plugin-proposal-destructuring-private, babel-plugin-proposal-function-bind, babel-plugin-proposal-function-sent, babel-plugin-proposal-json-strings, babel-plugin-proposal-object-rest-spread, babel-plugin-proposal-optional-chaining, babel-plugin-proposal-partial-application, babel-plugin-proposal-pipeline-operator, babel-plugin-proposal-private-property-in-object, babel-plugin-proposal-record-and-tuple, babel-plugin-syntax-typescript, babel-plugin-transform-block-scoped-functions, babel-plugin-transform-block-scoping, babel-plugin-transform-classes, babel-plugin-transform-computed-properties, babel-plugin-transform-destructuring, babel-plugin-transform-duplicate-keys, babel-plugin-transform-exponentiation-operator, babel-plugin-transform-flow-comments, babel-plugin-transform-flow-strip-types, babel-plugin-transform-for-of, babel-plugin-transform-function-name, babel-plugin-transform-modules-amd, babel-plugin-transform-modules-commonjs, babel-plugin-transform-modules-systemjs, babel-plugin-transform-modules-umd, babel-plugin-transform-object-super, babel-plugin-transform-parameters, babel-plugin-transform-property-mutators, babel-plugin-transform-proto-to-assign, babel-plugin-transform-react-constant-elements, babel-plugin-transform-react-display-name, babel-plugin-transform-react-inline-elements, babel-plugin-transform-react-jsx-compat, babel-plugin-transform-react-jsx-source, babel-plugin-transform-react-jsx, babel-plugin-transform-runtime, babel-plugin-transform-typescript, babel-plugin-transform-unicode-escapes, babel-preset-env, babel-preset-typescript, babel-standalone, babel-template, babel-traverse, babel-types
    • babel-core, babel-helper-transform-fixture-test-runner, babel-plugin-transform-destructuring

    Committers: 6

    v7.18.5 (2022-06-13)

    ... (truncated)

    Changelog

    Sourced from @​babel/generator's changelog.

    v7.18.7 (2022-06-28)

    :bug: Bug Fix

    v7.18.6 (2022-06-27)

    :eyeglasses: Spec Compliance

    :bug: Bug Fix

    • babel-helper-remap-async-to-generator, babel-plugin-proposal-async-generator-functions
    • babel-plugin-transform-parameters
    • babel-core
    • babel-core, babel-helper-check-duplicate-nodes, babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression, babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining, babel-plugin-proposal-destructuring-private, babel-plugin-proposal-optional-chaining, babel-plugin-transform-runtime

    :house: Internal

    • babel-standalone
    • Other
    • babel-generator, babel-types
    • babel-code-frame, babel-core, babel-generator, babel-helper-annotate-as-pure, babel-helper-builder-binary-assignment-operator-visitor, babel-helper-builder-react-jsx, babel-helper-check-duplicate-nodes, babel-helper-compilation-targets, babel-helper-create-class-features-plugin, babel-helper-create-regexp-features-plugin, babel-helper-define-map, babel-helper-explode-assignable-expression, babel-helper-fixtures, babel-helper-function-name, babel-helper-hoist-variables, babel-helper-member-expression-to-functions, babel-helper-module-imports, babel-helper-module-transforms, babel-helper-optimise-call-expression, babel-helper-plugin-test-runner, babel-helper-plugin-utils, babel-helper-remap-async-to-generator, babel-helper-replace-supers, babel-helper-simple-access, babel-helper-split-export-declaration, babel-helper-transform-fixture-test-runner, babel-helper-validator-option, babel-helper-wrap-function, babel-helpers, babel-highlight, babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining, babel-plugin-external-helpers, babel-plugin-proposal-async-generator-functions, babel-plugin-proposal-class-static-block, babel-plugin-proposal-decorators, babel-plugin-proposal-destructuring-private, babel-plugin-proposal-function-bind, babel-plugin-proposal-function-sent, babel-plugin-proposal-json-strings, babel-plugin-proposal-object-rest-spread, babel-plugin-proposal-optional-chaining, babel-plugin-proposal-partial-application, babel-plugin-proposal-pipeline-operator, babel-plugin-proposal-private-property-in-object, babel-plugin-proposal-record-and-tuple, babel-plugin-syntax-typescript, babel-plugin-transform-block-scoped-functions, babel-plugin-transform-block-scoping, babel-plugin-transform-classes, babel-plugin-transform-computed-properties, babel-plugin-transform-destructuring, babel-plugin-transform-duplicate-keys, babel-plugin-transform-exponentiation-operator, babel-plugin-transform-flow-comments, babel-plugin-transform-flow-strip-types, babel-plugin-transform-for-of, babel-plugin-transform-function-name, babel-plugin-transform-modules-amd, babel-plugin-transform-modules-commonjs, babel-plugin-transform-modules-systemjs, babel-plugin-transform-modules-umd, babel-plugin-transform-object-super, babel-plugin-transform-parameters, babel-plugin-transform-property-mutators, babel-plugin-transform-proto-to-assign, babel-plugin-transform-react-constant-elements, babel-plugin-transform-react-display-name, babel-plugin-transform-react-inline-elements, babel-plugin-transform-react-jsx-compat, babel-plugin-transform-react-jsx-source, babel-plugin-transform-react-jsx, babel-plugin-transform-runtime, babel-plugin-transform-typescript, babel-plugin-transform-unicode-escapes, babel-preset-env, babel-preset-typescript, babel-standalone, babel-template, babel-traverse, babel-types
    • babel-core, babel-helper-transform-fixture-test-runner, babel-plugin-transform-destructuring

    v7.18.5 (2022-06-13)

    :bug: Bug Fix

    :memo: Documentation

    :house: Internal

    • babel-traverse

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • additionalProperties with $ref errs

    additionalProperties with $ref errs

    schema.json

    {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/nerevu/rorschach/master/app/schemas/provider.schema.json",
      "title": "Provider",
      "description": "A 3rd party API provider",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "authentication": {
          "description": "Authentication methods exposed by the API",
          "type": "object",
          "default": {},
          "additionalProperties": {
            "$ref": "https://raw.githubusercontent.com/nerevu/rorschach/master/app/schemas/auth.schema.json"
          }
        }
      },
      "required": [
        "authentication"
      ]
    }
    
    $ json_codegen --language python3 --output provider.py schema.json
    Traceback (most recent call last):
      File "/Users/reubano/.virtualenvs/authorizer/bin/json_codegen", line 8, in <module>
        sys.exit(main())
      File "/Users/reubano/.virtualenvs/authorizer/lib/python3.9/site-packages/json_codegen/cli.py", line 68, in main
        code = generator(schema, prefix=args.prefix).generate().as_code()
      File "/Users/reubano/.virtualenvs/authorizer/lib/python3.9/site-packages/json_codegen/generators/python3.py", line 32, in generate
        self._body.append(self.make_klass(root_definition))
      File "/Users/reubano/.virtualenvs/authorizer/lib/python3.9/site-packages/json_codegen/generators/python3.py", line 58, in make_klass
        class_body.append(self.make_klass_constructor(properties, required))
      File "/Users/reubano/.virtualenvs/authorizer/lib/python3.9/site-packages/json_codegen/generators/python3.py", line 342, in make_klass_constructor
        annotation = self.get_annotation_from_definition(property_, is_required=is_required)
      File "/Users/reubano/.virtualenvs/authorizer/lib/python3.9/site-packages/json_codegen/generators/python3.py", line 309, in get_annotation_from_definition
        annotation = self.get_partial_annotation_from_definition(property_)
      File "/Users/reubano/.virtualenvs/authorizer/lib/python3.9/site-packages/json_codegen/generators/python3.py", line 268, in get_partial_annotation_from_definition
        object_name = self.definitions[property_["additionalProperties"]["$ref"]]["title"]
    KeyError: 'https://raw.githubusercontent.com/nerevu/rorschach/master/app/schemas/auth.schema.json'
    
    

    json-schema-codegen v0.4.5 python 3.9 macOS 12.0.1

    opened by reubano 0
  • KeyError: Property's type is not inferred when it references a definition

    KeyError: Property's type is not inferred when it references a definition

    {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Table",
        "definitions": {
            "dataSource": {
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "postgres",
                            "script"
                        ],
                        "default": "postgres"
                    }
                },
                "type": "object"
            }
        },
        "properties": {
            "datasource": {
                "$ref": "#/definitions/dataSource"
            }
        }
    }
    

    fails with

    Exception has occurred: KeyError 'type' File "*****/json_codegen/generators/python3.py", line 252, in get_partial_annotation_from_definition property_type = property_["type"]

    It doesn't fail if we specify the type

    {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Table",
        "definitions": {
            "dataSource": {...}
        },
        "properties": {
            "datasource": {
                "$ref": "#/definitions/dataSource",
                "type": "object"
            }
        }
    }
    
    opened by tokybe 0
  • OneOf misimplemented

    OneOf misimplemented

    {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "title": "one_of_fail",
    
      "properties": {
        "hosts": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "type": "string"
            }
          ]
        }
      }
    }
    

    Fails with:

        property_type = property_["type"]
    KeyError: 'type'
    

    If we add type to it, it still fails, as it expects $ref in the oneOf items.

    opened by sztanko 0
  • Misimplemented object type

    Misimplemented object type

    "params": {
          "type": "object",
          "$ref": "#/definitions/DBConnection"
        },```
    
    translates to: 
    
    ```self.params: Optional[Dict] = data.get('params')```
    
    The only way to make it an object is to have it like this:
    
    
    "params": {
      "type": "object",
      "oneOf": [{ "$ref": "#/definitions/DBConnection" }]
    },```
    

    I would like to have the first jsonschema implemented as well.

    bug 
    opened by sztanko 0
Releases(v0.5.1)
Owner
Daniele Esposti
Daniele Esposti
Define your JSON schema as Python dataclasses

Define your JSON schema as Python dataclasses

null 62 Sep 20, 2022
Json utils is a python module that you can use when working with json files.

Json-utils Json utils is a python module that you can use when working with json files. it comes packed with a lot of featrues Features Converting jso

Advik 4 Apr 24, 2022
Random JSON Key:Pair Json Generator

Random JSON Key:Value Pair Generator This simple script take an engish dictionary of words and and makes random key value pairs. The dictionary has ap

Chris Edwards 1 Oct 14, 2021
With the help of json txt you can use your txt file as a json file in a very simple way

json txt With the help of json txt you can use your txt file as a json file in a very simple way Dependencies re filemod pip install filemod Installat

Kshitij 1 Dec 14, 2022
Same as json.dumps or json.loads, feapson support feapson.dumps and feapson.loads

Same as json.dumps or json.loads, feapson support feapson.dumps and feapson.loads

boris 5 Dec 1, 2021
Ibmi-json-beautify - Beautify json string with python

Ibmi-json-beautify - Beautify json string with python

Jefferson Vaughn 3 Feb 2, 2022
import json files directly in your python scripts

Install Install from git repository pip install git+https://github.com/zaghaghi/direct-json-import.git Use With the following json in a file named inf

Hamed Zaghaghi 51 Dec 1, 2021
Python script for converting .json to .md files using Mako templates.

Install Just install poetry and update script dependencies Usage Put your settings in settings.py and .json data (optionally, with attachments) in dat

Alexey Borontov 6 Dec 7, 2021
JSONManipulator is a Python package to retrieve, add, delete, change and store objects in JSON files.

JSONManipulator JSONManipulator is a Python package to retrieve, add, delete, change and store objects in JSON files. Installation Use the package man

Andrew Polukhin 1 Jan 7, 2022
Low code JSON to extract data in one line

JSON Inline Low code JSON to extract data in one line ENG RU Installation pip install json-inline Usage Rules Modificator Description ?key:value Searc

Aleksandr Sokolov 12 Mar 9, 2022
A python library to convert arbitrary strings representing business opening hours into a JSON format that's easier to use in code

A python library to convert arbitrary strings representing business opening hours into a JSON format that's easier to use in code

Adrian Edwards 9 Dec 2, 2022
JSON Interoperability Vulnerability Labs

JSON Interoperability Vulnerability Labs Description These are the companion labs to my research article "An Exploration of JSON Interoperability Vuln

Bishop Fox 168 Dec 25, 2022
A tools to find the path of a specific key in deep nested JSON.

如何快速从深层嵌套 JSON 中找到特定的 Key #公众号 在爬虫开发的过程中,我们经常遇到一些 Ajax 加载的接口会返回 JSON 数据。

kingname 56 Dec 13, 2022
cysimdjson - Very fast Python JSON parsing library

Fast JSON parsing library for Python, 7-12 times faster than standard Python JSON parser.

TeskaLabs 235 Dec 29, 2022
simplejson is a simple, fast, extensible JSON encoder/decoder for Python

simplejson simplejson is a simple, fast, complete, correct and extensible JSON <http://json.org> encoder and decoder for Python 3.3+ with legacy suppo

null 1.5k Jan 5, 2023
A fast JSON parser/generator for C++ with both SAX/DOM style API

A fast JSON parser/generator for C++ with both SAX/DOM style API Tencent is pleased to support the open source community by making RapidJSON available

Tencent 12.6k Dec 30, 2022
simdjson : Parsing gigabytes of JSON per second

JSON is everywhere on the Internet. Servers spend a *lot* of time parsing it. We need a fresh approach. The simdjson library uses commonly available SIMD instructions and microparallel algorithms to parse JSON 4x faster than RapidJSON and 25x faster than JSON for Modern C++.

null 16.3k Dec 29, 2022
An tiny CLI to load data from a JSON File during development.

JSON Server - An tiny CLI to load data from a JSON File during development.

Yuvraj.M 4 Mar 22, 2022
Convert your subscriptions csv file into a valid json for Newpipe!

Newpipe-CSV-Fixer Convert your Google subscriptions CSV file into a valid JSON for Newpipe! Thanks to nikcorg for sharing how to convert the CSV into

Juanjo 44 Dec 29, 2022