Grunt: The JavaScript Task Runner

Overview
Comments
  • Grunt needs your help!

    Grunt needs your help!

    We're looking for some help maintaining Grunt. Are you interested?

    There are a number of specific things the project needs, such as:

    • General grunt and grunt-cli maintenance
    • Grunt contrib plugin maintenance
    • Website / docs maintenance
    • Issue triage
    • New features (version 1.0? 2.0? The future!)

    If you're interested, please reply in this thread. Let us know how you're interested in helping, and we'll figure out where to go from there. Thanks!

    UPDATED: Please read the post at the bottom. Contributions and new helpers welcome!

    gruntjs "org"  
    opened by cowboy 105
  • Promoting Grunt?

    Promoting Grunt?

    How can we better promote Grunt?

    I, along with @sindresorhus and @kahlil, who emailed us recently, have a few ideas.

    We should:

    • Tweet more consistently.
    • Publish regular blog posts highlighting favorite plugins, tutorials, releases, etc.
    • Create our own tutorials, screencasts, guides.
    • Adjust docs to address community questions or misunderstandings.
    • Respond to StackOverflow questions tagged gruntjs.
    • Respond to relevant community comments, in general.

    What else?

    needs discussion gruntjs "org" 
    opened by cowboy 83
  • Built with Grunt mini-badge

    Built with Grunt mini-badge

    To help promote Grunt let's create a mini-badge developers can put in their README.md to "promote" that the project is using Grunt.

    I was thinking about size (same height at least):

    Build Status

    With this content:

    (Or just "Built with Grunt")

    I can't think helpful dynamic content to put there like how the Travis badge works, maybe somebody has suggestions?

    Until then it could be a static image that links to http://gruntjs.com/

    gruntjs "org" 
    opened by dylang 44
  • Any PhantomJS timeouts with Qunit plugin?

    Any PhantomJS timeouts with Qunit plugin?

    @cowboy Have you encountered this issue with the Qunit task? creynders/grunt-jasmine-task#4 I'm getting multiple complaints about phantomjs timing out, but all barebones versions they provide me with work on my setup. The jasmine plugin was largely based on your QUnit plugin and calls phantomjs in largely the same fashion, so it puzzles me that I haven't seen any of these issues with your Qunit plugin.

    opened by creynders 43
  • Grunt 0.4.0 fails on parsing arguments on latest node(0.9.12 (x64))

    Grunt 0.4.0 fails on parsing arguments on latest node(0.9.12 (x64))

    When I run grunt command like this: C:\dem2cz_node_app>grunt.cmd Fatal error: Arguments to path.resolve must be strings.

    I immediately get that error. I have grunt-cli of version 0.1.6

    My grunt module tree looks like this: [email protected] node_modules\grunt ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ([email protected]) ├── [email protected] ([email protected]) ├── [email protected] ([email protected], [email protected]) ├── [email protected] ([email protected], [email protected]) └── [email protected] ([email protected])

    Tested on multiple machines-all of which were running Windows.

    opened by capaj 42
  • Windows: 'grunt' is not recognized as an internal or external command

    Windows: 'grunt' is not recognized as an internal or external command

    When I npm install -g grunt, grunt is not adding a binary to C:\Documents and Settings\apenneba\npm\. The result is that attempts to run grunt in Command Prompt fail with:

    'grunt' is not recognized as an internal or external command
    

    System:

    I repeated npm install -g grunt, grunt in Command Prompt as well as Git Bash. In either case, grunt fails to add itself to PATH.

    Other packages like mocha, jshint, nodeunit, and tap are successfulling adding themselves to PATH.

    $ specs node git os
    Specs:
    
    specs 0.4
    https://github.com/mcandre/specs#readme
    
    npm --version
    1.2.17
    
    node --version
    v0.10.3
    
    git --version
    git version 1.8.0.msysgit.0
    
    systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
    OS Name:                   Microsoft Windows XP Professional
    OS Version:                5.1.2600 Service Pack 3 Build 2600
    
    opened by mcandre 41
  • fix underscore.string version 2.2.0rc to 2.2.0-rc

    fix underscore.string version 2.2.0rc to 2.2.0-rc

    Hi, I can't install gruntjs.

    $ npm install grunt
    

    then error

    npm ERR! Error: No compatible version found: underscore.string@'>=2.2.0rc <2.3.0-'
    npm ERR! Valid install targets:
    npm ERR! ["0.9.2","1.0.0","1.1.3","1.1.4","1.1.5","1.1.6","2.0.0","2.1.0","2.1.1","2.3.0","2.3.1","2.2.0-rc"]
    

    so I fixed package.json dependencies version.

    thanks.

    opened by e-jigsaw 39
  • Interest in a plugin to install source control hooks?

    Interest in a plugin to install source control hooks?

    In a build system that I currently use, the initialize build command adds commit hooks for the branch. I'm considering porting this over to Grunt as a plugin. After grunt initialized, the lint and qUnit or any other required commands would be run pre-commit.

    Before I wrote anything, I thought I'd see if there was any interest in this, or if anyone has put together a plugin for this yet.

    feature needs discussion 
    opened by there4 39
  • Watch task - potentially useful feature request

    Watch task - potentially useful feature request

    I wanted to bring up a watch task scenario that might by useful and not that uncommon.

    Currently the watch task allows us to monitor a file, a group of files or a folder for changes for certain type of files and upon change fire a task that is already defined. This is great but I think there is space and a need for improvement.

    Lets say we want to use the watch task for things like CoffeScript, Less, Stylus compiling instead of using their own watch features for the purpose of centralizing our tasks and also fill in for the absence of a watch feature like in the case of Less.

    At this point when a task is initiated upon a file change we can only run an existing task without really knowing which file has changed. If the name of the file that has changed can be passed to a task that knows how to handle it would be very beneficial.

    I'll try to explain with an example:

    Lets say we are watching a folder for changes in CoffeScript files. If one file changes, we don't necessarily want to re-compile all the files but just the one that has changed.

    Given that currently there is no way for tasks to communicate with one another, enabling such mechanism may even lead to some other useful stuff.

    Ultimately I'd like to use grunt for everything that it is or potentially might be able to handle and avoid the need of using other build / minify / compile tools.

    feature 
    opened by zonak 38
  • Organize Gruntfiles by Packages / Features

    Organize Gruntfiles by Packages / Features

    Grunt's config file is organized by tasks.
    This makes it very difficult to organize. Even if split into separate task files, it's likely that a single feature will span several tasks, and multiple features will overlap tasks.

    The concept of Package by feature, not layer would greatly improve the way we organize our Gruntfile configuration.

    @cowboy @stevenvachon @k3n @brian-frichette Thoughts?

    opened by scottrippey 37
  • best filename for grunt configuration?

    best filename for grunt configuration?

    Right now it's called grunt.js which makes me think it's the actual source of Grunt, which it clearly is not.

    • In Rake, we have Rakefile
    • In Make, we have Makefile
    • In Jake, we have Jakefile
    • In Ant: build.xml

    Should the configuration file for the project be something other than grunt.js? Perhaps like gruntfile.js or Gruntfile ?

    opened by paulirish 33
  • start testing 3 latest stable branches

    start testing 3 latest stable branches

    https://github.com/gruntjs/grunt/blob/82d79b803798f2a5f19662df9e12bef977dfa189/.github/workflows/test.yml#L16 https://github.com/gruntjs/grunt/blob/82d79b803798f2a5f19662df9e12bef977dfa189/package.json#L10

    Propose doing:

    node: [14, 16, 18] 
    "node": ">=14.14"
    

    why 14.14 specifically? fs has rm that can replace rimraf

    opened by jimmywarting 0
  • Check for github action updates weekly

    Check for github action updates weekly

    This will use dependabot to update any github action which this project uses.

    https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot

    opened by jlosito 0
  • Getting Started with GRUNT

    Getting Started with GRUNT

    Where to start if you are new to GRUNT?

    Can you help me start with using GRUNT (or is it a legacy tool???)

    Is the documentation up to date?

    I am unsure how to start using GRUNT (with VS Code in a TypeScript project) and I do not know if it is still a thing that many people are using or not... I have the impression that it could help me fix many many problems I have at managing my (too many) projects...

    I am new to GRUNT and I was looking at the documentation and the version was off compared to the available version on NPM.

    At the moment of writing this:

     It appears that the version was updated only 12 hours ago 🎉

    Useless rant to make you smile

    I have that same feeling as when you arrive at the party and the best food in the buffet is all gone... I am unsure if I am too late to get into the GRUNT adventure when I read stuff like -> Grunt 0.4.x requires stable Node.js versions >= 0.8.0 or Be advised Grunt 1.0.0 no longer supports Node.js v0.8.

    I think I started using nodeJS at v8.x and I have looked up on Wikipedia for insight but the information about older versions only starts at 0.10 (Node.js 0.8.0 was introduced on 2012-06-22).

    opened by Luxcium 1
  • Error: Cannot find module 'liftoff'

    Error: Cannot find module 'liftoff'

    When I try to run the grunt command I get the following error:

    node:internal/modules/cjs/loader:936
      throw err;
      ^
    
    Error: Cannot find module 'liftoff'
    Require stack:
    - /usr/share/nodejs/grunt-cli/bin/grunt
        at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
        at Function.Module._load (node:internal/modules/cjs/loader:778:27)
        at Module.require (node:internal/modules/cjs/loader:1005:19)
        at require (node:internal/modules/cjs/helpers:102:18)
        at Object.<anonymous> (/usr/share/nodejs/grunt-cli/bin/grunt:7:15)
        at Module._compile (node:internal/modules/cjs/loader:1101:14)
        at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
        at Module.load (node:internal/modules/cjs/loader:981:32)
        at Function.Module._load (node:internal/modules/cjs/loader:822:12)
        at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
      code: 'MODULE_NOT_FOUND',
      requireStack: [ '/usr/share/nodejs/grunt-cli/bin/grunt' ]
    }
    
    • Node.js: v16.13.0
    • NPM: 8.1.0
    opened by w3lifer 3
Releases(v1.5.3)
  • v1.5.3(May 10, 2022)

    • Merge pull request #1745 from gruntjs/fix-copy-op 572d79b
    • Patch up race condition in symlink copying. 58016ff
    • Merge pull request #1746 from JamieSlome/patch-1 0749e1d
    • Create SECURITY.md 69b7c50

    https://github.com/gruntjs/grunt/compare/v1.5.2...v1.5.3

    Source code(tar.gz)
    Source code(zip)
  • v1.5.2(Apr 12, 2022)

    • Update Changelog 7f15fd5
    • Merge pull request #1743 from gruntjs/cleanup-link b0ec6e1
    • Clean up link handling 433f91b

    https://github.com/gruntjs/grunt/compare/v1.5.1...v1.5.2

    Source code(tar.gz)
    Source code(zip)
  • v1.5.1(Apr 11, 2022)

    • Merge pull request #1742 from gruntjs/update-symlink-test ad22608
    • Fix symlink test 0652305

    https://github.com/gruntjs/grunt/compare/v1.5.0...v1.5.1

    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Apr 11, 2022)

    • Updated changelog b2b2c2b
    • Merge pull request #1740 from gruntjs/update-deps-22-10 3eda6ae
    • Update testing matrix 47d32de
    • More updates 2e9161c
    • Remove console log 04b960e
    • Update dependencies, tests... aad3d45
    • Merge pull request #1736 from justlep/main fdc7056
    • support .cjs extension e35fe54

    https://github.com/gruntjs/grunt/compare/v1.4.1...v1.5.0

    Source code(tar.gz)
    Source code(zip)
  • v1.4.1(May 24, 2021)

    • Update Changelog e7625e5
    • Merge pull request #1731 from gruntjs/update-options 5d67e34
    • Fix ci install d13bf88
    • Switch to Actions 08896ae
    • Update grunt-known-options eee0673
    • Add note about a breaking change 1b6e288

    https://github.com/gruntjs/grunt/compare/v1.4.0...v1.4.1

    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Apr 22, 2021)

    • Merge pull request #1728 from gruntjs/update-deps-changelog 63b2e89
    • Update changelog and util dep 106ed17
    • Merge pull request #1727 from gruntjs/update-deps-apr 49de70b
    • Update CLI and nodeunit 47cf8b6
    • Merge pull request #1722 from gruntjs/update-through e86db1c
    • Update deps 4952368

    https://github.com/gruntjs/grunt/compare/v1.3.0...v1.4.0

    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Aug 18, 2020)

    • Merge pull request #1720 from gruntjs/update-changelog-deps faab6be
    • Update Changelog and legacy-util dependency 520fedb
    • Merge pull request #1719 from gruntjs/yaml-refactor 7e669ac
    • Switch to use safeLoad for loading YML files via file.readYAML. e350cea
    • Merge pull request #1718 from gruntjs/legacy-log-bumo 7125f49
    • Bump legacy-log 00d5907

    https://github.com/gruntjs/grunt/compare/v1.2.1...v1.3.0

    Source code(tar.gz)
    Source code(zip)
  • v1.2.1(Jul 7, 2020)

    • Changelog update ae11839
    • Merge pull request #1715 from sibiraj-s/remove-path-is-absolute 9d23cb6
    • Remove path-is-absolute dependency e789b1f

    https://github.com/gruntjs/grunt/compare/v1.2.0...v1.2.1

    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Jul 3, 2020)

    • Allow usage of grunt plugins that are located in any location that is visible to Node.js and NPM, instead of node_modules directly inside package that have a dev dependency to these plugins. (PR: https://github.com/gruntjs/grunt/pull/1677)
    • Removed coffeescript from dependencies. To ease transition, if coffeescript is still around, Grunt will attempt to load it. If it is not, and the user loads a CoffeeScript file, Grunt will print a useful error indicating that the coffeescript package should be installed as a dev dependency. This is considerably more user-friendly than dropping the require entirely, but doing so is feasible with the latest grunt-cli as users may simply use grunt --require coffeescript/register. (PR: https://github.com/gruntjs/grunt/pull/1675)
    • Exposes Grunt Option keys for ease of use. (PR: https://github.com/gruntjs/grunt/pull/1570)
    • Avoiding infinite loop on very long command names. (PR: https://github.com/gruntjs/grunt/pull/1697)
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Mar 17, 2020)

Task toolkit. For when `npm run` isn't enough and everything else is too much.

For when npm run isn't enough and everything else is too much. Ygor is a no-frills toolkit consisting of a task runner and a file transformer. Enjoy a

Shannon Moeller 68 Nov 12, 2022
A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript.

InversifyJS A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript. About InversifyJS is a ligh

inversify 9.5k Jan 4, 2023
Builder: A gulp-like build system with modern JavaScript

Builder: A gulp-like build system with modern JavaScript What is this? This is a build system meant to automate tasks. At this point it’s merely a con

Wladimir Palant 7 Mar 22, 2022
Satyam Sharma 3 Jul 8, 2022
Richard Chileya 5 Nov 11, 2022
⚡️The Fullstack React Framework — built on Next.js

The Fullstack React Framework "Zero-API" Data Layer — Built on Next.js — Inspired by Ruby on Rails Read the Documentation “Zero-API” data layer lets y

⚡️Blitz 12.5k Jan 4, 2023
zieeco 12 Jul 8, 2022
:red_circle: Functional task runner for Node.js

start ⚠️ Project has been transferred to NexTools metarepo functional – in all senses fast – parallelism and concurrency shareable – presets as publis

Kir Belevich 477 Dec 15, 2022
This "To-do-list" app is a simple web application that displays a list of task and allows you to add and remove task from that list. it is built with the latest technology namely; JavaScript with webpack Configuration.

To-do-list "To-do-list" is a simple web application that displays a list of task and allows you to add and remove task from that list. Built With HTML

Aniekan udo 10 Nov 21, 2022
"To Do List" is a minimalist project that displays a list of task and allows you to add and remove task from that list. Built with JavaScript

To Do List Structure Solo programming project for module 2 week 2 of the Microverse Program. Live Demo Live Demo Link "To Do List" is a minimalist pro

Yersel Hurtado 7 Mar 5, 2022
Redis-backed task queue engine with advanced task control and eventual consistency

idoit Redis-backed task queue engine with advanced task control and eventual consistency. Task grouping, chaining, iterators for huge ranges. Postpone

Nodeca 65 Dec 15, 2022
Practice Task of HTML - Mache Free Template (PSD to HTML) - Home Task (CTG)

Practice Task of HTML - Mache Free Template (PSD to HTML) - Home Task (CTG) This Assignment is mainly on PSD TO HTML along with HTML,CSS As a Basic HT

Yasir Monon 1 Jan 29, 2022
This "To-do-list" app is a simple web application that displays a list of task and allows you to add and remove task from that list

This "To-do-list" app is a simple web application that displays a list of task and allows you to add and remove task from that list. it is built with the latest technology including but not limited to HTML, CSS, JavaScript and webpack to manipulate DOM.

Jerry Owusu 2 Feb 19, 2022
This is a project being built to show the usage of Webpack. It's an application were you are able to add a task to the list, and remove a task from the list

Microverse Project To Do List This is a project being built to show the usage of webpack. Its an application were you are able to add a task to the li

Roland Ossisa Yuma 4 May 6, 2022
The ToDoList app let you create a task, added to a list of task, mark it as complete, and delete individual or multiple tasks at the same time

The ToDoList app let you create a task, added to a list of task, mark it as complete, and delete individual or multiple tasks at the same time. The app manipulate the Local-Storag so you can save your tasks there. Built with HTML, CSS and JavaScript. First practice using Webpack, Modules and tests with Jest

Tomas Milanesi 12 Jul 21, 2022
A to-do-list project is about keeping the track of all the daily task. This application can add move or delete task.

TO-DO LIST This is a project that create a simple todo tool that help you organize your day. This is build using ES6 and webpack. Built With HTML CSS

suzana marsela 8 Oct 26, 2022
A to-do list Web application that lets the user add, remove and reorder to do lists and checks a task when completed with a button to delete all completed task

TO DO LISTS A Web application that lets the user add, remove and reorder to do lists Built With Html,JS,CSS Webpack and other dependencies Git, Github

Promise Okechukwu 14 Nov 1, 2022