typescript-kodyfire
TypeScript icon, indicating that this package has built-in type declarations

0.1.33 • Public • Published

Welcome to typescript-kodyfire 👋

Version Documentation License: MIT Twitter: anis_marrouchi

Generate typescript classes and interfaces based on HTML templates using Kodyfire.

🏠 Homepage

Requirements

typescript-kodyfire requires the kodyfire-cli to be installed

npm install -g kodyfire-cli

Install

npm install typescript-kodyfire

Usage

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 react component

Method 2: As a kody project

Refer to the kodyfire install a kody section. Once your project is initialized and ready for kody, generate your tsconfig concept using the kody ride command or manually. As an example, A declaration for a tsconfig 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-typescript.json

Available concepts

class

Generates a typescript class

Params
  • name string - class name. Default filename
  • template enum - template name to use. Only one by default.
  • implements string - Interface(s) to implement
  • extends string - class(es) to extend.
  • properties Property[] - list of properties
  • methods Method[] - list of methods
  • hasConstructor boolean - if class should have a constructor
  • args {name: string, type: string} - List of argument to pass to the constructor. hasConstructor must be true.
  • outputDir string - The output directory

interface

Generates a typescript interface

Params
  • name string - class name. Default filename
  • template enum - template name to use. Only one by default.
  • extends string - class(es) to extend.
  • properties Property[] - list of properties
  • outputDir string - The output directory

tsconfig

Generates a tsconfig file

Params
  • name enum - The tsconfig configuration name
  • outputDir string - The output directory
Tsconfigs

Refer to this reference for a list of available tsconfig templates

Property
  • name string - property name
  • type string - property type
  • optional boolean - if the property is optional when constructing an object
Method
  • name string - method name
  • params {name: string, type: string} - list of method arguments. Leave empty if none
  • returnType string - 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 module
  • Generate type

Run tests

TODO

Author

👤 Anis 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

Readme

Keywords

none

Package Sidebar

Install

npm i typescript-kodyfire

Weekly Downloads

1

Version

0.1.33

License

ISC

Unpacked Size

54.1 kB

Total Files

37

Last publish

Collaborators

  • anis.marrouchi