@litexa/core
Version:
Litexa, a programming language for writing Alexa skills
31 lines (23 loc) • 980 B
text/coffeescript
###
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
###
fs = require 'fs'
path = require 'path'
extensions = require('./fileExtensions')
searchReplace = require('./generators/searchReplace')
module.exports.create = (name, language) ->
name = name.replace /[_\.\-]/gi, ' '
name = name.replace /\s+/gi, ' '
name = (name.split(' '))
name = ( w[0].toUpperCase() + w[1...] for w in name )
name = name.join ' '
invocation = name.toLowerCase().replace /[^a-z0-9']/gi, ' '
extension = extensions[language]
if language == 'typescript'
language = "#{language}/config"
source = path.join(__dirname, 'templates', 'common', language, "skill.#{extension}")
data = fs.readFileSync source, 'utf8'
searchReplace(data, {name, invocation})