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

sfdc-pkg-postinstall

v1.0.0

Published

Post-install script for salesforce packages

Downloads

9

Readme

sfdc package postinstall

This is a postinstall script to be included in you Salesforce packages that you want to publish on npm.

Getting Started

Usage:

Inside of your Salesforce package project that you want to publish to npm, initialize a package.json by running npm init or creating a package.json file manually.

$ npm init

Next install this postinstall script as a dependency using --save. It's very important that you install this as a dependency and not a devDependency because it needs to be installed when your package is installed.

$ npm install --save sfdc-pkg-postinstall

Now we need to add a simple postinstall script to the package.json scripts hash. Here is what needs to be added.

"postinstall": "node -e \"require('sfdc-pkg-postinstall').install()\""

Make sure you add the following keyword as one of your package's keywords. This will be used to facilitate easy searching for salesforce packages.

keywords: ["sfdc-package"]

Now you can publish your package to npm and install it in another project!

Check out my sfdc-trigger-framework project for an example of how this is accomplished. You can also check out the package.json in that project for a full working example.

Requirements

  • In this initial version, your salesforce metadata must be in a src directory and your subsequent folder structure should match what's returned from the metadata api. For example, Apex Classes should be in /src/classes.

Important Notes

  • THIS IS AN EXPERIMENTAL PROJECT - use at your own discretion. Also, help me out by contributing!
  • This script merges files into your project's src directory upon install. This is DESTRUCTIVE. Use version control and make sure you know what you're doing.
  • Salesforce code cannot be namespaced unless in a managed package. Therefore, name collisions on metadata files can occurr. For example, you may have an Apex class called MyClass.cls. If you npm install a salesforce package that also has a class called MyClass.cls, it will overwrite yours.
  • This does not deploy any code upon install. It simply merges the code into your projects src dir. You can use something like dmc to deploy your code or other common IDE's and tools like MavensMate.