I am just trying to do a simple test to extract a json form a collections call and I am getting weird errors that make no sense. Like all of my tests fail except one meaning it went through? Here is my test:
const base64Image = "BASE_64_IMAGE";
const imageBuffer = new Buffer(base64Image, "base64"); //1 of them passed? I am confused
var imgfile = fs.readFileSync('./tests/testImages/crystal.png', imageBuffer);
describe("POST /collections", () => {
/*
test("should respond with a 200 status code", async () => {
const response = await request(app).post("/collections").send({
myImage: imgfile
})
expect(response.statusCode).toBe(200)
})
*/
test("should Retrieve a Image", async () => { // it passed?
const response = await request(app).post("/retrievImageJson").send({
_id: "626702aa313718fb12cc11b6"
})
expect(response.headers['content-type']).toEqual(expect.stringContaining("json"))
})
})
here is the route I am testing:
router.post("/retrievImageJSON", requireLogin, async (req, res) => {
User.findOne({_id: req.user}).select("collectionArray").then( result =>{
res.send(result)
}
).catch((err) =>{
console.log(err);
})
});
and here is the test failures (there is alot weirdly)
FAIL tests/uploadImages.test.js
● Test suite failed to run
SyntaxError: C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend\tests\uploadImages.test.js: Unexpected token, expected "," (34:0)
32 |
33 |
> 34 |
| ^
at instantiate (node_modules/#babel/parser/src/parse-error/credentials.js:61:22)
at instantiate (node_modules/#babel/parser/src/parse-error.js:58:12)
at Parser.toParseError [as raise] (node_modules/#babel/parser/src/tokenizer/index.js:1736:19)
at Parser.raise [as unexpected] (node_modules/#babel/parser/src/tokenizer/index.js:1781:16)
at Parser.unexpected [as expect] (node_modules/#babel/parser/src/parser/util.js:153:28)
at Parser.expect [as parseCallExpressionArguments] (node_modules/#babel/parser/src/parser/expression.js:988:14)
at Parser.parseCallExpressionArguments [as parseCoverCallAndAsyncArrowHead] (node_modules/#babel/parser/src/parser/expression.js:863:29)
at Parser.parseCoverCallAndAsyncArrowHead [as parseSubscript] (node_modules/#babel/parser/src/parser/expression.js:748:19)
at Parser.parseSubscripts [as parseExprSubscripts] (node_modules/#babel/parser/src/parser/expression.js:689:17)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 0.678 s
Ran all test suites.
npm ERR! code 1
npm ERR! path C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c "jest"
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\tquig\AppData\Local\npm-cache\_logs\2022-05-05T19_19_58_127Z-debug.log
PS C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend> npm test
> team2#1.0.0 test
> jest
FAIL tests/uploadImages.test.js
● Test suite failed to run
ReferenceError: Cannot access 'app' before initialization
1 |
2 | const supertest = require('supertest')
> 3 | const request = supertest(app)
| ^
4 | const fs = require('fs');
5 | const path = require('path')
6 | const app = require('../server/server.js')
at TestScheduler.scheduleTests (node_modules/#jest/core/build/TestScheduler.js:317:13)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 0.75 s
Ran all test suites.
npm ERR! code 1
npm ERR! path C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c "jest"
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\tquig\AppData\Local\npm-cache\_logs\2022-05-05T19_21_05_748Z-debug.log
PS C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend> npm test
> team2#1.0.0 test
> jest
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Listening on port 5000".
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at Server.<anonymous> (server/server.js:60:11)
(node:1852) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
FAIL tests/uploadImages.test.js
POST /collections
× should respond with a 200 status code (1 ms)
● POST /collections › should respond with a 200 status code
TypeError: request is not a function
20 |
21 | test("should respond with a 200 status code", async () => {
> 22 | const response = await request(app).post("/collections").send({
| ^
23 | myImage: imgfile
24 | })
25 | expect(response.statusCode).toBe(200)
at Object.request (tests/uploadImages.test.js:22:30)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 2.448 s
Ran all test suites.
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Successfully connected to MongoDB".
32 | app.use(express.json());
33 | app.use(cors({
> 34 | origin: ["http://localhost:3000"],
| ^
35 | credentials: true,
36 | }));
37 | //app.use(passport.initialize());
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at NativeConnection.<anonymous> (server/server.js:34:11)
at NativeConnection.Object.<anonymous>.Connection.onOpen (node_modules/mongoose/lib/connection.js:647:8)
at _setClient (node_modules/mongoose/lib/connection.js:895:8)
PS C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend> npm test
> team2#1.0.0 test
> jest
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Listening on port 5000".
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at Server.<anonymous> (server/server.js:60:11)
(node:8208) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
FAIL tests/uploadImages.test.js
POST /collections
× should respond with a 200 status code (1 ms)
● POST /collections › should respond with a 200 status code
TypeError: request is not a function
20 |
21 | test("should respond with a 200 status code", async () => {
> 22 | const response = await request(app).post("/collections").send({
| ^
23 | myImage: imgfile
24 | })
25 | expect(response.statusCode).toBe(200)
at Object.request (tests/uploadImages.test.js:22:30)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 2.348 s, estimated 3 s
Ran all test suites.
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Successfully connected to MongoDB".
32 | app.use(express.json());
33 | app.use(cors({
> 34 | origin: ["http://localhost:3000"],
| ^
35 | credentials: true,
36 | }));
37 | //app.use(passport.initialize());
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at NativeConnection.<anonymous> (server/server.js:34:11)
at NativeConnection.Object.<anonymous>.Connection.onOpen (node_modules/mongoose/lib/connection.js:647:8)
at _setClient (node_modules/mongoose/lib/connection.js:895:8)
at node_modules/mongoose/lib/connection.js:801:7
at node_modules/mongodb/src/utils.ts:624:5
at node_modules/mongodb/src/mongo_client.ts:434:9
Jest did not exit one second after the test run has completed.
This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue.
npm ERR! path C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend
npm ERR! signal SIGINT
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c "jest"
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\tquig\AppData\Local\npm-cache\_logs\2022-05-05T19_22_59_129Z-debug.log
Terminate batch job (Y/N)? y
PS C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend> npm test
> team2#1.0.0 test
> jest
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Listening on port 5000".
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at Server.<anonymous> (server/server.js:60:11)
(node:228) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
FAIL tests/uploadImages.test.js
POST /collections
× should respond with a 200 status code (1 ms)
● POST /collections › should respond with a 200 status code
TypeError: request is not a function
20 |
21 | test("should respond with a 200 status code", async () => {
> 22 | const response = await request(app).post("/collections").send({
| ^
23 | myImage: imgfile
24 | })
25 | expect(true).toBe(true)
at Object.request (tests/uploadImages.test.js:22:30)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 2.376 s, estimated 3 s
Ran all test suites.
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Successfully connected to MongoDB".
32 | app.use(express.json());
33 | app.use(cors({
> 34 | origin: ["http://localhost:3000"],
| ^
35 | credentials: true,
36 | }));
37 | //app.use(passport.initialize());
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at NativeConnection.<anonymous> (server/server.js:34:11)
at NativeConnection.Object.<anonymous>.Connection.onOpen (node_modules/mongoose/lib/connection.js:647:8)
at _setClient (node_modules/mongoose/lib/connection.js:895:8)
at node_modules/mongoose/lib/connection.js:801:7
at node_modules/mongodb/src/utils.ts:624:5
at node_modules/mongodb/src/mongo_client.ts:434:9
Jest did not exit one second after the test run has completed.
This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue.
npm ERR! command failed
npm ERR! signal SIGINT
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c "jest"
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\tquig\AppData\Local\npm-cache\_logs\2022-05-05T19_23_26_676Z-debug.log
Terminate batch job (Y/N)? y
PS C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend> npm test
> team2#1.0.0 test
> jest
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Listening on port 5000".
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at Server.<anonymous> (server/server.js:60:11)
(node:3644) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
PASS tests/uploadImages.test.js
POST /collections
√ should respond with a 200 status code (1 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 2.39 s, estimated 3 s
Ran all test suites.
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Successfully connected to MongoDB".
32 | app.use(express.json());
33 | app.use(cors({
> 34 | origin: ["http://localhost:3000"],
| ^
35 | credentials: true,
36 | }));
37 | //app.use(passport.initialize());
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at NativeConnection.<anonymous> (server/server.js:34:11)
at NativeConnection.Object.<anonymous>.Connection.onOpen (node_modules/mongoose/lib/connection.js:647:8)
at _setClient (node_modules/mongoose/lib/connection.js:895:8)
at node_modules/mongoose/lib/connection.js:801:7
at node_modules/mongodb/src/utils.ts:624:5
at node_modules/mongodb/src/mongo_client.ts:434:9
Jest did not exit one second after the test run has completed.
npm ERR! path C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend
npm ERR! command failed
npm ERR! signal SIGINT
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c "jest"
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\tquig\AppData\Local\npm-cache\_logs\2022-05-05T19_24_26_582Z-debug.log
Terminate batch job (Y/N)? y
PS C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend> npm test
> team2#1.0.0 test
> jest
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Listening on port 5000".
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at Server.<anonymous> (server/server.js:60:11)
(node:18276) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
FAIL tests/uploadImages.test.js
POST /collections
× should respond with a 200 status code (1 ms)
● POST /collections › should respond with a 200 status code
TypeError: app.address is not a function
20 |
21 | test("should respond with a 200 status code", async () => {
> 22 | const response = await request(app).post("/collections").send({
| ^
23 | myImage: imgfile
24 | })
25 | expect(response.statusCode).toBe(200)
at Test.serverAddress (node_modules/supertest/lib/test.js:46:22)
at new Test (node_modules/supertest/lib/test.js:34:14)
at Object.obj.<computed> [as post] (node_modules/supertest/index.js:28:14)
at Object.post (tests/uploadImages.test.js:22:43)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 2.404 s, estimated 3 s
Ran all test suites.
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Successfully connected to MongoDB".
32 | app.use(express.json());
33 | app.use(cors({
> 34 | origin: ["http://localhost:3000"],
| ^
35 | credentials: true,
36 | }));
37 | //app.use(passport.initialize());
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at NativeConnection.<anonymous> (server/server.js:34:11)
PS C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend> npm test
> team2#1.0.0 test
> jest
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Listening on port 5000".
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at Server.<anonymous> (server/server.js:60:11)
(node:19700) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
FAIL tests/uploadImages.test.js
POST /collections
× should respond with a 200 status code (2 ms)
● POST /collections › should respond with a 200 status code
TypeError: app.address is not a function
20 |
21 | test("should respond with a 200 status code", async () => {
> 22 | const response = await request(app).post("/collections").send({
| ^
23 | myImage: imgfile
24 | })
25 | expect(response.statusCode).toBe(200)
at Test.serverAddress (node_modules/supertest/lib/test.js:46:22)
at new Test (node_modules/supertest/lib/test.js:34:14)
at Object.obj.<computed> [as post] (node_modules/supertest/index.js:28:14)
at Object.post (tests/uploadImages.test.js:22:43)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 2.248 s, estimated 3 s
Ran all test suites.
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Successfully connected to MongoDB".
32 | app.use(express.json());
33 | app.use(cors({
> 34 | origin: ["http://localhost:3000"],
| ^
35 | credentials: true,
36 | }));
37 | //app.use(passport.initialize());
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at NativeConnection.<anonymous> (server/server.js:34:11)
at NativeConnection.Object.<anonymous>.Connection.onOpen (node_modules/mongoose/lib/connection.js:647:8)
at _setClient (node_modules/mongoose/lib/connection.js:895:8)
at node_modules/mongoose/lib/connection.js:801:7
at node_modules/mongodb/src/utils.ts:624:5
at node_modules/mongodb/src/mongo_client.ts:434:9
Jest did not exit one second after the test run has completed.
This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue.
npm ERR! path C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend
npm ERR! command failed
npm ERR! signal SIGINT
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c "jest"
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\tquig\AppData\Local\npm-cache\_logs\2022-05-05T19_30_02_610Z-debug.log
Terminate batch job (Y/N)? y
PS C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend> npm test
> team2#1.0.0 test
> jest
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Listening on port 5000".
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at Server.<anonymous> (server/server.js:60:11)
(node:14128) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
FAIL tests/uploadImages.test.js
POST /collections
× should respond with a 200 status code (2 ms)
● POST /collections › should respond with a 200 status code
TypeError: app.address is not a function
20 |
21 | test("should respond with a 200 status code", async () => {
> 22 | const response = await request(app).post("/collections").send({
| ^
23 | myImage: imgfile
24 | })
25 | expect(response.statusCode).toBe(200)
at Test.serverAddress (node_modules/supertest/lib/test.js:46:22)
at new Test (node_modules/supertest/lib/test.js:34:14)
at Object.obj.<computed> [as post] (node_modules/supertest/index.js:28:14)
at Object.post (tests/uploadImages.test.js:22:43)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 2.311 s, estimated 3 s
Ran all test suites.
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Successfully connected to MongoDB".
32 | app.use(express.json());
33 | app.use(cors({
> 34 | origin: ["http://localhost:3000"],
| ^
35 | credentials: true,
36 | }));
37 | //app.use(passport.initialize());
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at NativeConnection.<anonymous> (server/server.js:34:11)
at NativeConnection.Object.<anonymous>.Connection.onOpen (node_modules/mongoose/lib/connection.js:647:8)
at _setClient (node_modules/mongoose/lib/connection.js:895:8)
at node_modules/mongoose/lib/connection.js:801:7
at node_modules/mongodb/src/utils.ts:624:5
at node_modules/mongodb/src/mongo_client.ts:434:9
Jest did not exit one second after the test run has completed.
This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue.
npm ERR! path C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend
npm ERR! command failed
npm ERR! signal SIGINT
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c "jest"
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\tquig\AppData\Local\npm-cache\_logs\2022-05-05T19_36_48_633Z-debug.log
Terminate batch job (Y/N)? y
PS C:\Users\tquig\OneDrive\Documents\GitHub\Team2\backend> npm test
> team2#1.0.0 test
> jest
● Cannot log after tests are done. Did you forget to wait for something async in your test?
Attempted to log "Listening on port 5000".
at console.log (node_modules/#jest/console/build/CustomConsole.js:172:10)
at Server.<anonymous> (server/server.js:60:11)
(node:5212) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
FAIL tests/uploadImages.test.js
POST /collections
× should Retrieve a Image (2 ms)
● POST /collections › should Retrieve a Image
TypeError: app.address is not a function
29 |
30 | test("should Retrieve a Image", async () => {
> 31 | const response = await (await request(app).post("/retrievImageJson")).send({
| ^
32 | _id: "626702aa313718fb12cc11b6"
33 |
34 | })
at Test.serverAddress (node_modules/supertest/lib/test.js:46:22)
at new Test (node_modules/supertest/lib/test.js:34:14)
at Object.obj.<computed> [as post] (node_modules/supertest/index.js:28:14)
at Object.post (tests/uploadImages.test.js:31:50)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 2.376 s, estimated 3 s
Ran all test suites.
I am just trying to make sense of this. I am not sure where it failed because some of the failures are on code that is nonexistent. If anyone has an idea on what is going on that would be super helpful.
gregmcnally#Gregs-MacBook-Pro CS55.13-todo-app-week-8-main % npm run build
todo-app-week08#0.1.0 build /Users/gregmcnally/Downloads/CS55.13-todo-app-week-8-main
next build
info - Loaded env from /Users/gregmcnally/Downloads/CS55.13-todo-app-week-8-main/.env.local
info - Using webpack 5. Reason: Enabled by default https://nextjs.org/docs/messages/webpack5
Failed to compile.
./pages/ssr-no-token.tsx:62:51
Type error: Argument of type 'IncomingMessage & { cookies: NextApiRequestCookies; }' is not assignable to parameter of type 'null | undefined'.
Type 'IncomingMessage & { cookies: NextApiRequestCookies; }' is not assignable to type 'null'.
60 | // withAuthUserTokenSSR.
61 | const token = await AuthUser.getIdToken()
62 | const endpoint = getAbsoluteURL('/api/example', req)
| ^
63 | const response = await fetch(endpoint, {
64 | method: 'GET',
65 | headers: {
info - Checking validity of types .npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! todo-app-week08#0.1.0 build: next build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the todo-app-week08#0.1.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/gregmcnally/.npm/_logs/2021-12-17T02_08_03_370Z-debug.log
gregmcnally#Gregs-MacBook-Pro CS55.13-todo-app-week-8-main %
I am trying to build a Nestjs api proxy (pass through). I found this package which is very simple to use: fastify-http-proxy.
The problem is I don't know how to use this package within Nestjs.
Does anybody here any experience with this, please?
import { NestFactory } from '#nestjs/core';
import {
FastifyAdapter,
NestFastifyApplication,
} from '#nestjs/platform-fastify';
import { AppModule } from './app.module';
import proxy from 'fastify-http-proxy';
async function bootstrap() {
const app = await NestFactory.create<NestFastifyApplication>(
AppModule,
new FastifyAdapter({logger: true})
);
app.register(proxy, {
upstream: 'http://localhost:3000',
prefix: '/api',
http2: false
});
await app.listen(4000);
}
bootstrap();
$ npm run start
> test-api-gateway#0.0.1 start /test-api-gateway
> nest start
node_modules/fastify-http-proxy/index.d.ts:18:29 - error TS2344: Type 'RawServerBase' does not satisfy the constraint 'RouteGenericInterface'.
Type 'Server' has no properties in common with type 'RouteGenericInterface'.
18 request: FastifyRequest<RawServerBase>,
~~~~~~~~~~~~~
node_modules/fastify-http-proxy/index.d.ts:23:29 - error TS2344: Type 'RawServerBase' does not satisfy the constraint 'RouteGenericInterface'.
Type 'Server' has no properties in common with type 'RouteGenericInterface'.
23 request: FastifyRequest<RawServerBase>,
~~~~~~~~~~~~~
Found 2 error(s).
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! test-api-gateway#0.0.1 start: `nest start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the test-api-gateway#0.0.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
✘-1 ~/test-api-gateway
it works for me if using const proxy = require('fastify-http-proxy') instead import proxy from 'fastify-http-proxy'
I try to create a windows installer for my elctron application but when I run the file I have this error:
spawn mono ENOENT
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! thermowell-design#1.2.0 installer-win: `npm run pack-win && node installers/windows/createinstaller.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the thermowell-design#1.2.0 installer-win script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
This is the createinstaller.js file:
const createWindowsInstaller = require('electron-winstaller').createWindowsInstaller
const path = require('path')
getInstallerConfig()
.then(createWindowsInstaller)
.catch((error) => {
console.error(error.message || error)
process.exit(1)
})
function getInstallerConfig () {
console.log('creating windows installer')
const rootPath = path.join('./')
const outPath = path.join(rootPath, 'release-builds')
return Promise.resolve({
appDirectory: path.join(outPath, 'Thermowell-Design-win32-x64/'),
authors: 'Pippo',
noMsi: true,
outputDirectory: path.join(outPath, 'windows-installer'),
exe: 'thermowell-design.exe',
setupExe: 'thermowell-design-app.exe',
setupIcon: path.join(rootPath, 'assets', 'images', 'icons', 'logo.ico')
})
}
There are the dependencie version:
electron: 5.0.0-beta.2,
electron-packager: 13.0.1,
electron-winstaller: 2.7.0
end the nodejs version is 10.15.1
It's too late to answer but leaving it for somebody if they need it in future. I got the same problem and here are my fixes:
depending upon my project structure I changed rootPath = path.join(__dirname,'../..')
install mono from https://www.mono-project.com/download/stable/#download-lin-ubuntu
install wine from https://tecadmin.net/install-wine-on-ubuntu/
The two installations are for non-windows platform if your building your installer for windows platform
Those were my fixes but here's another link that might be helpful for you.
I am facing difficulty in deploying the notification function to the firebase.
I also used npm run clean but the error showed in it that-
npm ERR! missing script: clean
The index.js code is as follows-
'use strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.pushNotification =
functions.database.ref('/Notifications/{user_id}/{notification_id}').onWrite(event => {
const user_id = event.params.user_id;
const notification = event.params.notification;
console.log('We have a notification to send to : ', user_id);
if(event.data.val()){
return console.log('A Notification has been deleted feom the database :', notification_id);
}
const deviceToken = admin.database().ref(`/Users/${user_id}/deviceToken).once('value');
return deviceToken.then(result => {
const token_id = result.val();
const payload = {
notification: {
title : "Friend Request",
bosy : "You have received a new Friend Request",
icon : "default"
}
};
return admin.messaging().sendToDevice(/*Token ID*/, payload).then(response => {
console.log('This was the notification Feature');
});
});
});
The firebase deploy error in the Command Prompt is-
C:\Users\NIHIR\Desktop\MilApp\notificationFunction>firebase deploy
=== Deploying to 'milapp2-55dfb'...
i deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint
> functions# lint
C:\Users\NIHIR\Desktop\MilApp\notificationFunction\functions
> eslint .
C:\Users\NIHIR\Desktop\MilApp\notificationFunction\functions\index.js
19:61 error Parsing error: Unterminated template
✖ 1 problem (1 error, 0 warnings)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! functions# lint: `eslint .`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the functions# lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\NIHIR\AppData\Roaming\npm-cache\_logs\2018-03-10T22_49_06_402Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code1
How to fix this error?
Using it in Windows 10.
Thanks in advance.
Even after correcting the mistake, I got the error again in deploying firebase as-
C:\Users\NIHIR\Desktop\MilApp\notificationFunction\functions\index.js
33:53 error Parsing error: Unexpected token ,
✖ 1 problem (1 error, 0 warnings)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! functions# lint: `eslint .`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the functions# lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\NIHIR\AppData\Roaming\npm-cache\_logs\2018-03-11T11_27_17_307Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code1
The error message is this:
19:61 error Parsing error: Unterminated template
It's referring to the fact that the template string on this line isn't terminated:
const deviceToken = admin.database().ref(`/Users/${user_id}/deviceToken).once('value');
You're missing the closing backtick for that reference string. It should be like this:
const deviceToken = admin.database().ref(`/Users/${user_id}/deviceToken`).once('value');