nextjs-kodyfire v0.1.33
Welcome to nextjs-kodyfire š
Generate nextjs components and related artifacts based on HTML templates using Kodyfire.
š Homepage
Requirements
nextjs-kodyfire requires the kodyfire-cli to be installed
npm install -g kodyfire-cliInstall
npm install nextjs-kodyfireUsage
Method 1: As a generator
In order to generate your artifacts, run the generate command. The syntax is kody generate|g [kody] [concept]. If you ommit kody and concept the assistant will prompt you to select them. As an example, run the following command from your terminal:
kody generate nextjs componentMethod 2: As a runner in a kody project
Refer to the kodyfire generate your artifact section.
Once your project is initialized and ready for kody,
generate your nextjs concept using the kody ride command or manually. As an example, A declaration for a nextjs concept might look like the following: 
{
			"name": "Bird",
			"template": "class.ts.template",
			"outputDir": "classes",
			"extends": "Animal",
			"implements": "",
			"hasConstructor": true,
			"args": [
				{
					"name": "name",
					"type": "string"
				}
			],
			"methods": [
				{
					"name": "fly",
					"returnType": "void"
				}
			],
			"properties": [
				{
					"name": "family",
					"type": "string",
					"optional": false
				},
				{
					"name": "weight",
					"type": "number",
					"optional": true
				}
			]
		}After adding your concept(s) definitions, run the following command to generate your assets.
kody run -s kody-nextjs.jsonAvailable concepts
component
Generates a react component
Params
- namestring - Component name. Default filename
- templateenum - template name to use. Only one by default.
- extensionenum - file extension. Possible values: js, ts, jsx, tsx
- isFolderboolean - If the component will be placed in a folder. This will add an index file for imports.
- ccsModuleboolean - if a css module file should be created.
- outputDirstring - The output directory
page
Generates a nextjs page
Params
- namestring - Component name. Default filename
- isFolderboolean - If the component will be placed in a folder. This will add an index file for imports.
- ccsModuleboolean - if a css module file should be created.
- isDynamicRouteboolean - if the page uses a dynamic route.
- routerParamstring - Required if isDynamicRoute is- true. This will generate a dynamic page. Example: id.jsx
- outputDirstring - The output directory
api
Generates a nextjs api endpoint
Params
- namestring - Name of the file/folder
- isFolderboolean - If the component will be placed in a folder.
- isDynamicRouteboolean - if the endpoint uses a dynamic route.
- routerParamstring - Required if- isDynamicRouteis- true. This will generate a filename as routerParam.ts
- outputDirstring - The output directory. Default is- src/pages/api
class
Generates a typescript class
Params
- namestring - class name. Default filename
- templateenum - template name to use. Only one by default.
- implementsstring - Interface(s) to implement
- extendsstring - class(es) to extend.
- propertiesProperty[] - list of properties
- methodsMethod[] - list of methods
- hasConstructorboolean - if class should have a constructor
- args{name: string, type: string} - List of argument to pass to the constructor.- hasConstructormust be true.
- outputDirstring - The output directory
interface
Generates a typescript interface
Params
- namestring - class name. Default filename
- templateenum - template name to use. Only one by default.
- extendsstring - class(es) to extend.
- propertiesProperty[] - list of properties
- outputDirstring - The output directory
tsconfig
Generates a tsconfig file
Params
- nameenum - The tsconfig configuration name
- outputDirstring - The output directory
Tsconfigs
Refer to this reference for a list of available tsconfig templates
Property
- namestring - property name
- typestring - property type
- optionalboolean - if the property is optional when constructing an object
Method
- namestring - method name
- params{name: string, type: string} - list of method arguments. Leave empty if none
- returnTypestring - Return type (example: string, number, void)
Add the following params to your generated concepts using the kody ride command or manually. As an example, A declaration for a class might look like the following:
š Future Features
- Generate component
- Generate page
- Generate api
Run tests
TODOAuthor
š¤ Anis Marrouchi
- Website: https://noqta.tn
- Twitter: @anis_marrouchi
- GitHub: @anis-marrouchi
- LinkedIn: @marrouchi
š¤ Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Show your support
Give a āļø if this project helped you!
Credits
š License
Copyright Ā© 2022 Anis Marrouchi.
This project is MIT licensed.
This README was generated with ā¤ļø by readme-kodyfire
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago