npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

turbobuilder

v8.0.0

Published

Command line tool with a massive amount of features to help with daily development tasks: build projects, run unit tests, generate docs, upload to ftp, compress images, detect duplicate code, force copyright headers, and many more features

Downloads

62

Readme

TurboBuilder

Command line tool with a massive amount of features to help with daily development tasks: build projects, run unit tests, generate docs, upload to ftp, compress images, detect duplicate code, force copyright headers, start / stop docker containers, and many more features

Main features

  • Runs via node command line
  • Totally configurable with a single turbobuilder.json setup file
  • Build projects with several languages: JavaScript, Typescript, Php, Css, Java
  • Covers the whole project development cycle: Build, deploy, validate, test and generate a production release

Build features

  • Improved node cmd projects building process
  • Compiles source code for several modern languages
  • Compile turbosite projects to create fully featured websites or webservices
  • Compile php libraries as a single phar file
  • Compile java libraries as a single jar file
  • Compile js libraries as a single .js file (generate the ES4, ES5 and ES6 versions at the same time)
  • Compile typescript libraries with output to typescript, ES5, ES6, etc...
  • Improved building process for Angular applications (typescript)
  • Improved building process for Angular libraries (typescript)
  • Automatic version number generation
  • Automatically manages docker containers required by the project
  • Generates a 'target' folder containing all the results of the build

Deploy features

The following deploy operations can be enabled and customized via the turbobuilder.json setup file:

  • Automatically upload the compiled project files into a remote ftp location
  • Automatically copy the compiled project files into a local folder location

Validate features

The following validations can be customized via the turbobuilder.json setup file:

  • Automatic project structure and conventions validation
  • Prevent the existence of tabulation characters on the project files
  • Detect copy pasted code on the project and launch build warnings or build errors if necessary
  • Verify that all project source code files have all the same copyright header based on a template
  • Perform extra validation rules to css style sheets as part of the build process
  • Namespace validation for the languages that support it (Make sure all the declared namespaces follow the same rules)
  • Force use strict on all javascript files
  • Several custom extra validations for angular applications

Test features

  • Run unit tests as part of the build process (for supported languages)
  • Execute php unit tests with the PhpUnit library
  • Execute javascript unit tests with the jasmine library
  • Execute javascript unit tests with the Qunit library

Release features

  • Automatic merging of all the project javascript or typescript files to a single .js
  • Php phar generation
  • Java jar generation
  • Typescript transpilation to one or more javascript language versions at the same time
  • Js, css, html and php minification
  • Generate git changelog as part of the production release compilation
  • Automatic images compression and optimitzation for jpg and png files
  • Generate project documentation automatically for several languages: Php, Typescript, ...

How to use it

Install the cmd tool

TurboBuilder is based on nodejs but you only need basic terminal command line execution knowledge to run it. To install the turbobuilder cmd executable, follow these steps:

  1. Install the latest NodeJs version on your computer

  2. Open a terminal and run npm install -g turbobuilder to get the latest version

Generate a new empty project

TODO

Turbobuilder expected project structure

For the turbobuilder application to work, it expects to be run on a project that matches the following structure:

MyProjectFolder
│   turbobuilder.json
│
├───extras
│   ├───help
│   └───todo
├───src
│   ├───main
│   └───test

Configure the turbobuilder.json file on for the project

TODO

Validate the project

TODO

Build the project

TODO

Test the project

TODO

Generate a release production version of the project

TODO

Support

TurboBuilder is 100% free and open source, but we will be really pleased to receive any help, support, comments or donations to improve it. If you find any bug on your enviroment or OS, please tell us so we can improve the tool.

Donate

Donate