🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

grunt-rendr-requirejs

Package Overview
Dependencies
Maintainers
2
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grunt-rendr-requirejs

Use RequireJS to package up your modules for use with Rendr (github.com/airbnb/rendr).

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
2
Created
Source

grunt-rendr-requirejs

Adopted grunt-rendr-stitch to use with RequireJS (work in progress).

Use RequireJS to package up your modules for use with Rendr (https://github.com/rendrjs/rendr).

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-rendr-requirejs --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-rendr-requirejs');

The "rendr_requirejs" task

Overview

In your project's Gruntfile, add a section named rendr_requirejs to the data object passed into grunt.initConfig().

grunt.initConfig({
  rendr_requirejs: {
    options: {
      appDir: 'assets',
      mainConfigFile: 'assets/common.js',
      dir: 'public',
      node_modules:
      [
        {name: 'async', location: 'async/lib', main: 'async.js'}
      ],
      modules: [
        {
          name: '../common',
          include:
          [
            'jquery',
            'async',
            'shared/module',
            'app/controller/Base',
            'app/model/Base'
          ],
        },
        {
            name: '../bundle',
            include: ['app/app'],
            exclude: ['../common']
        },
        {
            name: '../other-bundle',
            include: ['../other/foo'],
            exclude: ['../common']
        }
      ]
    }
  }
});

We can then use RequireJS in the browser to require any of the source files.

require(['app/views/user_show_view'], function(UserShowView)
{
  ...
});

Together with amdefine could be used for requiring modules in both Node.js and in the browser. For example:

if (typeof define !== 'function') {
  var define = require('amdefine')(module);
}

define(['../base'], function(BaseView) {

});

Options

options.node_modules

Type: Object Default value: {}

An object containing a list of node modules to pass as options.packages to requirejs.optimize().

options.node_modules is optional and can be omitted.

Release History

1.0.0

Update Rendr version to 1.0.1

0.3.3

Exposed unfoldPath, getModulePaths and findDependencies for better integration. Added _keepFullPath option to return list of fullpath files, useful for testing. (Experimental)

0.3.1

Exposed updateConfigNode method for grunt tasks. (Experimental) Added reset argument to updateConfigNode. (Experimental)

0.3.0

Added shallow option for modules multi-module and single file bundling. (Experimental) Added short form modules listing when shallow options is used.

0.2.1

Added content hashing function (Experimental).

0.2.0

Added glob parsing in include (root) blocks with mapping (paths) support (Experimental).

0.1.0

Changed resolution of node_modules section, now it will check dependencies of the rendr module and if not found, will travel up directory tree, same as standard dependency resolution.

0.0.1

grunt-rendr-stitch mangled into grunt-rendr-requirejs.

Keywords

gruntplugin

FAQs

Package last updated on 05 Mar 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts