list-of-top-level-domains/bin/helpers/generate-js-tld-desc.js

111 lines
3.4 KiB
JavaScript
Raw Normal View History

#!/usr/bin/env node
2017-12-13 21:19:58 +00:00
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
const meName = 'generate-js-desc.js';
2017-12-13 21:19:58 +00:00
2017-12-14 04:49:59 +00:00
process.on('unhandledRejection', error => {
console.error(meName + ": (FATAL)", error);
process.exit(1);
});
const countries = require('country-data').countries;
const country = require('countryjs');
const parse = require('csv-parse');
const fs = require('fs-extra');
const path = require('path');
const md5File = require('md5-file/promise');
const pathinfo = require('pathinfo');
const program = require('commander');
const tmp = require('tmp');
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
//tmp.setGracefulCleanup();
2017-12-14 04:49:59 +00:00
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
const fileTldDescJs = path.dirname(require.main.filename) + '/../../formats/js/tld-enum/desc.js';
2017-12-14 04:49:59 +00:00
const fileTldsCsv = path.dirname(require.main.filename) + '/../../tlds.csv';
program
.option('-q, --quiet', 'Quiet Mode')
.parse(process.argv);
if (!program.quiet) {
console.log(meName);
console.log(" (c) 2017 Doug Bird, All Rights Reserved.");
console.log(" see README.md for licensing and other information");
console.log(" https://github.com/katmore/tld-enum#readme");
console.log("");
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
console.log(" Generates new javascript format file 'desc.js' from the 'tlds.csv' file");
2017-12-14 04:49:59 +00:00
console.log("");
}
(async() => {
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
const tldDescStartTldDesc = 'module.exports = ';
const tldDescEndTldDesc = ';';
2017-12-14 04:49:59 +00:00
const tmpDir = tmp.dirSync({ unsafeCleanup: true });
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
const fileNewTldDescJs = tmpDir.name + '/desc.js';
2017-12-14 04:49:59 +00:00
let existingMd5 = null;
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
if (fs.existsSync(fileTldDescJs)) {
existingMd5 = await md5File(fileTldDescJs);
const pathinfoTlds = pathinfo(fileTldDescJs);
const fileBackupTlds = pathinfoTlds.dirname + pathinfoTlds.sep + pathinfoTlds.basename + '-' + existingMd5 + '-backup.js';
2017-12-14 04:49:59 +00:00
if (!fs.existsSync(fileBackupTlds)) {
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
fs.copySync(fileTldDescJs, fileBackupTlds);
2017-12-14 04:49:59 +00:00
}
}
process.stdout.write("reading 'tlds.csv'...");
let parser = parse({ delimiter: ',' });
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
let tldDesc = {};
2017-12-14 04:49:59 +00:00
parser.on('readable', function() {
let i = 0;
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
let row, domain, desc;
2017-12-14 04:49:59 +00:00
while (row = parser.read()) {
if (!row.length) {
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
console.error(meName + ": (FATAL) invalid 'tlds.csv' row #" + i + " in '" + fileTldsCsv+"'");
2017-12-14 04:49:59 +00:00
process.exit(1);
}
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
if (typeof row[1] === 'undefined') {
console.error(meName + ": (FATAL) invalid 'tlds.csv', missing column 2 on row #" + i + " in '" + fileTldsCsv+"'");
process.exit(1);
}
domain=row[0];
desc=row[1];
tldDesc[domain]=desc;
2017-12-14 04:49:59 +00:00
i++;
}
});
parser.write(fs.readFileSync(fileTldsCsv));
parser.end();
console.log("done");
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
process.stdout.write("generating new 'desc.js' file...");
fs.writeFileSync(fileNewTldDescJs, tldDescStartTldDesc);
2017-12-14 04:49:59 +00:00
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
fs.appendFileSync(fileNewTldDescJs, JSON.stringify(tldDesc, null, 2));
fs.appendFileSync(fileNewTldDescJs, tldDescEndTldDesc);
2017-12-14 04:49:59 +00:00
console.log("done");
if (existingMd5) {
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
const newMd5 = await md5File(fileNewTldDescJs);
2017-12-14 04:49:59 +00:00
if (newMd5 == existingMd5) {
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
console.error(meName + ": (NOTICE) ignoring newly generated 'desc.js' file that is identical to the existing file (md5: " + existingMd5 + ", path: " + fileTldDescJs + ")");
2017-12-14 04:49:59 +00:00
return;
}
}
version 2 - refactor js files to be proper module exportrs with an index.js - fix inconsistent naming of TLD format files containing simple array of each TLD; now all named using the "list" suffix instead of some using "enum" - formats/js/tld-enum/list.js - formats/json/tld-list.json - formats/php/TldEnum/TldList.php - new "desc" (description) format file; hashmap of each TLD with corresponding description - formats/js/tld-enum/desc.js - formats/json/tld-desc.json - formats/php/TldEnum/TldDesc.php - new "type" format file; hashmap of each TLD with corresponding TLD type - formats/js/tld-enum/type.js - formats/json/tld-type.json - formats/php/TldEnum/TldType.php - new "info" format file; array of each TLD with hashmap containing the "domain", "description", and "type" properties - formats/js/tld-enum/info.js - formats/json/tld-info.json - formats/php/TldEnum/TldInfo.php - examples for new format files - examples/js-desc-demo.js - examples/js-info-demo.js - examples/js-type-demo.js - examples/php-TldDesc-demo.php - examples/php-TldInfo-demo.php - examples/php-TldType-demo.php - fixes to bin/update-formats.sh - can now skip downloading data from IANA - creates new format files with newly created helpers - created new helpers for new format files - bin/helpers/generate-js-tld-desc.js - bin/helpers/generate-js-tld-info.js - bin/helpers/generate-js-tld-type.js - bin/helpers/generate-json-tld-desc.js - bin/helpers/generate-json-tld-info.js - bin/helpers/generate-json-tld-type.js - bin/helpers/generate-php-tld-desc.php - bin/helpers/generate-php-tld-info.php - bin/helpers/generate-php-tld-type.php
2018-06-13 05:51:12 +00:00
fs.copySync(fileNewTldDescJs, fileTldDescJs);
console.log("saved new 'desc.js' file");
2017-12-14 04:49:59 +00:00
})();