mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
b82eec714a
Summary: this moves sandbox/grist to core, and adds a requirements.txt file for reconstructing the content of sandbox/thirdparty. Test Plan: existing tests pass. Tested core functionality manually. Tested docker build manually. Reviewers: dsagal Reviewed By: dsagal Differential Revision: https://phab.getgrist.com/D2563
32 lines
906 B
JavaScript
32 lines
906 B
JavaScript
const path = require('path');
|
|
require('app-module-path').addPath(path.dirname(__dirname));
|
|
require('ts-node').register();
|
|
|
|
/**
|
|
* This script converts the timezone data from moment-timezone to marshalled format, for fast
|
|
* loading by Python.
|
|
*/
|
|
const marshal = require('app/common/marshal');
|
|
const fse = require('fs-extra');
|
|
const moment = require('moment-timezone');
|
|
const DEST_FILE = 'sandbox/grist/tzdata.data';
|
|
|
|
function main() {
|
|
const zones = moment.tz.names().map((name) => {
|
|
const z = moment.tz.zone(name);
|
|
return marshal.wrap('TUPLE', [z.name, z.abbrs, z.offsets, z.untils]);
|
|
});
|
|
const marshaller = new marshal.Marshaller({version: 2});
|
|
marshaller.marshal(zones);
|
|
const contents = marshaller.dumpAsBuffer();
|
|
|
|
return fse.writeFile(DEST_FILE, contents);
|
|
}
|
|
|
|
if (require.main === module) {
|
|
main().catch((e) => {
|
|
console.log("ERROR", e.message);
|
|
process.exit(1);
|
|
});
|
|
}
|