0.1.33 ā€¢ Published 2 years ago

typescript-kodyfire v0.1.33

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

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

0.1.31

2 years ago

0.1.32

2 years ago

0.1.33

2 years ago

0.1.15

2 years ago

0.1.16

2 years ago

0.1.18

2 years ago

0.1.14

2 years ago

0.1.2

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.0.17

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago