chore(v2): ability to test the migration cli easily (#3113)

* ability to test the migration cli easily

* add node scripts to help test migration cli (locally + CI)

* add test for frontmatter quotify

* more tests for shouldQuotifyFrontMatter

* typo

* updated yarn lock
This commit is contained in:
Sébastien Lorber 2020-07-24 15:07:24 +02:00 committed by GitHub
parent 6aec331963
commit a0ef8939a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 69 additions and 20 deletions

View file

@ -50,3 +50,27 @@ export default function extractMetadata(content: string): Data {
}
return {metadata, rawContent: both.content};
}
// The new frontmatter parser need some special chars to
export function shouldQuotifyFrontMatter([key, value]: [
string,
string,
]): boolean {
if (key === 'tags') {
return false;
}
if (String(value).match(/^("|').+("|')$/)) {
return false;
}
// TODO weird graymatter case
// title: !something need quotes
// but not title: something!
if (!String(value).trim().match(/^\w.*/)) {
return true;
}
// TODO this is not ideal to have to maintain such a list of allowed chars
// maybe we should quotify if graymatter throws instead?
return !String(value).match(
/^([\w .\-sàáâãäåçèéêëìíîïðòóôõöùúûüýÿ!;,=+_?'`&#()[\]§%€$])+$/,
);
}