-
-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add README's for field-scripts & create-fm pkgs.
- Loading branch information
Showing
2 changed files
with
69 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# `create-field-module` | ||
Scaffold a Field Module for development with farmOS Field Kit. | ||
|
||
## Quick start | ||
If you have the [requirements](#requirements) installed, the project can be scaffolded from your terminal: | ||
|
||
```sh | ||
npm create @farmos.org/field-module my-custom-module | ||
``` | ||
|
||
You will be asked to install `@farmos.org/create-field-module` locally if this is the first time you've run it; enter `y` to proceed. Also note that the first argument above, `my-custom-module`, is optional, and can be whatever name you choose for your project, so long as it is adheres to [npm naming conventions](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#name). If you omit the name as a command argument, or you wish to change it, you can do so from the following prompt: | ||
|
||
```sh | ||
## ✔ Module name (kebab-case): … my-custom-module | ||
## ✔ Module label to display in the UI: … My Custom Module | ||
## ✔ Description: … A field module that does something really special. | ||
``` | ||
|
||
This will scaffold a project with the following directory structure, with the project name, label and description used to populate `package.json`, `module.config.js` and other files: | ||
|
||
```sh | ||
my-custom-module | ||
├── module.config.js | ||
├── package.json | ||
└── src | ||
├── MyCustomModuleContainer.vue | ||
├── MyCustomModuleWidget.vue | ||
└── routes.js | ||
``` | ||
|
||
Then you can `cd` into your project, install dependencies with npm (or the package manager of your choice) and start the development environment: | ||
|
||
```sh | ||
cd my-custom-module | ||
npm i | ||
npm start | ||
``` | ||
|
||
When you're ready to package your Field Module for distribution with farmOS, run the build command: | ||
|
||
```sh | ||
npm run build | ||
``` | ||
|
||
This will generate a distributable with the following directory structure: | ||
|
||
```sh | ||
my-custom-module/dist | ||
└── farm_fieldkit_my_custom_module | ||
├── config | ||
│ └── install | ||
│ └── farm_fieldkit.field_module.my_custom_module.yml | ||
├── farm_fieldkit_my_custom_module.info.yml | ||
├── farm_fieldkit_my_custom_module.libraries.yml | ||
└── js | ||
└── my-custom-module.0-0-0.js | ||
``` | ||
|
||
This can then be zipped or compressed as a tarball and installed as a [farmOS module](https://farmos.org/development/module/). | ||
|
||
## Requirements | ||
- [Node.js](https://nodejs.org/) v18 or higher | ||
- `npm` (included with Node.js) v9 or higher, or equivalent package manager | ||
|
||
A general knowledge of JavaScript, Vue.js and Node is also assumed. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# `field-scripts` | ||
Shared scripts and tooling for the development environment and build tools used both farmOS Field Kit and its associated Field Modules. Powered by [Vite](https://vitejs.dev). | ||
|
||
These are included in the dependencies when [`create-field-module`](https://www.npmjs.com/package/@jgaehring/create-field-module) is used to scaffold projects. |