Socket
Book a DemoInstallSign in
Socket

@ordercloud/seeding

Package Overview
Dependencies
Maintainers
10
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ordercloud/seeding

Download and upload seeding files from the OrderCloud platform.

latest
Source
npmnpm
Version
1.1.0
Version published
Weekly downloads
39
129.41%
Maintainers
10
Weekly downloads
 
Created
Source

@ordercloud/seeding

A CLI to download and upload serialized representations of full ordercloud marketplaces.

npm package

Ways to get started

  • For node.js users, install with npm i @ordercloud/seeding -g and then run seeding --help.

    • Alternatively, node.js users can run without install npx @ordercloud/seeding --help.
  • For docker users docker run --mount type=bind,source=<local directory>,target=/app oliverheywood/ordercloud-seeding --help.

    • Subsitute <local directory> for an absolute path in order for local file reading and writing to be mounted on the container.
  • Download an executable. Run like ./seeding-win.exe --help.

Operating SystemExecutable
Windowsseeding-win.exe
Macseeding-macos
Linuxseeding-linux

CLI Usage

Create a marketplace from a "Simple-B2C" template.

npx @ordercloud/seeding seed Simple-B2C -u={username} -p={password}

Create a marketplace based on data in a local file. Looks for files based on the directory the command is run from.

npx @ordercloud/seeding seed seed-data-file.yml -u={username} -p={password}

Create a marketplace based on a public url.

npx @ordercloud/seeding seed https://raw.githubusercontent.com/ordercloud-api/ordercloud-seed/main/seeds/Simple-B2C.yml -u={username} -p={password}

Download the data from an existing marketplace to a seed file.

npx @ordercloud/seeding download new-file-to-create.yml -i={existing-marketplace-id} -u={username} -p={password}

Validate that a local file would seed successfully.

npx @ordercloud/seeding validate my-file.yml

Javascript API Usage

import { download, seed, validate, SerializedMarketplace } from "@ordercloud/seeding";


var myData: SerializedMarketplace = { ... };

await seed({
   portalJWT: "xxxxxx", 
   rawData: myData,
   logger: (message:string, type: MessageType) => {
        console.log(message)
   }
}); 

Marketplace Templates

These are seeding files maintained as part of this repo that represent templates for common ordercloud use cases.

Command AliasRaw URL
seed Simple-B2Chttps://raw.githubusercontent.com/ordercloud-api/ordercloud-seed/main/seeds/Simple-B2C.yml

Development

  • Run npm install
  • Run npm run build everytime you change source files.
  • Run node ./dist/cli.js [command] to debug a command.
  • Run npm run test to run unit tests.

Nice to Have features

  • JSON as an option
  • Reference other files
  • Template variables in YAML for imports. Including allowing OC to define an ID and then applying it later.

Steps to release new version

Note: You must have node version 16 to build the package, you will get errors on node v17 and higher

  • Make your code changes
  • Run npm run build to build the code
  • Run npm run test to run the unit tests against your built code
  • Run npm run pkg to generate the executables (The following warning can be safely ignored: Warning Cannot resolve 'config.)
  • Update "version" field in package.json (use semver)
  • Commit all changes and push to master
  • Create a git release/tag
  • Run npm publish

FAQs

Package last updated on 20 Mar 2023

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