ess-dev

2.4.0 • Public • Published

npm version Build Status Coverage Status

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.

cli_screen

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

formName [string]

The user control name

formFilters [boolean]

Adds form filters

asyncHandler [boolean]

Adds async handler files

stateHelper [boolean]

Adds redux state helper files

buttons [boolean]

Adds button holders in HTML and initializes sticky header

filters [object]

Filters configuration object

userControlHelper [object]

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

Package Sidebar

Install

npm i ess-dev

Weekly Downloads

2

Version

2.4.0

License

ISC

Unpacked Size

80.7 kB

Total Files

40

Last publish

Collaborators

  • kapantzak