README.md

    dotenv-linter

    ⚡️Lightning-fast linter for .env files. Written in Rust 🦀

    GitHub Actions Coverage Status License Releases

    dotenv-linter can check / fix / compare .env files for problems that may cause the application to malfunction.

    Available checks:

        ✅ Duplicated key
        ✅ Ending blank line
        ✅ Extra blank line
        ✅ Incorrect delimiter
        ✅ Key without value
        ✅ Leading character
        ✅ Lowercase key
        ✅ Quote character
        ✅ Space character
        ✅ Substitution key
        ✅ Trailing whitespace
        ✅ Unordered key
        ✅ Value without quotes

    What is a .env file?

        💡 A .env file or dotenv file is a simple text file containing all the environment variables of a project.
        Storing configuration in the environment variables is one of the tenets of the Manifesto of Twelve-Factor App.
        The .env file has a simple key-value format, for example: FOO=BAR.
        More information you can find in articles in English and Russian.

    The key features:

        ⚡️ Lightning-fast because it is written in Rust 🦀
        💣 Can be used on any project regardless of the programming language 💥
        🚀 Can be integrated with reviewdog and other CI services (including GitHub Actions and Super-Linter) 🔥

    Articles about dotenv-linter:

    👨‍💻 Installation

    Pre-compiled binary

    # Linux / macOS / Windows (MINGW and etc). Installs it into ./bin/ by default
    $ curl -sSfL https://raw.githubusercontent.com/dotenv-linter/dotenv-linter/master/install.sh | sh -s
    
    # Or a shorter way
    $ curl -sSfL https://git.io/JLbXn | sh -s
    
    # Specify installation directory and version
    $ curl -sSfL https://git.io/JLbXn | sh -s -- -b usr/local/bin v2.0.0
    
    # Alpine Linux (using wget)
    $ wget -q -O - https://git.io/JLbXn | sh -s
    

    You can find other installation methods here: https://dotenv-linter.github.io/#/installation

    🚀 Usage

    ✅ Check

    By default, dotenv-linter checks all .env files in the current directory:

    $ dotenv-linter
    Checking .env
    .env:2 DuplicatedKey: The FOO key is duplicated
    .env:3 UnorderedKey: The BAR key should go before the FOO key
    
    Checking .env.test
    .env.test:1 LeadingCharacter: Invalid leading character detected
    
    Found 3 problems
    

    🛠 Fix

    It can also fix the found warnings with the fix command:

    $ dotenv-linter fix
    Fixing .env
    Original file was backed up to: ".env_1601378896"
    
    .env:2 DuplicatedKey: The BAR key is duplicated
    .env:3 LowercaseKey: The foo key should be in uppercase
    
    All warnings are fixed. Total: 2
    

    🤲 Compare

    In addition, dotenv-linter can compare .env files with each other and output the difference between them:

    $ dotenv-linter compare .env .env.example
    Comparing .env
    Comparing .env.example
    .env is missing keys: BAR
    .env.example is missing keys: FOO
    

    Other use cases you can find on the documentation site (https://dotenv-linter.github.io):

    🚦 Continuous Integration

    dotenv-linter can also be used with CI services such as: GitHub Actions and Circle CI.

    🚧 Benchmark

    Benchmarking dotenv-linter/dotenv-linter and wemake-services/dotenv-linter has done using the hyperfine utility:

    Command Mean [ms] Min [ms] Max [ms] Relative
    dotenv-linter/dotenv-linter .env 2.7 ± 0.4 2.0 4.3 1.00
    wemake-services/dotenv-linter .env 162.6 ± 12.1 153.0 201.3 60.83 ± 10.20
    Content of .env file used for benchmarking
     SPACED=
    
    KEY = VALUE
    
    SECRET="my value"
    
    SECRET=Already defined
    
    kebab-case-name=1
    snake_case_name=2
    

    ✌️ Mentorship

    dotenv-linter is not just a linter for .env files — it is also a contributor-friendly open-source project with the purpose of helping others learn Rust using a simple, but useful tool. 😊

    In addition to studying Rust, this project has another goal — to promote love for open-source, help you with the first steps in it and give an opportunity to contribute to the open-source project written in Rust. ❤️

    We act as a mentor within this project and help developers follow the path of a novice contributor from start to the top. 🤗

    🤝 Contributing

    If you’ve ever wanted to contribute to open source, now you have a great opportunity:

    👍 Similar projects

    ✨ Contributors

    This project exists thanks to all the people who contribute. [Contribute].

    ♥️ Sponsors

    dotenv-linter is created & supported by Evrone. What else we develop with Rust.

    Sponsored by Evrone

    Become a financial contributor and help us sustain our community.

    📃 License

    MIT

    Описание

    ⚡️Lightning-fast linter for .env files. Written in Rust 🦀

    Конвейеры
    0 успешных
    0 с ошибкой