Stack with hyphens in name works well until helper.
Test case code
terraspace new project testcase1
cd testcase1
terraspace new stack app-case1
AWS_ACCOUNT=abcd AWS_REGION=us-east-1 terraspace build
terraspace new helper app-case1 --type stack --name moduleVersions
AWS_ACCOUNT=abcd AWS_REGION=us-east-1 terraspace build
you’ll get
Traceback (most recent call last):
5: from .../.rbenv/versions/2.7.2/bin/terraspace:23:in `'
4: from .../.rbenv/versions/2.7.2/bin/terraspace:23:in `load'
3: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/exe/terraspace:14:in `'
2: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
1: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/command.rb:59:in `dispatch'
0: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
9: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
8: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
7: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/cli.rb:53:in `build'
6: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/builder.rb:13:in `run'
5: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/builder.rb:77:in `clean'
4: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/cleaner.rb:9:in `clean'
3: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/cleaner.rb:16:in `backend_change_purge'
2: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/cleaner/backend_change.rb:10:in `purge'
1: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/cleaner/backend_change.rb:21:in `purge?'
0: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/cleaner/backend_change.rb:40:in `fresh_backend'
9: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/strategy/mod.rb:7:in `run'
8: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/strategy/mod/tf.rb:4:in `run'
7: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/erb/render.rb:8:in `build'
6: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/erb/render.rb:8:in `new'
5: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/erb/context.rb:10:in `initialize'
4: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/helper_extender.rb:6:in `extend_module_level_helpers'
3: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/helper_extender.rb:6:in `each'
2: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/helper_extender.rb:9:in `block in extend_module_level_helpers'
1: from .../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/helper_extender.rb:20:in `mod_namespace'
.../.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/terraspace-0.6.2/lib/terraspace/compiler/helper_extender.rb:20:in `const_defined?': wrong constant name App-case1 (NameError)