ess-dev
Project specific tool for automatic boileplate code generation.
This tool is a node cli that is intended to be used as a development tool for specific ASP.NET/Typescript project. It uses Handlebars in order to generate boilerplate code.
Feel free to fork the repo in order to customize the behaviour according to your needs.
Commands
init
Initialize a new form. Adds various files, depending on the options provided
ess-dev init
Options
--form (Alias: -f)
string
The user control name to be created
--output (Alias -o)
string
The output directory of the created files
--default (Alias -d)
boolean
If provided, the default settings will be applied
- Form filters: Yes
- Async handler: Yes
- State hepler: Yes
--include (Alias -i)
string
The csproj file name to update
--callback (Alias -c)
string
The executable to be called provided with two arguments
- The project file name
- A JSON with the items to be included
--msbuildextensionspath (Alias -b)
string
Path to MSBuildExtensionsPath32
Configuration file
If essdev.config.js
exists in the root folder, the tool will try to read form it and will not ask any questions.
Options
string
]
formName [The user control name
boolean
]
formFilters [Adds form filters
boolean
]
asyncHandler [Adds async handler files
boolean
]
stateHelper [Adds redux state helper files
boolean
]
buttons [Adds button holders in HTML and initializes sticky header
object
]
filters [Filters configuration object
object
]
userControlHelper [User control helper configuration object
Example (DataSet)
isDataSet: true
module.exports = {
formName: "ucTest901",
formFilters: true,
asyncHandler: true,
stateHelper: true,
buttons: true,
userControlHelper: {
mainData: {
storedProc: {
name: "XD_Test_StoredProc",
params: [
{
name: "@Param1",
type: "int",
isNullable: true
},
{
name: "@Param2",
type: "string"
},
{
name: "@CurrentUserID",
type: "int",
isCurrentUser: true
},
{
name: "@CurrentLanguageID",
type: "int",
isCurrentLanguage: true
}
],
returnData: {
isDataSet: true,
data: [
{
name: "Main",
isPivot: true,
key: "Key",
value: "Value",
fields: [
{
name: "ContactID",
type: "int?"
},
{
name: "Employee",
type: "string"
}
]
},
{
name: "Criteria",
fields: [
{
name: "ID",
type: "int?"
},
{
name: "Descr",
type: "string"
}
]
}
]
}
}
}
}
};
Example (DataTable)
isDataSet: false
module.exports = {
formName: "ucTest901",
formFilters: true,
asyncHandler: true,
stateHelper: true,
buttons: true,
userControlHelper: {
mainData: {
storedProc: {
name: "XD_Test_StoredProc",
params: [
{
name: "@Param1",
type: "int",
isNullable: true
},
{
name: "@Param2",
type: "string"
},
{
name: "@CurrentUserID",
type: "int",
isCurrentUser: true
},
{
name: "@CurrentLanguageID",
type: "int",
isCurrentLanguage: true
}
],
returnData: {
isDataSet: false,
data: [
{
name: "Main",
isPivot: true,
key: "Key",
value: "Value",
fields: [
{
name: "ContactID",
type: "int?"
},
{
name: "Employee",
type: "string"
}
]
}
]
}
}
}
}
};
Help
--help
Displays available methods and options
ess-dev --help
--version
Displays the package version
ess-dev --version