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.
This blog describes how I got it working:
https://medium.com/@ole.ersoy/unit-testing-your-angular-library-project-with-jest-42429a8716eb
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