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

grunt-netsuite

v0.1.2

Published

Upload project files to Netsuite File Cabinet

Downloads

6

Readme

grunt-netsuite

Upload project files to Netsuite File Cabinet

Getting Started

This plugin requires Grunt ~1.0.4

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-netsuite --save-dev

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

grunt.loadNpmTasks('grunt-netsuite');

The netsuite task requires options. The samples below have the secure options in a file ns_config.json. This file should not be committed to version control or be allowed to escape to the public.

{

	"NS_CONSUMER_KEY" :    "from your integrations setup",
	"NS_CONSUMER_SECRET" : "from your integrations setup",
	"NS_TOKEN_ID" :        "from your token setup",
	"NS_TOKEN_SECRET" :    "from your token setup",
	"NS_ACCOUNT_ID" :"YOUR ACCOUNT ID. IN UPPERCASE IF IT HAS LETTERS",
	"NS_UPLOAD_PATH" : "https://account_id.restlets.api.netsuite.com... from the setup of the companion restlet"
}

Companion Bundle

This package works with a RESTlet that handles navigating the Netsuite file cabinet. Bundle 322271 is a public bundle that has the RESTLet and a role with just enough permissions for the uploads. The bundle's code is available at https://github.com/BKnights/grunt-netsuite-restlet

Access

In order to use the RESTlet you'll need to create access. See the Netsuite help for creating an integration and token based access.

When the integration is created Netsuite will present integration id and secret tokens. These should be copied and pasted to the ns_config.json file.

When the access tokens are created they too should be copied and pasted to the ns_config.json file.

When you have deployed the RESTlet (either via the bundle installation or by downloading and installing this code) copy its external URL to ns_config.json as well.

The "netsuite" task

Overview

In your project's Gruntfile, add a section named netsuite to the data object passed into grunt.initConfig(). Note the two ways to specify the root of the Netsuite destination. The 4085 is the internal id of a folder under Live Hosting Files.

var ns_config = require('./ns_config.json');

grunt.initConfig({
  netsuite: {
    options:Object.assign({
        rate_limit_delay:300,
        overwriteFiles:true,
        isPublic:true
      }, ns_config),
    web: {
      // Target-specific file lists and/or options go here.
      files: [
          {cwd:'path to file/not part of Netsuite path/', src:['**/*', '!*.bak'], filter:'isFile', dest:4085}
         ]
    },
    ssp: {
      files: [
        {cwd: 'project/path to/SSP/', src:['**/*', '!**/*.bak'], filter:'isFile', dest:'Web Site Hosting Files/Live Hosting Files/SSP Applications/KOTN/Simple'}
      ]
    }
  },
});

Watching files

If you want to watch files and upload them automatically then:

npm install grunt-contrib-watch --save-dev

Enable it inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-contrib-watch');
var ns_config = require('./ns_config.json');

grunt.initConfig({
  netsuite: {
    ...
  },

  watch:{
    options:{
      spawn:false
    },
    web:{
      files:  ['path to file/not part of Netsuite path/**/*'],
      tasks:['netsuite:web']
    },
    ssp:{
      files:  ['project/path to/SSP/**/*'],
      tasks:['netsuite:ssp']
    }

  }
}