Open Source Linux Source Code Analysis Tools - Page 2

Source Code Analysis Tools for Linux

View 1278 business solutions
  • Run your private office with the ONLYOFFICE Icon
    Run your private office with the ONLYOFFICE

    Secure office and productivity apps

    A Comprehensive Alternative to Office 365 for Business
    Learn More
  • The only CRM built for B2C Icon
    The only CRM built for B2C

    Stop chasing transactions. Klaviyo turns customers into diehard fans—obsessed with your products, devoted to your brand, fueling your growth.

    Klaviyo unifies your customer profiles by capturing every event, and then lets you orchestrate your email marketing, SMS marketing, push notifications, WhatsApp, and RCS campaigns in one place. Klaviyo AI helps you build audiences, write copy, and optimize — so you can always send the right message at the right time, automatically. With real-time attribution and insights, you'll be able to make smarter, faster decisions that drive ROI.
    Learn More
  • 1
    Constructs

    Constructs

    Define composable configuration models through code

    Constructs are classes that define a "piece of system state". Constructs can be composed together to form higher-level building blocks which represent a more complex state. Constructs are often used to represent the desired state of cloud applications. For example, in the AWS CDK, which is used to define the desired state for AWS infrastructure using CloudFormation, the lowest-level construct represents a resource definition in a CloudFormation template. These resources are composed to represent higher-level logical units of a cloud application, etc.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 2
    Lebab

    Lebab

    Turn your ES5 code into readable ES6

    Turn your ES5 code into readable ES6. Lebab does the opposite of what Babel does. Lebab transpiles your ES5 code to ES6/ES7. It does exactly the opposite of what Babel does. Convert your old-fashioned code using the lebab cli tool, enabling a specific transformation. The recommended way of using Lebab is to apply one transform at a time, read what exactly the transform does and what are its limitations, apply it to your code and inspect the diff carefully. Transforms can be applied with relatively high confidence. They use pretty straightforward and strict rules for changing the code. The resulting code should be almost 100% equivalent to the original code. Transforms should be applied with caution. They either use heuristics that can't guarantee that the resulting code is equivalent of the original code, or they have significant bugs which can result in breaking your code.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 3
    eslint-plugin-testing-library

    eslint-plugin-testing-library

    ESLint plugin to follow best practices and anticipate common mistakes

    ESLint plugin to follow best practices and anticipate common mistakes when writing tests with Testing Library. You can find detailed guides for migrating eslint-plugin-testing-library in the migration guide docs. Add testing-library to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix. With the default setup mentioned before, eslint-plugin-testing-library will be run against your whole codebase. You can run this plugin only against your tests files. One way of restricting ESLint config by file patterns is by using ESLint overrides. Another approach for customizing ESLint config by paths is through ESLint Cascading and Hierarchy. This is useful if all your tests are placed under the same folder, so you can place there another .eslintrc where you enable eslint-plugin-testing-library for applying it only to the files under such folder, rather than enabling it on your global .eslintrc which would apply to your whole project.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 4
    BuildKit

    BuildKit

    Concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit

    BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. BuildKit is a new project under the Moby umbrella for building and packaging software using containers. It’s a new codebase meant to replace the internals of the current build features in the Moby Engine. BuildKit emerged from the discussions about improving the build features in Moby Engine. We received a lot of positive feedback for the multi-stage build feature introduced in April and had proposals and user requests for many similar additions. But before that, we needed to make sure that we have capabilities to continue adding such features in the future and a solid foundation to extend on. Quite soon it was clear that we would need to redefine most of the fundamentals about how we even define a build operation and needed a clean break from the current codebase. A proposal was written, and development started in the open under the new repository.
    Downloads: 5 This Week
    Last Update:
    See Project
  • Fully managed relational database service for MySQL, PostgreSQL, and SQL Server Icon
    Fully managed relational database service for MySQL, PostgreSQL, and SQL Server

    Focus on your application, and leave the database to us

    Cloud SQL manages your databases so you don't have to, so your business can run without disruption. It automates all your backups, replication, patches, encryption, and storage capacity increases to give your applications the reliability, scalability, and security they need.
    Try for free
  • 5
    PHP dotenv

    PHP dotenv

    Loads environment variables automatically

    You should never store sensitive credentials in your code. Storing configuration in the environment is one of the tenets of a twelve-factor app. Anything that is likely to change between deployment environments, such as database credentials or credentials for 3rd party services, should be extracted from the code into environment variables. Basically, a .env file is an easy way to load custom configuration variables that your application needs without having to modify .htaccess files or Apache/nginx virtual hosts. This means you won't have to edit any files outside the project, and all the environment variables are always set no matter how you run your project, Apache, Nginx, CLI, and even PHP's built-in webserver. It's WAY easier than all the other ways you know of to set environment variables, and you're going to love it!
    Downloads: 5 This Week
    Last Update:
    See Project
  • 6
    Webpack 5 Boilerplate Template

    Webpack 5 Boilerplate Template

    Simple starter webpack 5 project template

    Simple starter webpack 5 project template supporting SASS/PostCSS, Babel ES7, browser syncing, code linting. Easy project setup having multiple features and developer-friendly tools. Support for source code syntax style and formatting linters that analyze source code to flag any programming errors, bugs, stylistic errors or suspicious constructs. Smart preset that allows you to use the latest JavaScript without needing to micromanage which syntax transforms (and optionally, browser polyfills) are needed by your target environment(s). Start development of a project right away with simple, configured, linter-enabled, browser-synced asset files. Integration with Webpack Bundle Analyzer - Visualize size of webpack output files with an interactive zoomable treemap. Configured and ready to use Webpack Dev Server plugin for faster local development.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 7
    diff-so-fancy

    diff-so-fancy

    Make your diffs human readable instead of machine readable

    diff-so-fancy strives to make your diffs human readable instead of machine readable. This helps improve code quality and helps you spot defects faster. diff-so-fancy is also available from NPM, Nix, brew, and as a package on Arch and Debian Linux. Windows users may need to install MinGW or the Windows subsystem for Linux. By default, the separator for the file header uses Unicode line-drawing characters. If this is causing output errors on your terminal, set this to false to use ASCII characters instead. By default, the separator for the file header spans the full width of the terminal. Use this setting to set the width of the file header manually. Pull requests are quite welcome, and should target the next branch. You can simplify git header chunks to a more human readable format. We are also looking for any feedback or ideas on how to make diff-so-fancy even fancier.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 8
    eslint-plugin-jsdoc

    eslint-plugin-jsdoc

    JSDoc specific linting rules for ESLint

    JSDoc specific linting rules for ESLint. Install ESLint either locally or globally. Rules may, as per the ESLint user guide, have their own individual options. In eslint-plugin-jsdoc, a few options, such as, exemptedBy and contexts, may be used across different rules. eslint-plugin-jsdoc options, if present, are generally in the form of an object supplied as the second argument in an array after the error level (any exceptions to this format are explained within that rule's docs). One can use minLines and maxLines to indicate how many line breaks (if any) will be checked to find a jsdoc comment block before the given code block. These settings default to 0 and 1 respectively. In conjunction with the require-jsdoc rule, these settings can be enforced so as to report problems if a jsdoc block is not found within the specified boundaries. The settings are also used in the fixer to determine how many line breaks to add when a block is missing.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 9
    prettier-eslint

    prettier-eslint

    Formats your JavaScript using prettier followed by eslint --fix

    The fix feature of eslint is pretty great and can auto-format/fix much of your code according to your ESLint config. prettier is a more powerful automatic formatter. One of the nice things about prettier is how opinionated it is. Unfortunately, it's not opinionated enough and/or some opinions differ from my own. So after prettier formats the code, I start getting linting errors. This formats your code via prettier, and then passes the result of that to eslint --fix. This way you can get the benefits of prettier's superior formatting capabilities, but also benefit from the configuration capabilities of eslint. The path of the file being formatted can be used to override eslintConfig (eslint will be used to find the relevant config for the file).
    Downloads: 5 This Week
    Last Update:
    See Project
  • Intelligent Automation Solutions Built for Modern Finance Teams Icon
    Intelligent Automation Solutions Built for Modern Finance Teams

    We do CFO stuff.

    Digitally transform your business with workflow automation and integrated payment solutions. Digitally store and secure your data with advanced search and accessibility features that keeps your documents at the tip of your team’s fingers.
    Learn More
  • 10
    Async PHP

    Async PHP

    Easily run code asynchronously

    Spatie Async is a PHP library that allows developers to run parallel processes using asynchronous tasks. It helps optimize performance by executing long-running or resource-intensive tasks concurrently, instead of sequentially. The library is easy to use and integrates well with existing PHP applications, making it suitable for batch processing, data scraping, or any scenario where concurrency can boost efficiency.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 11
    Flow

    Flow

    A static type checker for JavaScript

    Flow is a static type checker for JavaScript. It was designed to help improve code quality and developer productivity. It does this through several smart capabilities. First, it identifies problems as you code, so you no longer have to waste time guessing and checking again and again. Second, it understands your code and makes its knowledge available, allowing you to build other smart tools on top of it. Third, it helps you refactor safely so you can focus on the changes you want to make and not on what you might break. Lastly, it can help prevent bad rebases and protect your carefully designed library, which is especially relevant when working with a large group of developers. Flow integrates with many tools, so you can easily and seamlessly insert it into your existing workflow and toolchain.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 12
    NERD Commenter

    NERD Commenter

    Vim plugin for intensely nerdy commenting powers

    NERD Commenter is a Vim plugin offering powerful and highly customizable commenting capabilities. It simplifies toggling comments, supports multiple styles and nesting, and integrates cleanly with various plugin managers. Several settings can be added to your vimrc to change the default behavior. While the plugin does not directly support motions, you can leverage its support for selections to do something very similar. You can turn off default settings mappings to provide your own from scratch. Comment out the current line or text selected in visual mode.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 13
    OpenRewrite

    OpenRewrite

    Automated mass refactoring of source code

    The OpenRewrite project is a mass source code refactoring ecosystem. Reduce 1000s of hours of static code analysis fixes to minutes. Turn a four-month migration project into four hours of work. Patch security vulnerabilities across 100s of repositories at once. OpenRewrite automates code refactoring and remediation tasks for you, enabling developers to deliver more business value. OpenRewrite's refactoring engine and recipes will always be open-source. Build tool plugins like OpenRewrite Gradle Plugin and OpenRewrite Maven Plugin help you run these recipes on one repository at a time. Moderne is a complementary product that executes OpenRewrite recipes at scale on hundreds of millions of lines of code and enables mass-committing of results. Moderne freely runs a public service for the benefit of thousands of open-source projects.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 14
    Sloc Cloc and Code (scc)

    Sloc Cloc and Code (scc)

    Sloc, Cloc and Code: scc is a very fast accurate code counter

    Sloc, Cloc and Code: scc is a very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go. The tool is similar to cloc, sloccount and tokei. For counting the lines of code, blank lines, comment lines, and physical lines of source code in many programming languages. The goal is to be the fastest code counter possible, but also perform COCOMO calculations like sloccount, estimate code complexity similar to cyclomatic complexity calculators, and produce unique lines of code or DRYness metrics. In short one tool to rule them all.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 15
    eslint-plugin-flowtype

    eslint-plugin-flowtype

    Flow type linting rules for ESLint

    Flow type linting rules for ESLint. This plugin exports a recommended configuration that enforces Flow type good practices. To enable this configuration use the extends property in your .eslintrc config file. ESLint is designed to be flexible and configurable for your use case. You can turn off every rule and run only with basic syntax validation or mix and match the bundled rules and your custom rules to fit the needs of your project. There are two primary ways to configure ESLint. Use JavaScript comments to embed configuration information directly into a file. Use a JavaScript, JSON, or YAML file to specify configuration information for an entire directory and all of its subdirectories. This can be in the form of a .eslintrc.* file or an eslintConfig field in a package.json file, both of which ESLint will look for and read automatically, or you can specify a configuration file on the command line.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 16
    jscodeshift

    jscodeshift

    A JavaScript codemod toolkit

    jscodeshift is a toolkit for running codemods over multiple JavaScript or TypeScript files. It provides A runner, which executes the provided transform for each file passed to it. It also outputs a summary of how many files have (not) been transformed. A wrapper around recast, providing a different API. Recast is an AST-to-AST transform tool and also tries to preserve the style of original code as much as possible. As already mentioned, jscodeshift also provides a wrapper around recast. In order to properly use the jscodeshift API, one has to understand the basic building blocks of recast (and ASTs) as well. An AST node is a plain JavaScript object with a specific set of fields, in accordance with the Mozilla Parser API. The primary way to identify nodes is via their type. It's OK to not know the structure of every AST node type. The (esprima) AST explorer is an online tool to inspect the AST for a given piece of JS code.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 17
    Performs basic checks on shell scripts for the presence of non portable syntax.
    Leader badge
    Downloads: 81 This Week
    Last Update:
    See Project
  • 18
    Application Inspector

    Application Inspector

    A source code analyzer built for surfacing features of interest

    Microsoft Application Inspector is a software source code characterization tool that helps identify coding features of first or third party software components based on well-known library/API calls and is helpful in security and non-security use cases. It uses hundreds of rules and regex patterns to surface interesting characteristics of source code to aid in determining what the software is or what it does from what file operations it uses, encryption, shell operations, cloud API's, frameworks and more and has received industry attention as a new and valuable contribution to OSS on ZDNet, SecurityWeek, CSOOnline, Linux.com/news, HelpNetSecurity, Twitter and more and was first featured on Microsoft.com. Application Inspector is different from traditional static analysis tools in that it doesn't attempt to identify "good" or "bad" patterns; it simply reports what it finds against a set of over 400 rule patterns for feature detection including features that impact security.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 19
    Cinder

    Cinder

    Community-developed library for professional-quality creative coding

    Cinder is a free and open source library for professional-quality creative coding in C++. Cinder is available under the BSD License for macOS and Windows. The latest version is 0.9.2. To keep up-to-date with Cinder’s development, consider working from the github repository directly. Cinder is a C++ library for programming with aesthetic intent - the sort of development often called creative coding. This includes domains like graphics, audio, video, and computational geometry. Cinder is cross-platform, with official support for macOS, Windows, Linux, iOS, and Windows UWP. Cinder is production-proven, powerful enough to be the primary tool for professionals, but still suitable for learning and experimentation. Full keyboard, mouse (including scroll wheel), window, and file drag and drop.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 20
    Fork TS Checker Webpack Plugin

    Fork TS Checker Webpack Plugin

    Webpack plugin that runs typescript type checker on a separate process

    Webpack plugin that runs TypeScript type checker on a separate process. Speeds up TypeScript type checking (by moving it to a separate process). Supports modern TypeScript features like project references and incremental mode. Supports Vue Single File Component. Displays nice error messages with the code frame formatted. This plugin requires Node.js >=12.13.0+, Webpack ^5.11.0, TypeScript ^3.6.0. It's very important to be aware that this plugin uses TypeScript's, not webpack's modules resolution. It means that you have to setup tsconfig.json correctly. Options passed to the plugin constructor will overwrite options from the cosmiconfig (using deepmerge). It requires TypeScript >= 3.8.0 (it's a limitation of the transpileOnly mode from ts-loader) When using TypeScript 4.3.0 or newer you can profile long type checks by setting "generateTrace" compiler option.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 21
    Luacheck

    Luacheck

    A tool for linting and static analysis of Lua code

    Luacheck is a static analyzer and a linter for Lua. Luacheck detects various issues such as usage of undefined global variables, unused variables and values, accessing uninitialized variables, unreachable code and more. Most aspects of checking are configurable: there are options for defining custom project-related globals, for selecting set of standard globals (version of Lua standard library), for filtering warnings by type and name of related variable, etc. The options can be used on the command line, put into a config or directly into checked files as Lua comments. Luacheck supports checking Lua files using the syntax of Lua 5.1, Lua 5.2, Lua 5.3, and LuaJIT. Luacheck itself is written in Lua and runs on all of the mentioned Lua versions.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 22
    PHP Parser

    PHP Parser

    A PHP parser written in PHP

    This is a PHP 5.2 to PHP 8.0 parser written in PHP. Its purpose is to simplify static code analysis and manipulation. A parser is useful for static analysis, manipulation of code and basically any other application dealing with code programmatically. A parser constructs an Abstract Syntax Tree (AST) of the code and thus allows dealing with it in an abstract and robust way. As the parser is based on the tokens returned by token_get_all (which is only able to lex the PHP version it runs on), additionally a wrapper for emulating tokens from newer versions is provided. This allows to parse PHP 7.4 source code running on PHP 7.0, for example. This emulation is somewhat hacky and not perfect, but it should work well on any sane code. Support for pretty printing, which is the act of converting an AST into PHP code. Please note that "pretty printing" does not imply that the output is especially pretty.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 23
    SafeQL

    SafeQL

    Validate and auto-generate TypeScript types from raw SQL queries

    SafeQL is an ESLint plugin for writing SQL queries in a type-safe way. SafeQL automatically infers the type of the query result based on the query itself. SafeQL works with any PostgreSQL client, including Prisma, Sequelize, pg, Postgres.js, and more. SafeQL was built in mind to be easy to use and integrate with your existing codebase. SafeQL was built with monorepos and microservices in mind, and it's easy to use with multiple databases. SafeQL is an ESLint plugin that helps you write SQL (PostgreSQL) queries safely. SafeQL was never meant to replace your current SQL library. Instead, It's a plugin that you can use to add extra functionality to your existing SQL library. It means that you can use SafeQL with any SQL library that you want. You can even use SafeQL with multiple SQL libraries at the same time.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 24
    codeium-chrome

    codeium-chrome

    Free, ultrafast code autocomplete for Chrome

    Free, ultrafast code autocomplete for Chrome. Codeium autocompletes your code with AI in all major IDEs. This includes web editors as well. The content attribute accepts a comma-separated list of supported editors. These currently include: "monaco" and "codemirror5".
    Downloads: 3 This Week
    Last Update:
    See Project
  • 25
    eslint-plugin-import

    eslint-plugin-import

    ESLint plugin with rules that help validate proper imports.

    This plugin intends to support linting of ES2015+ (ES6+) import/export syntax, and prevent issues with misspelling of file paths and import names. All the goodness that the ES2015+ static module syntax intends to provide, is marked up in your editor. The maintainers of eslint-plugin-import and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open-source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. With the advent of module bundlers and the current state of modules and module syntax specs, it's not always obvious where import x from 'module' should look to find the file behind module. Up through v0.10ish, this plugin has directly used substack's resolve plugin, which implements Node's import behavior. This works pretty well in most cases.
    Downloads: 3 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB