Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sgmf-scripts

Package Overview
Dependencies
Maintainers
9
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sgmf-scripts

Scripts for sgmf overlay cartridges

  • 3.0.0
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
14K
increased by13.87%
Maintainers
9
Weekly downloads
 
Created
Source

SGMF Scripts

This repository contains a collection of scrips that are useful for creating Storefront Reference Architecture overlay cartridges. All of the scripts are executable through CLI.

New in v3.0.0

  • Support for Node 18
  • Webpack updated to v5+
  • Renamed master branch to main

Available commands

--help - Generate help message

--upload [path::String] - Upload a file to a sandbox. Requires dw.json file at the root directory.

--uploadCartridge [String] - Upload a cartridge. Requires dw.json file at the root directory.

--test [path::String] - Run unittests on specified files/directories.

--integration [path::String] - Run overlay integration tests on specified files/directories.

--cover [--include **/cartridges/**/*.js] [--exclude **/bin/**,**/cartridges/**] - Run all unittests with coverage report. The include and exclude parameter is meant to limit coverage reporting to the requested paths.

--compile String - Compile css/js files. - either: css or js

--lint String - Lint scss/js files. - either: js or css

--createCartridge String - Create new cartridge structure

--watch - Watch and upload files

Installation and usage

You can install this module from NPM command:

npm install sgmf-scripts --save-dev
npm run test:integration https://hostname/on/demandware.store/Sites-RefArch-Site/en_US
 {
            "type": "node",
            "request": "launch",
            "name": "Mocha overlay Integration Tests",
            "program": "${workspaceFolder}/../sgmf-scripts/index.js",
            "args": [
                "--integration",
                "test/integration/**/*.js",
                "--baseUrl",
                "https://hostname/on/demandware.store/Sites-RefArch-Site/en_US",  
            ],
            "cwd": "${workspaceFolder}",
            "internalConsoleOptions": "openOnSessionStart"
        }
}
1. From sgmf-scripts repo root directory
npm link
2. From plugin cartridge root directory
npm link sgmf-scripts
you will see something like this to indicate the link has created : 
/Users/xxx/Salesforce/plugin_giftregistry/node_modules/sgmf-scripts -> /usr/local/lib/node_modules/sgmf-scripts -> /Users/xxx/Salesforce/sgmf-scripts
3. To remove the link, just delete the node_modules directory and run npm install again

In order for all commands to work, this script makes a few assumptions:

  • There's a dw.json file at the root of your repository, that contains information with the path to your sandbox, as well as username and password
  • There's a cartridges top level folder that contains your cartridge
  • name property in package.json matches the name of your cartridge, or if it doesn't, there's a packageName property with the name of the cartridge
  • If this an overlay cartridge, package.json contains paths property, that's of type Array and contains key/value pairs with name/path to all cartridges that will come below yours. For example, if you are creating a cartridge that will be overlayed on top of app_storefront_base paths property will look something like this: [{ "base": "../sfra/cartridges/app_storefront_base"}]
  • ESLint and Stylelint are dev-dependencies of your cartridge. You have all required plugins and configs installed as well.
  • There's a webpack.config.js at the top of your project that specifies how to compile client-side JavaScript files.
  • Your package.json file contains browserslist key that specifies which browsers you are targeting, to compile SCSS files with correct prefixes. See https://github.com/ai/browserslist for more details

FAQs

Package last updated on 23 Jan 2024

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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc