Reading a .md file applying some regex, giving null in JavaScript/TS

Viewed 67

I have changelog.MD file I am reading it through, fs in JavaScript like,

const readFile = async (fileName: string) => {
  return promisify(fs.readFile)(filePath, 'utf8');
}

now reading my .md file:

const readMD = async (filePath: string) => {
  const text = await readFile(filePath);
}

content in changelog.md is:

## asdfasdf
 * 11asdf asdf
 * 11asdfadf
 
## asdfadf
 * asdfasf
 * asdfasdf

function to read it and applying regex like:

const changeLog = await readME(changeLogPath);
const result = changelog.match(/^##.*\n([^#]*)/m);
console.log(final[1]);

btw- this regex is working fine and returns me the first bullets under first ##. ie. output.

 * 11asdf asdf
 * 11asdfadf

but it returns null, when I apply it on the result after reading changelog.MD file. Any help.

2 Answers

I am not an expert on TypeScript but when I tried the same with pure JS it worked.

const fs = require("fs");

const readMD = (filePath) => {
    return new Promise((resolve, reject) => {
        fs.readFile(filePath, "utf8", (error, content) => {
            if (error) reject(error);
            resolve(content);
        });
    });
}

readMD("./changelog.md").then(changelog => {
    const result = changelog.match(/^##.*\n([^#]*)/m);
    console.log(result[1]);
});

Sorry for getting delayed in sharing my solution:

The regex works fine but the original issue was in regex only- the right one is below.

(/^##.\r*([^#]*)/m);

Related