briebug/jest-schematic

Support for libraries?

Closed this issue · 4 comments

Is your feature request related to a problem? Please describe.
Running the schematic on an Angular application project seems to be working fine, but when I run it on a library project it fails.

Here are some sample errors that I'm seeing:

    SyntaxError: /home/ole/Github/slice/angular-package-format-workspace/projects/slice/src/lib/OStore.spec.ts: Unexpected token, expected ";" (8:12)

       6 | 
       7 | describe("Creating a key value store", () => {
    >  8 |   let ostore: OStore = new OStore();
         |             ^
       9 | 
      10 |   it("should create an empty key value store", () => {
      11 |     expect(ostore.isEmpty()).toBeTruthy();

      at Parser.raise (../../node_modules/@babel/parser/lib/index.js:6975:17)
      at Parser.unexpected (../../node_modules/@babel/parser/lib/index.js:8368:16)
      at Parser.semicolon (../../node_modules/@babel/parser/lib/index.js:8350:40)
      at Parser.parseVarStatement (../../node_modules/@babel/parser/lib/index.js:11127:10)
      at Parser.parseStatementContent (../../node_modules/@babel/parser/lib/index.js:10723:21)
      at Parser.parseStatement (../../node_modules/@babel/parser/lib/index.js:10656:17)
      at Parser.parseBlockOrModuleBlockBody (../../node_modules/@babel/parser/lib/index.js:11232:25)
      at Parser.parseBlockBody (../../node_modules/@babel/parser/lib/index.js:11219:10)
      at Parser.parseBlock (../../node_modules/@babel/parser/lib/index.js:11203:10)
      at Parser.parseFunctionBody (../../node_modules/@babel/parser/lib/index.js:10222:24)


       6 | 
       7 | describe("Creating a key value store", () => {
    >  8 |   let ostore: OStore = new OStore();
         |             ^
       9 | 
      10 |   it("should create an empty key value store", () => {
      11 |     expect(ostore.isEmpty()).toBeTruthy();

It looks like jest does not understand typescript in this case. I'm assuming that we just have to add the normal Jest / Typescript setup.

Describe the solution you'd like

Automatic addition of support for libraries when we run:


ng add @briebug/jest-schematic

I just followed these instructions for adding testing Typescript with Jest:

https://basarat.gitbooks.io/typescript/docs/testing/jest.html

And now the project compiles fine. So I guess it's just a matter of having the schematic install the dependencies and adding the jest.config.js file.

Thanks for looking into this. Library support is something I'd like to add at some point. I'll keep this issue open as a reminder.

Please see if ng add @briebug/jest-schematic@3.0.0-0 solves the issue