Home > Blockchain >  Typescript: Json5 with import
Typescript: Json5 with import

Time:02-21

PrintScreen

Shows this message on hovering but it's clearly there

Cannot find module '../conf/config.json5' or its corresponding type declarations.ts(2307)

I have 2 questions other than the issue:

  1. Will I get intelisense for contents inside .json5, like regular json
  2. Does it even work like it works with require()? Do I have to use import() instead of regular import ?

CodePudding user response:

You will need the package to do so: json5.

There are one of two ways we can use this:

One: (target module system is CommonJS) require it

Following the README, we register json5:

import "json5/lib/register";

Then you can use require to import it:

const config = require("../config/config.json5");

Two: Reading the file and then using json5 to parse it:

import json5 from "json5";
import { readFile } from "fs/promises";

(async () => {
    const text = await fs.readFile("./path/to/config.json5"); // path to config.json5 from entry point

    const config = json5.parse(text);
})();

You can also use the provided CLI to convert json5 files to regular json that you can use.

CodePudding user response:

The creator updated the json5 wiki

Wiki

You need to create an extra file with .d.ts extension to support intellisense.

  • Related