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

salesforce-react-scripts

v4.0.4-0

Published

Configuration and scripts for Create React App for Salesforce

Downloads

24

Readme

react-scripts

This package includes scripts and configuration used by Create React App. Please refer to its documentation:

Forked for Salesforce

This is a fork of react-scripts. Along with the base scripts off the official distribution, this includes customizations for Visualforce pages.

Install

npm install -g create-react-app
create-react-app my-react-app --scripts-version salesforce-react-scripts

Configure

Credentials

Update your deployment credentials in .env.local:

  • SF_LOGIN_URL - Login URL
  • SF_USERNAME - Username of deploying user
  • SF_PASSWORD - Password + security token of deploying user

Naming of deployed controller, page, static resource

By default, naming is inferred from the name field in package.json. For example, if the package's name value is my-react-app, the name MyReactApp will be used.

These variables may be configured in your app's .env file.

  • REACT_APP_SF_PREFIX - Defaults to the value as described above.
  • REACT_APP_SF_CONTROLLER - The page's controller name. An empty class will be deployed if it does not already exist. This value is used in public/visualforce.html and may be used in your code to reference @RemoteAction methods, eg. window[process.env.REACT_APP_SF_CONTROLLER].myMethod. Defaults to ${REACT_APP_SF_PREFIX}Controller
  • REACT_APP_SF_PAGE - Name of the generated VisualForce page. The page is generated using public/visualforce.html. Defaults to the value of REACT_APP_SF_PREFIX.
  • REACT_APP_SF_STATIC_RESOURCE - Name of the static resource containing containing the contents of /build. Defaults to REACT_APP_SF_PREFIX.

Deploy

yarn build && yarn deploy

The deploy script will:

  1. Bundle the build directory and deploy it as a static resource (eg MyReactApp.resource),
  2. Create a blank Apex controller (eg MyReactAppController) if one does not exist,
  3. Deploy a Visualforce page (eg MyReactApp.page) using the template at public/visualforce.html

Service Workers

Service workers, such as the one included in Create React App, are not currently supported.

Configuration & Plugin Support (unofficial)

This is an unofficial fork that extends Create React App with an interface for plugins and custom config.

If a cra.config.js plugin doesn't exist, there's no difference than if you were using the official package.

Configuration

An ES5 module exported by cra.config.js at the app's root is used for configuration. Each property is optional.

| Property | Type | Description | | --------- | --------------------- | ------------------------------------------ | | [plugins] | array | plugin references or names. default: [] | | [apply] | function | webpack config. default: identity function | | [babel] | function | babel config. default: identity function |

Example

module.exports = {
  // Load plugins by name and/or by reference. Loading plugins by name is for
  // convenience, eg. `'css-modules'` is the same as `require('react-scripts-plugin-css-modules')`
  plugins: ['no-minify', require('./my-internal-plugin')],

  // Webpack configuration
  apply: (config, { env, paths }) => {
    return config;
  },

  // Babel configuration
  babel: (config, { env, paths }) => {
    return config;
  },
};

Plugins

A plugin is simply an exported custom config without the plugins property.

Available Plugins