diff --git a/spec/acceptance/new-spec.ts b/spec/acceptance/new-spec.ts index b8ecaa707..ce9900e11 100644 --- a/spec/acceptance/new-spec.ts +++ b/spec/acceptance/new-spec.ts @@ -17,27 +17,44 @@ describe("New command", () => { process.chdir("../"); }); + it("Creates jQuery project", async done => { + + await cli.run(["new", "jQuery Proj", "--framework=jquery"]); + + //TODO: read entire structure from ./templates and verify everything is copied over + expect(fs.existsSync("./jQuery Proj")).toBeTruthy(); + const packageText = fs.readFileSync("./jQuery Proj/package.json", "utf-8"); + expect(JSON.parse(packageText).name).toEqual("jquery-proj"); + expect(fs.existsSync("./jQuery Proj/.gitignore")).toBeTruthy(); + this.testFolder = "./jQuery Proj"; + done(); + }); + it("Creates React project", async done => { // process.argv = ["new", "reactProj", "--framework=react"]; - await cli.run(["new", "reactProj", "--framework=react"]); + await cli.run(["new", "React Proj", "--framework=react"]); //TODO: read entire structure from ./templates and verify everything is copied over - expect(fs.existsSync("./reactProj")).toBeTruthy(); - expect(fs.existsSync("./reactProj/.gitignore")).toBeTruthy(); - this.testFolder = "./reactProj"; + expect(fs.existsSync("./React Proj")).toBeTruthy(); + const packageText = fs.readFileSync("./React Proj/package.json", "utf-8"); + expect(JSON.parse(packageText).name).toEqual("react-proj"); + expect(fs.existsSync("./React Proj/.gitignore")).toBeTruthy(); + this.testFolder = "./React Proj"; done(); }); it("Creates Angular project", async done => { // process.argv = ["new", "reactProj", "--framework=react"]; - await cli.run(["new", "ngxProj", "--framework=angular", "--type=igx-ts"]); + await cli.run(["new", "ngx Proj", "--framework=angular", "--type=igx-ts"]); //TODO: read entire structure from ./templates and verify everything is copied over - expect(fs.existsSync("./ngxProj")).toBeTruthy(); - expect(fs.existsSync("./ngxProj/.gitignore")).toBeTruthy(); - this.testFolder = "./ngxProj"; + expect(fs.existsSync("./ngx Proj")).toBeTruthy(); + const packageText = fs.readFileSync("./ngx Proj/package.json", "utf-8"); + expect(JSON.parse(packageText).name).toEqual("ngx-proj"); + expect(fs.existsSync("./ngx Proj/.gitignore")).toBeTruthy(); + this.testFolder = "./ngx Proj"; done(); }); diff --git a/templates/angular/ig-ts/projects/empty/files/package.json b/templates/angular/ig-ts/projects/empty/files/package.json index b0cd2fe42..b80f5be02 100644 --- a/templates/angular/ig-ts/projects/empty/files/package.json +++ b/templates/angular/ig-ts/projects/empty/files/package.json @@ -1,5 +1,5 @@ { - "name": "my-project", + "name": "$(dash-name)", "version": "1.0.0", "description": "new project package.json", "scripts": { diff --git a/templates/angular/ig-ts/projects/empty/index.ts b/templates/angular/ig-ts/projects/empty/index.ts index 127a390cf..d82dfb5db 100644 --- a/templates/angular/ig-ts/projects/empty/index.ts +++ b/templates/angular/ig-ts/projects/empty/index.ts @@ -33,6 +33,7 @@ class EmptyAngularProject implements ProjectTemplate { public setExtraConfiguration(extraConfigKeys: any[]) { } public generateFiles(outputPath: string, name: string, theme: string, ...options: any[]): Promise { const config = { + "$(dash-name)": Util.lowerDashed(name), "$(name)": name, "$(theme)": theme, "__path__": name diff --git a/templates/jquery/js/projects/empty/files/package.json b/templates/jquery/js/projects/empty/files/package.json index a8e37274d..7c0662379 100644 --- a/templates/jquery/js/projects/empty/files/package.json +++ b/templates/jquery/js/projects/empty/files/package.json @@ -1,15 +1,16 @@ { - "name": "$(name)", - "scripts": { - "test": "karma start" - }, - "dependencies": { - "ignite-ui": "^17.2" - }, - "devDependencies": { - "karma": "^1.7.1", - "karma-chrome-launcher": "^2.2.0", - "karma-qunit": "^1.2.1", - "qunitjs": "^2.4.1" - } -} \ No newline at end of file + "name": "$(dash-name)", + "version": "0.0.1", + "scripts": { + "test": "karma start" + }, + "dependencies": { + "ignite-ui": "^17.2" + }, + "devDependencies": { + "karma": "^1.7.1", + "karma-chrome-launcher": "^2.2.0", + "karma-qunit": "^1.2.1", + "qunitjs": "^2.4.1" + } +} diff --git a/templates/jquery/js/projects/empty/index.ts b/templates/jquery/js/projects/empty/index.ts index ae1bf1af3..6a4aa1fc0 100644 --- a/templates/jquery/js/projects/empty/index.ts +++ b/templates/jquery/js/projects/empty/index.ts @@ -36,6 +36,7 @@ class EmptyProject implements ProjectTemplate { themePath = "$(igniteuiSource)/css/themes/" + theme + "/infragistics.theme.css"; } const variables = { + "$(dash-name)" : Util.lowerDashed(name), "$(description)" : this.description, "$(igniteuiSource)": "./node_modules/ignite-ui", "$(name)" : name, diff --git a/templates/react/es6/projects/empty/files/package.json b/templates/react/es6/projects/empty/files/package.json index 969069420..b04341205 100644 --- a/templates/react/es6/projects/empty/files/package.json +++ b/templates/react/es6/projects/empty/files/package.json @@ -1,5 +1,5 @@ { - "name": "react-router-dynamic-routes-webpack2", + "name": "$(dash-name)", "version": "1.0.0", "private": true, "description": "React project for Ignite UI CLI", diff --git a/templates/react/es6/projects/empty/index.ts b/templates/react/es6/projects/empty/index.ts index a19153172..5c6bc9671 100644 --- a/templates/react/es6/projects/empty/index.ts +++ b/templates/react/es6/projects/empty/index.ts @@ -26,6 +26,7 @@ class EmptyProject implements ProjectTemplate { //TODO update the config with [{key: "keyname", "value"}] const config = { + "$(dash-name)" : Util.lowerDashed(name), "$(name)": name, "$(theme)": theme, "__path__": name