text:
How can I make it work better under chrome i18n?

Hey,
I've been developing a Chrome Extension using this Boilerplate and have made some good progress. It's been really helpful, thank you.
Now, I'd like to implement internationalization in my Chrome Extension using chrome.i18n. To add the _locales directory under the plugin root directory, I created a _locales directory under the public directory in this Boilerplate and set up multiple language files according to Google's documentation. I was successful in displaying content in different languages correctly in the plugin. However, I encountered an issue: by default, the public directory does not watched for changes under hot module replacement (HMR).
I attempted to add "public/_locales/**" to build.rollupOptions.watch.include in vite.config.ts, but this didn't work. Is there a way to have the template monitor my public/_locales directory? Or is there another way for me to set up _locales under the plugin root directory so that it works better with HMR?
Thank you very much for your help.

I can think of a few hacky ways to do it, but I'll have to think about how to do it in a way that's comfortable and elegant.
Personally, I did it manually... reloading the locale as I was finalizing it :(

Thank you for response. So, is it possible to add this requirement to the feature request and include it in the HRR functionality of this Boilerplate? Because chrome i18n is also a common development requirement for Chrome plugins. However, I really hope that I can achieve HRR for the files in the _locales directory locally after configuration. I can't do it myself now. It significantly impacts development efficiency to work with this Boilerplate for multilingual because it doesn't support HRR and the plugin doesn't update automatically. Every time I finish configuring the messages.json file, I have to uninstall and reinstall the plugin for changes to take effect.

I didn't realize the need for i18n until relatively late in my personal work. I'll try to add that to the boilerplate. :)

Thank you, I'm looking forward to it

@hegelwatch

https://github.com/Jonghakseo/chrome-extension-boilerplate-react-vite/pull/145

I'm not sure if HRR is good for the developer experience, as adding i18n always requires a rebuild + reload.
Anyway, I've added the desired functionality, so please check it out.
+@ There are also a couple of fixes I made to the main branch before doing this.

Hi, thanks for offering the i18n HRR feature. I've spent some time integrating it into my own project recently.
In my view, the development experience for i18n HRR is not an issue, since it's an optional feature rather than a mandatory one. If I need the i18n function, then I indeed require HRR, this is exactly what I need. If the rebuild + reload process is troublesome, I think it could be mentioned in the introduction to keep developers informed. It won't interfere with developers who don't use i18n.
Additionally, the current i18n method, which automatically loads all keys from message.json as TypeScript types and provides code prompts, is amazing. It's a great implementation, and I absolutely love it!
However, there's still a problem. Currently, it only supports HRR for the English language and not for others. Even if I configure the default_locale in the manifest to another language, like zh_CN, it only produces effects for en. The HRR and i18n method's type processing for other languages is ineffective. I see this as an issue. HRR should apply to all message.json files under _locales to support all languages, not just English. Developers might work in various languages, like myself. It should at least be effective for the language specified by the default_locale in the manifest.
Moreover, I think a better design idea is that _locales doesn't necessarily have to be in public. Perhaps it could have its own directory like pages. It might be easier for you to handle it this way. It should be designed as a templated optional feature, just like other pages provided. I'm not sure if this might enable faster compilation like other pages, and this might be something for you to consider.
Thanks for taking the time to consider solving these issues. My plugin development is nearing completion, and I look forward to seeing this template develop further.
(This content has been translated by GPT-4. Please excuse any language inaccuracies or impoliteness.)

@hegelwatch
For cases where we need to support more than one language, I think we can make it possible to implement without knowing the specifics of each language. I'll edit the PR to take this into account.
I agree with you about hiding _locales, but I have a concern. I'm concerned that Chrome extension frameworks, including Plasmo, implement overly abstract layers that make it too difficult to understand how Chrome extensions work.
From a usability standpoint, that might be better, but it's a concern. Thanks for the suggestion.
(I'm using a translator too, lol)

@Jonghakseo
The idea about supporting multiple languages sounds fantastic, and I'm looking forward to its implementation.
Regarding _locales, my thought isn't about hiding _locales but rather putting it at the root level, alongside pages, and maintaining the _locales directory structure the same as that in Chrome extension frameworks, just not under public. If developers need i18n, they can create a _locales at the root directory and use it just like they would in Chrome extension frameworks to create language directories. Then this directory could automatically apply HRR. This might feel more natural than placing it under Public. But I'm not sure if this change is significantly different from keeping it under public, or whether it can achieve faster compilation like other pages do.
But in the end, this decision depends on your design. The current approach is also good. I'm looking forward to the updates.

I'm not sure why, but after using the new project, everything was initially normal. However, after working for a while, now when changes to the message.json content trigger HRR, the Chrome extension doesn't automatically read the latest message.json content. I still need to manually reload the plugin to access the latest message.json content. I'm not sure why this is happening.

@hegelwatch
Ok. I will check it too.

@Jonghakseo
Hello, I'm not sure what I did, but as far as I remember, I didn't do anything except the regular debugging of the code. But suddenly, under the npm run dev mode, the background.js failed to load. The error is as follows:
Service worker registration failed. Status code: 15
Uncaught ReferenceError: document is not defined
Context:
assets/js/_virtual_reload-on-update-in-view.js
Stack trace:
}
function reloadWhenTabIsVisible() {
!document.hidden && pendingReload && reload();
}
document.addEventListener("visibilitychange", reloadWhenTabIsVisible); // This line is marked as a yellow error line by the Chrome debugger
}
export {
addHmrIntoView as a
};
This seems to be some sort of issue with HRR, and I didn't change the background.ts code (it's been running smoothly and the codebase is small). But I'm really at a loss now. I'm stuck here, so I hope you can provide some solutions as soon as possible, otherwise my work will be stalled. Thank you very much.

@hegelwatch
Thank you for attaching a detailed error log.
The problem seems to be with the client-side refresh called by import refreshOnUpdate from "virtual:reload-on-update-in-view";.
Could you try nullable processing on the document, window objects inside the utils/reload/injections/view.ts file? Please modify the code as below and run npm run dev once again.
If it doesn't work, please get back to me.
import initReloadClient from "../initReloadClient";

export default function addHmrIntoView(watchPath: string) {
  let pendingReload = false;

  initReloadClient({
    watchPath,
    onUpdate: () => {
      // disable reload when tab is hidden
      if (document?.hidden) {
        pendingReload = true;
        return;
      }
      reload();
    },
  });

  // reload
  function reload(): void {
    pendingReload = false;
    window?.location.reload();
  }

  // reload when tab is visible
  function reloadWhenTabIsVisible(): void {
    !document?.hidden && pendingReload && reload();
  }
  document?.addEventListener("visibilitychange", reloadWhenTabIsVisible);
}

@Jonghakseo
I tried to modify the code as follows:
// reload when tab is visible
function reloadWhenTabIsVisible() {
  if (document) {
    !document.hidden && pendingReload && reload();
  }
}
if (document) {
  document.addEventListener("visibilitychange", reloadWhenTabIsVisible);
}

However, it didn't work. Then I attempted to change the code again:
// reload when tab is visible
function reloadWhenTabIsVisible() {
  if (document) {
    !(document?.hidden) && pendingReload && reload();
  }
}
if (document) {
  document?.addEventListener("visibilitychange", reloadWhenTabIsVisible);
}

But I still encountered an error:
Service worker registration failed. Status code: 15
Uncaught ReferenceError: document is not defined
function reloadWhenTabIsVisible() {
  if (document) {
    !(document == null ? void 0 : document.hidden) && pendingReload && reload();
  }
}
if (document) { // This line is marked as a yellow error by the Chrome debugger
  document == null ? void 0 : document.addEventListener("visibilitychange", reloadWhenTabIsVisible);
}

I find this situation quite perplexing. Why did it work fine before and suddenly start causing this issue, which is difficult to resolve?

@hegelwatch
Okay. I get it.
Are you calling "refreshOnUpdate" from a background service worker or from a function that depends on it?
In a non-browser environment like a node, you'll get the following error when referencing the document. And the part about the service worker registration failing also refers to that.

Are you calling the i18n multilingual function in the background by any chance, this could be an issue as the i18n function is using refreshOnUpdate.

@Jonghakseo
Oh, I see. Although I'm not directly using i18n in background.ts, I have imported config.ts in background.ts, and config.ts uses i18n. Even though the modules I import in background.ts don't use i18n directly, when I remove the import of config.ts, the background script works fine. So, the issue was caused by this. Is there a way to import config.ts in background.ts while still using i18n in config.ts and ensuring that the background script works correctly?

fix i18n.ts
import type EnMessage from "public/_locales/en/messages.json";
import refreshOnUpdate from "virtual:reload-on-update-in-view";

type Keys = keyof typeof EnMessage;

// In non-browser environments, the window object is undefined.
typeof window !== "undefined" &&
  refreshOnUpdate("public/_locales/en/messages.json");

export function i18n(key: Keys) {
  return chrome.i18n.getMessage(key);
}

We've added support for all languages as a commit to this PR. Let's check out the behavior, please?

Hey, I apologize for the late reply; I've been quite busy these past few days.
I've updated my project to the latest commit, and now everything with background.js is normal. However, there are still some serious issues in my opinion:
1.Now, any language can perform HRR, which is great, but after HRR, the latest changes to the message.js content are not reflected on the page. I still need to reload the plugin manually.
2.The default language now seems to have switched from English to Korean, and TypeScript type checking can only recognize from Korean (ko/message.js); it does not work for other languages. This forces me to switch my Chrome's language to Korean to work. If I add a key in the message.js of any other language, it can't be recognized in the i18n function in the project. Ideally, any key added to the message.js under any language should be recognized by TypeScript types in the i18n function. If this is not achievable, at least it should allow me to work under the default language set in the default_locale in manifest.ts (this is also the method in the official documentation).
Thank you for taking the time to fix these issues. I hope these current issues can be resolved too. Thanks.

I need to add something. After multiple tests, I found that my description in the second step above was not complete. Now, TypeScript's type checking does not only apply to Korean (ko/message.js) but requires the key to be written in both Korean (ko/message.js) and English (en/message.js) to take effect. If either of these two files is missing the key, it won't work. Meanwhile, adding a key in my default directory zh_CN/message.js doesn't work at all.
Even so, there are still some issues. I believe that this TypeScript type checking should be based on the default_locale in manifest.ts to be more reasonable.

@all-contributors please add @hegelwatch for ideas

authors: Jonghakseo hegelwatch


text:
Cut down on recipe request paperwork

I feel like a simpler recipe request form will make this repo more inviting.
We can always add more requirements if we notice a pattern of missing content in recipe requests.

Makes sense!

source: gharchive/pull-request

authors: JordanMartinez milesfrain

repo: JordanMartinez/purescript-cookbook

license: MIT

license_type: permissive

license_source: github-api


text:
Add support for Steam Family Games

Description:
Add functionality to retrieve and list Steam family games using the Steam API. This will involve integrating with the GetFamilyGroup and GetSharedLibraryApps endpoints provided by the Steam API.
API Documentation:

IFamilyGroupsService/GetFamilyGroup - needed for retrieving the Group ID.
IFamilyGroupsService/GetSharedLibraryApps - group ID is required even though the documentation says it's not.

+1 From my End. Playnite makes it easier to have an overview about all the games by looking into 2 instead of 8 clients to oversee the library but this lacks of features like selecting a random game from games that are shared with my account

I tried using the API above but still seem like it needs private API key of each family member. Even though it can get family_groupid, can get steamid of each member, at the final steps it just returns blank if that member game list is private.
For now I guess the best option is using Additional Accounts settings in Steam Integration, or ask your members profile to change to public and call GetLibraryGames with public id instead.

I made a fork with Steam Family Sharing support. Cale111/PlayniteExtensions
I've noticed a bit of a problem though. It imports everything, including programs like dedicated servers, and there's no option to disable those from being listed in the API. You can change include_non_games to false, but that also removes programs like Aseprite, which some people, including me, want to keep.
I also noticed it only reports games shared with you if the attribute include_own is true. Otherwise, it's only programs you own. I would've expected the opposite, but that's how it is.
You also need the Steam user's access token, rather than API key, which means another field in the add-on settings.
@EpiKnightz Maybe you were using the API wrong? It seems to work for me.

That great! When I tried it before it only returned non-private account game for me, maybe one of my steps was wrong. When I tried it just now it works fine.
I'm not well-verse with SteamAPI structure, but usually isn't Access Token only valid for a session though? Like it will be reset after a set of time or something, so you can't expect to input it once and be done with it.

That great! When I tried it before it only returned non-private account game for me, maybe one of my steps was wrong. When I tried it just now it works fine.
I'm not well-verse with SteamAPI structure, but usually isn't Access Token only valid for a session though? Like it will be reset after a set of time or something, so you can't expect to input it once and be done with it.
 Even the API site above show that it'll expire at some point.

Yes, it does expire pretty quickly, but it seems to be the only way to get the information. That's the only real problem now. It works well for one-time imports though!
The only way I can think of it auto-refreshing in Playnite is way beyond my abilities - perhaps it opens a web session to the Steam website in the background and copies the access token with some JS?

This would be a nice feature. The workaround I use is just installing games from my family's libraries that look interesting to me, updating the library in Playnite, then uninstalling the game. It will add the installed game to your library. A little annoying but it works.

This would be a nice feature. The workaround I use is just installing games from my family's libraries that look interesting to me, updating the library in Playnite, then uninstalling the game. It will add the installed game to your library. A little annoying but it works.

I tried too and it worked but the play time didn't sync with steam.
@EpiKnightz do you plan to update the plugin to support family games import?
thx for your work!

@JosefNemec to answer.
My solution is just a quick workaround, using additional account settings with API key and trying to get public library games if failed. It's not a proper fix so I probably won't make a pull request for it:

Though this fits my use case very well, only need to setup once and every time my family gets new games they will be added to my library. It's very convenient.
If Playnite can get access tokens from Steam and request family-shared games via API like @Cale111 implementation, that would be the best solution.

source: gharchive/issue

repo: JosefNemec/PlayniteExtensions


text:
Fix itch metadata

Fixes for the following issues:

#97, the release date is optional and lot of titles do not have it, we can use published date as fallback (the published date is not available through scraping without an account, but it's available through butler);
the description box may not exists (example: https://unknown-developer.itch.io/void).

I'm not sure I agree with using published date as release date, they are not the same information. I can see people complaining that the date is not correct.

I know, that's why is used when there's no release date at all. I imported almost 5000 titles and half of them don't have it, 10-20 gets the wrong date from IGDB by having the same name of something else and one has 1969 as release date.

The problem with providing date is that it prevents other metadata sources from providing correct/alternative one, since bulk download won't try to get new date if some is already assigned.

I'm closing this. I really don't like the idea of assigning wrong date just because none is available.


text:
Transparent canvas won't show up

Identified devices: Sony Ericsson W205 and Unknown LG Device
Description: Application opens and loads, but content won't show up in Canvas Test
Possibly fault: Transparency effect. these phones can't handle them and it just stops at the rendering

Patched

repo: JoseskVolpe/PixelyVulpine-Layout


text:
Removing SNIProxy installation and configs after upstream change to monolithic

https://github.com/Josh5/lancache-bundle/issues/7

Thanks for this!

You're welcome! I love this container, so thanks for creating it and making it super easy to use.


text:
chore: scalex-jenkinsx-rollout-app to 0.0.1

chore: Promote scalex-jenkinsx-rollout-app to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


text:
TS4023 error of using (Database) name from external module

I am pretty a newbie to typescript so I wonder what does this error mean and how to solve it?

I tried to modify source code of better-sqlite3, and it works -- the error goes.

Although both circumstances would have no effect on the codes run, I do wanna run with no compile warning or errors.
And even // @ts-ignore can not suppress this...

If the only solution is to modify the source code of better-sqlite3, please do it!
And if in case I missed something, or do things not right, please correct me!
Much thanks!

This repo itself does not contain any TypeScript definitions or any sort of TS support.
Check out
https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/better-sqlite3
https://github.com/DefinitelyTyped/DefinitelyTyped/search?q=better-sqlite3&type=issues

This repo itself does not contain any TypeScript definitions or any sort of TS support.
Check out
https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/better-sqlite3 https://github.com/DefinitelyTyped/DefinitelyTyped/search?q=better-sqlite3&type=issues

Ah, I get it. I do use the @types/better-sqlite3, and the problem is caused by it.
Thanks, I would go there to have a check.

Okay, it's a design collision. This issue can be closed now.

Okay, it's a design collision. This issue can be closed now.

license: mit

license_source: bigquery


text:
Having an error on Windows 10

I have an error at lzz-source while installing better-sqlite3.
Python and node-gyp are installed globally. I have tried all solutions including this help
But I have still some errors:
D:\Projects\appigo\todo-translation>npm install better-sqlite3

> integer@1.0.1 install D:\Projects\appigo\todo-translation\node_modules\better-sqlite3\node_modules\integer
> node tools/install

D:\Projects\appigo\todo-translation\node_modules\better-sqlite3\node_modules\integer>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  integer.cpp
  win_delay_load_hook.cc
..\src\integer.cpp(370): warning C4804: '-': unsafe use of type 'bool' in operation [D:\Projects\appigo\todo-translation\node_modules\better-sqlite3\node_modules\integer\build\integer.vcxproj]
..\src\integer.cpp(376): warning C4244: '=': conversion from 'uint64_t' to 'unsigned char', possible loss of data [D:\Projects\appigo\todo-translation\node_modules\better-sqlite3\node_modules\integer\build\integer.vcxproj]
     Creating library D:\Projects\appigo\todo-translation\node_modules\better-sqlite3\node_modules\integer\build\Release\integer.lib and object D:\Projects\appigo\todo-translation\node_modules\better-sqlite3\node_modules\integer\build\R
  elease\integer.exp
  Generating code
  Finished generating code
  integer.vcxproj -> D:\Projects\appigo\todo-translation\node_modules\better-sqlite3\node_modules\integer\build\Release\\integer.node
  integer.vcxproj -> D:\Projects\appigo\todo-translation\node_modules\better-sqlite3\node_modules\integer\build\Release\integer.pdb (Full PDB)

> better-sqlite3@4.0.3 install D:\Projects\appigo\todo-translation\node_modules\better-sqlite3
> node deps/install

==> cwd: D:\Projects\appigo\todo-translation\node_modules\lzz-gyp\lzz-source
==> make -f Makefile.release
-n 'Compiling basl_Attrib.cpp... '
process_begin: CreateProcess(NULL, g++ -O3 -o release_build/basl_Attrib.cpp.o -c basl_Attrib.cpp, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [release_build/basl_Attrib.cpp.o] Error 2
Error: exit code 2
    at ChildProcess.<anonymous> (D:\Projects\appigo\todo-translation\node_modules\lzz-gyp\lib\exec.js:19:12)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
npm WARN enoent ENOENT: no such file or directory, open 'D:\Projects\appigo\todo-translation\node_modules\integer\package.json'
npm ERR! Windows_NT 10.0.15063
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "better-sqlite3"
npm ERR! node v6.11.5
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! better-sqlite3@4.0.3 install: `node deps/install`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the better-sqlite3@4.0.3 install script 'node deps/install'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the better-sqlite3 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node deps/install
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs better-sqlite3
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls better-sqlite3
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     D:\Projects\appigo\todo-translation\npm-debug.log

@JoshuaWise Could you help me to fix this as soon as possible?

I haven't seen this issue before. Some people have had success after installing node-gyp locally (in addition to globally) before installing better-sqlite3. I encourage you to try that.
In order to help you debug the problem, what operating system and Nodejs version are you using?

npm ERR! Windows_NT 10.0.15063 (Windows 10)
npm ERR! node v6.11.5
npm ERR! npm  v3.10.10

Yes, I've installed node-gyp locally and globally.
After installation of GnuWin32 & MinGW, it is working properly.
Then I replaced \gnuwin32\bin\libiconv-2.dll with \MinGW\bin\libiconv-2.dll.
Please check this: https://stackoverflow.com/questions/7262362/mingw-the-procedure-entry-point-libiconv-could-not-be-located
In my opinion, the error occurred because of g++. so Installed MinGW.
The GnuWin32 is also needed because of makefile.
@JoshuaWise I hope you will suggest any better idea.

npm install node-gyp better-sqlite3

Installing a local node-gyp works. It's because "node-gyp" returns the local node-gyp path!
@JoshuaWise, see my comment https://github.com/JoshuaWise/lzz-gyp/commit/d0ecd526cb222489f1ccffeb2529a94ddbe5e6b6#commitcomment-25552278

@yanxyz Looks great!
Could you recommend me know a tool for make and g++? As you know I've installed 2 applications for it. There was a conflict. Unfortunately, MinGW hasn't got gcc.exe and GnuWin32 hasn't got make.exe.

@bstarr322 I use VS2017 as I use it to develop C#. You could try  windows-build-tools, howerver, I'm not sure whether it works.

better-sqlite3 instructions
npm install -g windows-build-tools(might need to install python and add the dir to the env file in windows)
npm install node-gyp
npm install --save better-sqlite3
npm install --save-dev electron-rebuild
go to terminal in the vs and run
node_modules/.bin/electron-rebuild -f -w better-sqlite3

@JoshuaWise I have tried every way whatever above comments are there
please check my log
electron-rebuild -f -w better-sqlite3
× Rebuild Failed
An unhandled error occurred inside electron-rebuild
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
extract_sqlite3
sqlite3.c
win_delay_load_hook.cc
sqlite3.vcxproj -> D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\Release\sqlite3.lib
better_sqlite3.cpp
win_delay_load_hook.cc
./src/better_sqlite3.lzz(67): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(68): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(68): error C2227: left of '->GetIsolate' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(68): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(74): error C2039: 'AddEnvironmentCleanupHook': is not a member of 'node' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\src\node_buffer.h(28): note: see declaration of 'node' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(74): error C3861: 'AddEnvironmentCleanupHook': identifier not found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(77): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(77): error C2227: left of '->Set' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(77): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(77): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(77): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(78): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(78): error C2227: left of '->Set' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(78): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(78): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(78): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(79): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(79): error C2227: left of '->Set' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(79): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(79): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(79): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(80): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(80): error C2227: left of '->Set' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(80): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(80): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(80): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(81): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(81): error C2227: left of '->Set' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(81): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(81): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(81): error C2228: left of '.ToLocalChecked' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(81): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): error C2227: left of '->Get' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(84): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): error C2228: left of '.ToLocalChecked' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): error C2672: 'v8::Localv8::Function::Cast': no matching overloaded function found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): error C2660: 'v8::PersistentBase::Reset': function does not take 1 arguments [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
with
[
T=v8::Function
] (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(85): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(85): error C2227: left of '->Get' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(85): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(85): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(85): error C2228: left of '.ToLocalChecked' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(85): error C2672: 'v8::Localv8::Function::Cast': no matching overloaded function found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(85): error C2660: 'v8::PersistentBase::Reset': function does not take 1 arguments [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
with
[
T=v8::Function
] (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(86): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(86): error C2227: left of '->Get' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(86): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(86): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(86): error C2228: left of '.ToLocalChecked' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(86): error C2672: 'v8::Localv8::Function::Cast': no matching overloaded function found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(86): error C2660: 'v8::PersistentBase::Reset': function does not take 1 arguments [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
with
[
T=v8::Function
] (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(87): warning C4508: 'NODE_MODULE_INIT': function should return a value; 'void' return type assumed (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(155): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(208): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(271): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(296): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(320): error C2440: '': cannot convert from 'initializer list' to 'v8::String::Utf8Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(320): note: No constructor could take the source type, or constructor overload resolution was ambiguous (compiling source file ..\src\better_sqlite3.cpp)
./src/objects/database.lzz(321): error C2440: '': cannot convert from 'initializer list' to 'v8::String::Utf8Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(321): note: No constructor could take the source type, or constructor overload resolution was ambiguous (compiling source file ..\src\better_sqlite3.cpp)
./src/objects/database.lzz(323): error C2660: 'sqlite3_load_extension': function does not take 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/statement.lzz(97): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/statement.lzz(154): error C3083: 'BigInt': the symbol to the left of a '::' must be a type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/statement.lzz(154): error C2039: 'New': is not a member of 'v8' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(64): note: see declaration of 'v8' (compiling source file ..\src\better_sqlite3.cpp)
./src/objects/statement.lzz(154): error C3861: 'New': identifier not found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/statement.lzz(156): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/statement.lzz(156): note: type is 'bool' (compiling source file ..\src\better_sqlite3.cpp)
./src/objects/backup.lzz(64): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/backup.lzz(65): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(75): error C3083: 'BigInt': the symbol to the left of a '::' must be a type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(75): error C2039: 'New': is not a member of 'v8' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(64): note: see declaration of 'v8' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(75): error C3861: 'New': identifier not found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(79): error C3083: 'BigInt': the symbol to the left of a '::' must be a type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(79): error C2039: 'New': is not a member of 'v8' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(64): note: see declaration of 'v8' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(79): error C3861: 'New': identifier not found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(138): error C2039: 'IsBigInt': is not a member of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(1986): note: see declaration of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(138): error C2039: 'BigInt': is not a member of 'v8' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(64): note: see declaration of 'v8' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(138): error C2065: 'BigInt': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(138): error C2923: 'v8::Local': 'BigInt' is not a valid template type argument for parameter 'T' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(138): error C2955: 'v8::Local': use of class template requires template argument list (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(193): note: see declaration of 'v8::Local' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(138): error C2839: invalid return type 'T *' for overloaded 'operator ->' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(138): error C2039: 'Int64Value': is not a member of 'v8::Local' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(138): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(139): error C2039: 'IsBigInt': is not a member of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(1986): note: see declaration of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(143): error C2039: 'IsBigInt': is not a member of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(1986): note: see declaration of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(143): error C2039: 'BigInt': is not a member of 'v8' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(64): note: see declaration of 'v8' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(143): error C2065: 'BigInt': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(143): error C2923: 'v8::Local': 'BigInt' is not a valid template type argument for parameter 'T' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(143): error C2955: 'v8::Local': use of class template requires template argument list (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(193): note: see declaration of 'v8::Local' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(143): error C2839: invalid return type 'T *' for overloaded 'operator ->' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(143): error C2039: 'Int64Value': is not a member of 'v8::Local' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(143): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(144): error C2039: 'IsBigInt': is not a member of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(1986): note: see declaration of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(144): error C2660: 'CustomFunction::ThrowResultValueError': function does not take 1 arguments (compiling source file ..\src\better_sqlite3.cpp)
[D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/binder.lzz(120): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
test_extension.c
win_delay_load_hook.cc
Creating library D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\Release\test_extension.lib and object D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\Release\test_extension.exp
Generating code
Finished generating code
test_extension.vcxproj -> D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\Release\test_extension.node
test_extension.vcxproj -> D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\Release\test_extension.pdb (Full PDB)
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\MSBuild.exe failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\electron-rebuild\node_modules\node-gyp\lib\build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Windows_NT 10.0.18363
gyp ERR! command "C:\Program Files\nodejs\node.exe" "D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\electron-rebuild\node_modules\node-gyp\bin\node-gyp.js" "rebuild" "--target=1.8.8" "--arch=x64" "--dist-url=https://www.electronjs.org/headers" "--build-from-source"
gyp ERR! cwd D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3
gyp ERR! node -v v12.18.1
gyp ERR! node-gyp -v v6.1.0
gyp ERR! not ok
Failed with exit code: 1
Error: Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
extract_sqlite3
sqlite3.c
win_delay_load_hook.cc
sqlite3.vcxproj -> D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\Release\sqlite3.lib
better_sqlite3.cpp
win_delay_load_hook.cc
./src/better_sqlite3.lzz(67): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(68): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(68): error C2227: left of '->GetIsolate' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(68): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(74): error C2039: 'AddEnvironmentCleanupHook': is not a member of 'node' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\src\node_buffer.h(28): note: see declaration of 'node' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(74): error C3861: 'AddEnvironmentCleanupHook': identifier not found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(77): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(77): error C2227: left of '->Set' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(77): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(77): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(77): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(78): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(78): error C2227: left of '->Set' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(78): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(78): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(78): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(79): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(79): error C2227: left of '->Set' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(79): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(79): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(79): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(80): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(80): error C2227: left of '->Set' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(80): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(80): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(80): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(81): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(81): error C2227: left of '->Set' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(81): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(81): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(81): error C2228: left of '.ToLocalChecked' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(81): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): error C2227: left of '->Get' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(84): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): error C2228: left of '.ToLocalChecked' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): error C2672: 'v8::Localv8::Function::Cast': no matching overloaded function found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(84): error C2660: 'v8::PersistentBase::Reset': function does not take 1 arguments [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
with
[
T=v8::Function
] (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(85): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(85): error C2227: left of '->Get' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(85): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(85): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(85): error C2228: left of '.ToLocalChecked' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(85): error C2672: 'v8::Localv8::Function::Cast': no matching overloaded function found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(85): error C2660: 'v8::PersistentBase::Reset': function does not take 1 arguments [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
with
[
T=v8::Function
] (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(86): error C2065: 'exports': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(86): error C2227: left of '->Get' must point to class/struct/union/generic type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(86): note: type is 'unknown-type' (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(86): error C2065: 'context': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(86): error C2228: left of '.ToLocalChecked' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(86): error C2672: 'v8::Localv8::Function::Cast': no matching overloaded function found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/better_sqlite3.lzz(86): error C2660: 'v8::PersistentBase::Reset': function does not take 1 arguments [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
with
[
T=v8::Function
] (compiling source file ..\src\better_sqlite3.cpp)
./src/better_sqlite3.lzz(87): warning C4508: 'NODE_MODULE_INIT': function should return a value; 'void' return type assumed (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(155): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(208): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(271): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(296): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(320): error C2440: '': cannot convert from 'initializer list' to 'v8::String::Utf8Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(320): note: No constructor could take the source type, or constructor overload resolution was ambiguous (compiling source file ..\src\better_sqlite3.cpp)
./src/objects/database.lzz(321): error C2440: '': cannot convert from 'initializer list' to 'v8::String::Utf8Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/database.lzz(321): note: No constructor could take the source type, or constructor overload resolution was ambiguous (compiling source file ..\src\better_sqlite3.cpp)
./src/objects/database.lzz(323): error C2660: 'sqlite3_load_extension': function does not take 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/statement.lzz(97): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/statement.lzz(154): error C3083: 'BigInt': the symbol to the left of a '::' must be a type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/statement.lzz(154): error C2039: 'New': is not a member of 'v8' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(64): note: see declaration of 'v8' (compiling source file ..\src\better_sqlite3.cpp)
./src/objects/statement.lzz(154): error C3861: 'New': identifier not found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/statement.lzz(156): error C2228: left of '.FromJust' must have class/struct/union (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/statement.lzz(156): note: type is 'bool' (compiling source file ..\src\better_sqlite3.cpp)
./src/objects/backup.lzz(64): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/objects/backup.lzz(65): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(75): error C3083: 'BigInt': the symbol to the left of a '::' must be a type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(75): error C2039: 'New': is not a member of 'v8' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(64): note: see declaration of 'v8' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(75): error C3861: 'New': identifier not found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(79): error C3083: 'BigInt': the symbol to the left of a '::' must be a type (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(79): error C2039: 'New': is not a member of 'v8' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(64): note: see declaration of 'v8' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(79): error C3861: 'New': identifier not found (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(138): error C2039: 'IsBigInt': is not a member of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(1986): note: see declaration of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(138): error C2039: 'BigInt': is not a member of 'v8' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(64): note: see declaration of 'v8' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(138): error C2065: 'BigInt': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(138): error C2923: 'v8::Local': 'BigInt' is not a valid template type argument for parameter 'T' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(138): error C2955: 'v8::Local': use of class template requires template argument list (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(193): note: see declaration of 'v8::Local' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(138): error C2839: invalid return type 'T *' for overloaded 'operator ->' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(138): error C2039: 'Int64Value': is not a member of 'v8::Local' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(138): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(139): error C2039: 'IsBigInt': is not a member of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(1986): note: see declaration of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(143): error C2039: 'IsBigInt': is not a member of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(1986): note: see declaration of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(143): error C2039: 'BigInt': is not a member of 'v8' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(64): note: see declaration of 'v8' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(143): error C2065: 'BigInt': undeclared identifier (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(143): error C2923: 'v8::Local': 'BigInt' is not a valid template type argument for parameter 'T' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(143): error C2955: 'v8::Local': use of class template requires template argument list (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(193): note: see declaration of 'v8::Local' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(143): error C2839: invalid return type 'T *' for overloaded 'operator ->' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(143): error C2039: 'Int64Value': is not a member of 'v8::Local' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(143): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/data.lzz(144): error C2039: 'IsBigInt': is not a member of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
C:\Users\apjan.electron-gyp\iojs-1.8.8\deps\v8\include\v8.h(1986): note: see declaration of 'v8::Value' (compiling source file ..\src\better_sqlite3.cpp)
./src/util/data.lzz(144): error C2660: 'CustomFunction::ThrowResultValueError': function does not take 1 arguments (compiling source file ..\src\better_sqlite3.cpp)
[D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
./src/util/binder.lzz(120): error C2661: 'v8::String::Utf8Value::Utf8Value': no overloaded function takes 2 arguments (compiling source file ..\src\better_sqlite3.cpp) [D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\better_sqlite3.vcxproj]
test_extension.c
win_delay_load_hook.cc
Creating library D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\Release\test_extension.lib and object D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\Release\test_extension.exp
Generating code
Finished generating code
test_extension.vcxproj -> D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\Release\test_extension.node
test_extension.vcxproj -> D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3\build\Release\test_extension.pdb (Full PDB)
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\MSBuild.exe failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\electron-rebuild\node_modules\node-gyp\lib\build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Windows_NT 10.0.18363
gyp ERR! command "C:\Program Files\nodejs\node.exe" "D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\electron-rebuild\node_modules\node-gyp\bin\node-gyp.js" "rebuild" "--target=1.8.8" "--arch=x64" "--dist-url=https://www.electronjs.org/headers" "--build-from-source"
gyp ERR! cwd D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\better-sqlite3
gyp ERR! node -v v12.18.1
gyp ERR! node-gyp -v v6.1.0
gyp ERR! not ok
Failed with exit code: 1
at SafeSubscriber._error (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\spawn-rx\lib\src\index.js:267:84)
at SafeSubscriber.__tryOrUnsub (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\rxjs\internal\Subscriber.js:205:16)
at SafeSubscriber.error (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\rxjs\internal\Subscriber.js:156:26)
at Subscriber._error (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\rxjs\internal\Subscriber.js:92:26)
at Subscriber.error (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\rxjs\internal\Subscriber.js:72:18)
at MapSubscriber.Subscriber._error (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\rxjs\internal\Subscriber.js:92:26)
at MapSubscriber.Subscriber.error (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\rxjs\internal\Subscriber.js:72:18)
at SafeSubscriber._next (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\spawn-rx\lib\src\index.js:242:65)
at SafeSubscriber.__tryOrUnsub (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\rxjs\internal\Subscriber.js:205:16)
at SafeSubscriber.next (D:\Ankit\Study\practicals\worker\electron-background-processing\node_modules\rxjs\internal\Subscriber.js:143:22)
npm ERR! code ELIFECYCLE

authors: Custardcs JoshuaWise aaptl bstarr322 yanxyz


text:
Checking for Multiple URL's

Sir, Can you please help me in monitoring multiple url's. This project is very great and working fine for one url. Please help me.

That should be easy to do:
1-  Instead of a single variable, create an array of URLs to check
const urlsToCheck = ["http://urlyouwant.com/tocheck1", "http://urlyouwant.com/tocheck2", "http://urlyouwant.com/tocheck3];
2- You need to create a for-loop that wraps the request(...) function call, in order to call that function with all the urlsToCheck, one by one, eg:
urlsToCheck.forEach((urlToCheck)={

//this funtion already exist
request(urlToCheck, function (err, response, body) {
.....
}

});

Note: If better performance is needed I recommend to use the library https://www.npmjs.com/package/jest-worker in order to make the request(...) calls in parallel

Sir I did the changes and executed the code. It is giving me following error. Can please you help me in rectifying it. I am attaching the code url and error screenshot. Thank you.
/home/leela/Desktop/website-change-monitor/server.js:39
request(urlToCheck, function (err, response, body) {
https://drive.google.com/file/d/1EABYVfsuyUqRDItAJyCuPBm1CFUic6gi/view?usp=sharing ^^^^^^^^

SyntaxError: Unexpected token function
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3

Sir, I am able to parse multiple urls now. Thank you for the help. But while detecting the page with keywords.. It is checking the whole web page body to detect the keyword and giving the result. Can we check the keyword only in changed content and return a message if the keyword detected in changed content ?
Example :
New Content :+1:
India is a land of ganga.
India is also known as Bharat.
Old Content :+1:
India is also known as Bharat.
For keyword = Ganga.. It should give me a slack message.
For Keyword = Bharat.. it should not give me a slack message.. when it is updated. It should only compare keyword with changed content.
Please help me. Thank you.

Hi @leela-krishna-kumar I am glad to hear you made some progress.
Regarding your requirement of just check in the new content sadly that is a very particular case that is out of the scope of this project.
Anyway, I think in that case you can save the body content between setIntervals(), and apply a diff using something like this library https://www.npmjs.com/package/diff to get the difference (new content) between the old body and the new body. And then just apply the if (elementsToSearchFor.some((el) =>NEWCONTENT.includes(el)))  to the new conent.

Sir, I have been trying whole day to make it work. but I think JSdiff is unable to give the difference between two contents. Is there any alternative  to do this. Here is the code I tried. Thank you.
const express = require('express');
const bodyParser = require('body-parser');
const request = require('request');
var jsdiff = require('diff');
var JSSoup = require('jssoup').default;
//Express configuration
const app = express();
app.use(express.static('public'));
app.use(bodyParser.urlencoded({extended: true}));
app.set('view engine', 'ejs');
const PORT = process.env.PORT || 3000;
//Main configuration variables
const urlsToCheck = ["https://news.ycombinator.com/newest"];
const elementsToSearchFor = ['disaster','incident', 'crisis', 'emergency', 'imageYouWantToCheckItsExistence.png'];
const checkingFrequency = 1 * 60000; //first number represent the checkingFrequency in minutes
//Slack Integration
const SLACK_WEBHOOK_URL = 'https://hooks.slack.com/services/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';
const slack = require('slack-notify')(SLACK_WEBHOOK_URL);
//SendGrid Email Integration
const SENDGRID_APY_KEY = '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';
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(SENDGRID_APY_KEY);
const emailFrom = 'scrapingsystem@gmail.com';
const emailsToAlert = ['scrapingsystem@gmail.com', 'scrapingsystem@gmail.com'];
const checkingNumberBeforeWorkingOKEmail = 1440 / (checkingFrequency / 60000);   //1 day = 1440 minutes
let requestCounter = 0;
//Main function
const intervalId = setInterval(function () {
urlsToCheck.forEach((urlToCheck) => {
request(urlToCheck, function (err, response, body1) {
    //if the request fail
    if (err) {
        console.log(`Request Error - ${err}`);
    }
    else {
        //if the target-page content is empty
        if (!body1) {
            console.log(`Request Body Error - ${err}`);
        }
        //if the request is successful
        else {

	var soup1 = new JSSoup(body1) ;
	oldBody = soup1.getText();

	const timeoutId = setTimeout(function () {

			request(urlToCheck, function (err, response, body2) {
  			  //if the request fail
   			 if (err) {
      			  console.log(`Request Error - ${err}`);
   			 }
   			 else {
      		  //if the target-page content is empty
      		  if (!body2) {
          			  console.log(`Request Body Error - ${err}`);
       		 }
        		//if the request is successful
       	 	else {
			var soup2 = new JSSoup(body2);
			newBody = soup2.getText();
		//	console.log(oldBody);

			var newChanges = jsdiff.diffWordsWithSpace(oldBody, newBody);
			var newContent = JSON.stringify(newChanges);
			console.log(newContent);

           			 //if any elementsToSearchFor exist
            		if (elementsToSearchFor.some((el) => newContent.includes(el))) {

               		 // Slack Alert Notification
               		 slack.alert(`🔥🔥🔥  <${urlToCheck}/|Change detected in ${urlToCheck}>  🔥🔥🔥 `, function (err) {
                 		 if (err) {
                       		 console.log('Slack API error:', err);
                   		} else {
                      		  console.log('Message received in slack!');
                   		 }
               });

                // Email Alert Notification
                const msg = {
                    to: emailsToAlert,
                    from: emailFrom,
                    subject: `🔥🔥🔥 Change detected in ${urlToCheck} 🔥🔥🔥`,
                    html: `Change detected in <a href="${urlToCheck}"> ${urlToCheck} </a>  `,
                };
                sgMail.send(msg)
                    .then(()=>{console.log("Alert Email Sent!");})
                    .catch((emailError)=>{console.log(emailError);});
            }

        }
		}
			});
                    }, checkingFrequency);

    }
    }

})
});
requestCounter++;

// "Working OK" email notification logic
if (requestCounter > checkingNumberBeforeWorkingOKEmail) {

    requestCounter = 0;

    const msg = {
        to: emailsToAlert,
        from: emailFrom,
        subject: '👀👀👀 Website Change Monitor is working OK 👀👀👀',
        html: `Website Change Monitor is working OK - <b>${new Date().toLocaleString("en-US", {timeZone: "Asia/Kolkata"})}</b>`,
    };
    sgMail.send(msg)
        .then(()=>{console.log("Working OK Email Sent!");})
        .catch((emailError)=>{console.log(emailError);});
}

}, checkingFrequency);
//Index page render
app.get('/', function (req, res) {
res.render('index', null);
});
//Server start
app.listen(PORT, function () {
console.log(Example app listening on port ${PORT}!)
});

Hi! I'm a security researcher @TruffleSecurity. I found a valid API key leaked in a comment in this Issue. I highly recommend rotating the API key immediately (not just deleting the comment). Here's a blog post I wrote on remediating these types of vulnerabilities: https://trufflesecurity.com/blog/remediate-leaked-api-keys-with-key-rotation.If you can't find the leaked API key, you can use the following TruffleHog command to automatically scan for it:trufflehog github --repo https://github.com/<your_username>/<your_reponame> --issue-comments --only-verifiedIf it's not clear where/what the security issue is, please let me know. I'd be happy to help. Please note that the API key might be in the past edit of a comment.(cc @leela-krishna-kumar)

repo: JuanmaMenendez/website-change-monitor


text:
Adding an AutomaticCounter

It'd would be great to have a counter that automatically increments Countables based on a time interval...

Great job! thanks

repo: Juanpe/Counter


text:
TO-DO

Scrapy progress bar
All URLS in same queue

Add unittest

repo: JudeTe/PttImageCrawler


text:
Fool Polymer 2.6+ into sending notifications

See https://github.com/Polymer/polymer/commit/e6d558ec

Ready. Apps tests will not pass as they have bad starcounter-include.

Closed in favour of https://github.com/Juicy/imported-template/pull/56

repo: Juicy/juicy-html