Skip to content

berendhaan/generator-helix

 
 

Repository files navigation

Helix Generator

npm version npm downloads Build Status Dependency Status License

This generator will create a Helix compliant solution and provide the ability to create & add new projects to any layer (i.e. Feature, Foundation & Project). Unicorn is used for serialization, if you don't use serialization and or TDS you have the option not to add serialization to the project.

Prerequisites:

  • VS 2015 or earlier
    If you want to run the generator with only Visual Studio 2017 installed, you need the Microsoft Build Tools 2015 as well. For more information see issue #109 and #107
  • NPM 3.x or newer (see installed version by running npm -v in PowerShell)
  • NODE 6.x or newer (see installed version by running node -v in PowerShell)

Getting started

You need Yeoman (See here) . Yo and the generators used are installed using npm.

First thing is to install Yo using npm.

npm install -g yo

Then you have to install the helix generator.

npm install generator-helix -g

How to create a solution

To create a Helix solution run the following command in an empty root folder where you want the solution to be created, and answer the questions.

yo helix

How to create a new project and add it to a given layer

To add a new project to an existing run the following command in the root directory, that contains the VS solution file. You can call with the Project Name, if you do not you will be prompted to enter it.

yo helix:add [ProjectName] [VendorPrefix]

Extending the add generator

To extend the add generator create a folder in solution root called helix-template. All files in the folder are copied to the project folder using the copyTpl function in yeoman. This means that if you need to inject the data from the generator to your files you can use the variables like this.

<%= layerprefixedprojectname %>

Variables

  • layerprefixedprojectname
  • projectname
  • projectguid
  • layer
  • target
  • vendorprefix

The one special case is that if you have a file called _project.csproj in the folder it will copy it and then rename it to the correct Project name. This way you can create your own project file that matches your specific needs.

Contributing

We love it if you would contribute! Please read our contributing guide if you're looking to help us out.

Help us! Keep the quality of feature requests and bug reports high

We strive to make it possible for everyone and anybody to contribute to this project. Please help us by making issues easier to resolve by providing sufficient information. Understanding the reasons behind issues can take a lot of time if information is left out. Time that we could rather spend on fixing bugs and adding features. Please adhere to our issues template when creating issues. Creating a new issues will automatically prompt a template that will let you know what the minimum requirements are.

Thank you, and happy contributing!

Versioning

For transparency and insight into our release cycle, and for striving to maintain backward compatibility, the generator-helix project will be maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions without breaking backward compatibility bumps the minor (and resets the patch)
  • Bug fixes and misc changes bumps the patch

For more information on SemVer, please visit http://semver.org/

Troubleshooting

When I execute the yo commands as described I'm met with Execution Policy errors

To get around this issues execute the following command in a command line prompt, such as PowerShell with administrator rights:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force

About

Generate Helix compliant solutions with Yeoman.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 69.6%
  • PowerShell 21.4%
  • C# 9.0%