Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lukethacoder/sfdx-starter

โšก on platform sfdx project starter with some base config, scripts and a custom lwc-local-dev-server (LWC Garden)
https://github.com/lukethacoder/sfdx-starter

apex-enterprise-patterns at4dx fflib lwc-garden lwc-local-dev-server salesforce salesforce-developers salesforcedx sfdx

Last synced: 3 months ago
JSON representation

โšก on platform sfdx project starter with some base config, scripts and a custom lwc-local-dev-server (LWC Garden)

Awesome Lists containing this project

README

        





Logo

sfdx-starter



quick start template for on-platform SFDX based projects.





Report Bug
ยท
Request Feature




[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]

Table of Contents



  1. About The Project



  2. Getting Started




  3. LWC Local Development



  4. Jest Testing

  5. License

  6. Contact

## About The Project

### Features

- ๐Ÿƒ lwc-local-dev-server ([LWC Garden](https://lwc.garden?utm_campaign=sfdx-starter))
- โš–๏ธ fflib/at4dx install script
- ๐Ÿ’… `prettier` & `eslint` config (feat. `githooks` to enforce `node_modules` install)
- ๐Ÿงช Jest Testing
- ๐Ÿ“œ helper scripts
- โš™๏ธ `project-scratch-def.json` config for communities, cms and knowledge
- โœ… `.vscode/tasks.json` Metadata tasks (Ctrl + Shift + B)
- ๐Ÿ™ˆ `.vscode/settings.json` to hide `.xml` files and less commonly used metadata. (This can be edited)

(back to top)

### Built with

- [![LWC][lwc]][lwc-url]
- [![PNPM][pnpm]][pnpm-url]
- [![Jest][jest]][jest-url]
- [![Prettier][prettier]][prettier-url]

(back to top)

## Getting Started

### Prerequisites

Make sure you have [`node`](https://nodejs.org/en), [`pnpm`](https://pnpm.io/) and [`sfdx`](https://developer.salesforce.com/tools/salesforcecli) installed.

### Installation

1. Go to [lukethacoder/sfdx-starter](https://github.com/lukethacoder/sfdx-starter)
2. Click "Use this template"

(back to top)

### fflib/at4dx

The script installs the following packages as a part of [the apex-enterprise-patterns](https://github.com/apex-enterprise-patterns).

- [fflib-apex-common](https://github.com/apex-enterprise-patterns/fflib-apex-common)
- [fflib-apex-mocks](https://github.com/apex-enterprise-patterns/fflib-apex-mocks)
- [force-di](https://github.com/apex-enterprise-patterns/force-di)
- [at4dx](https://github.com/apex-enterprise-patterns/at4dx)

Run the script with:

```cmd
node --harmony setup-fflib.mjs e- ORG_ALIAS
```

> [For more info, and an updated script](https://gist.github.com/lukethacoder/dd2af8ef3cc344b6dc15a9cd6a5569f2)

(back to top)

## LWC Local Development

We use the `@lwc-garden/core` package to facilitate local LWC development.

This can be run locally using:

```cmd
npx @lwc-garden/core dev
```

Read the [LWC Garden Documentation](https://lwc.garden/) for more information.

## Jest Testing

All tests can be run using:

```cmd
pnpm test
```

Jest testing uses the [`@lwc/jest-*`](https://github.com/salesforce/lwc-test) packages, not [`@salesforce/sfdx-lwc-jest`](https://github.com/salesforce/sfdx-lwc-jest).

(back to top)

## License

Distributed under the GNU General Public License v3.0. See [LICENSE](https://github.com/lukethacoder/sfdx-starter/blob/main/LICENSE) for more information.

(back to top)

## Contact

[Luke Secomb]([license-url]) - [@lukethacoder](https://github.com/lukethacoder)

Project Link: [https://github.com/lukethacoder/sfdx-starter](https://github.com/lukethacoder/sfdx-starter)

(back to top)

[forks-shield]: https://img.shields.io/github/forks/lukethacoder/sfdx-starter.svg?style=for-the-badge
[forks-url]: https://github.com/lukethacoder/sfdx-starter/network/members
[stars-shield]: https://img.shields.io/github/stars/lukethacoder/sfdx-starter.svg?style=for-the-badge
[stars-url]: https://github.com/lukethacoder/sfdx-starter/stargazers
[issues-shield]: https://img.shields.io/github/issues/lukethacoder/sfdx-starter.svg?style=for-the-badge
[issues-url]: https://github.com/lukethacoder/sfdx-starter/issues
[license-shield]: https://img.shields.io/github/license/lukethacoder/sfdx-starter.svg?style=for-the-badge
[license-url]: https://github.com/lukethacoder/sfdx-starter/blob/main/LICENSE
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://www.linkedin.com/in/luke-secomb/
[product-screenshot]: docs/screenshot.png
[lwc]: https://img.shields.io/badge/lwc-009ddb?style=for-the-badge&logo=salesforce&logoColor=white
[lwc-url]: https://lwc.dev
[prettier]: https://img.shields.io/badge/Prettier-1a2b34?style=for-the-badge&logo=prettier&logoColor=white
[prettier-url]: https://prettier.io/
[pnpm]: https://img.shields.io/badge/pnpm-4e4e4e?style=for-the-badge&logo=pnpm
[pnpm-url]: https://lwc.dev
[jest]: https://img.shields.io/badge/jest-99425b?style=for-the-badge&logo=jest&logoColor=white
[jest-url]: https://github.com/jestjs/jest