Socket
Socket
Sign inDemoInstall

grunt-snakeskin

Package Overview
Dependencies
237
Maintainers
1
Versions
41
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    grunt-snakeskin

Using Snakeskin templates with Grunt.


Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Install size
1.45 MB
Created
Weekly downloads
 

Readme

Source

grunt-snakeskin

Using Snakeskin templates with Grunt.

NPM version Build Status NPM dependencies NPM devDependencies NPM peerDependencies

Install

npm install grunt-snakeskin --save-dev

Usage

Gruntfile.js

module.exports = function (grunt) {
  grunt.initConfig({
    snakeskin: {
      compile: {
        options: {
          exec: true,
          prettyPrint: true
        },

        files: {
          'html/': ['test/fixtures/*.ss']
        }
      }
    }
  });

  grunt.loadNpmTasks('grunt-snakeskin');
  grunt.registerTask('default', ['snakeskin']);
};

Options

adapter

Type: String

Name of the adaptor, for example:

  • ss2react compiles Snakeskin for React
  • ss2vue compiles Snakeskin for Vue2

adapterOptions

Type: Object

Options for the used adaptor.

exec

Type: Boolean

Default: false

If the parameter is set to true the template will be launched after compiling and the results of it work will be saved.

dext

Type: String

Default: '.html'

Extension of a file with result after template execution (using with exec).

tpl

Type: String

The name of the executable template (if is set exec), if the parameter is not specified, then uses the rule:

%fileName% || main || index || Object.keys().sort()[0];

data

Type: ?

Data for the executable template (if is set exec).

Speed up your build

Do not recompile templates with exec: true option:

grunt.initConfig({
  snakeskin: {
    render: {
      options: {
        exec: true,
      },

      files: {
        // Specify compiled template as source
        'html/': ['compiled/*.ss.js']
      },

      // Additional dependencies for grunt-newer
      deps: ['mycode.js']
    }
  }
});

Compile newer files only

npm install grunt-newer --save-dev

Specify grunt-newer override function in the following way:

var gruntCfg = {
  ...
  newer: {
    options: {
      override: function(detail, include) {
        // Check snakeskin include dependencies
        if (detail.task === 'snakeskin' && detail.target.includes('compile')) {
          // Build dest path from template source path
          var dst = SS_BUILD_DIR + '/' + path.basename(detail.path) + '.js';
          if (snakeskin.check(detail.path, dst)) {
            return include(true);
          }
        }

        // Check dependencies from target configuration
        // detail.config was requested: https://github.com/tschaub/grunt-newer/pull/115
        if (detail.config.deps) {
          for (var i = 0; i < detail.config.deps.length; i++) {
            var fn = detail.config.deps[i];
            var ts = fs.statSync(fn).mtime;
            var difference = detail.time - ts;
            if (difference < this.tolerance) {
              console.log(detail.path + ' has a newer dependency ' + fn);
              return include(true);
            }
          }
        }

        return include();
      }
    }
  },
  ...
};

License

The MIT License.

Keywords

FAQs

Last updated on 23 Jan 2018

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc