diff options
author | 2020-11-16 00:10:28 +0100 | |
---|---|---|
committer | 2020-11-16 00:10:28 +0100 | |
commit | e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch) | |
tree | 55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/babel-register/lib/cache.js | |
download | website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2 website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip |
api, login, auth
Diffstat (limited to 'node_modules/babel-register/lib/cache.js')
-rw-r--r-- | node_modules/babel-register/lib/cache.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/node_modules/babel-register/lib/cache.js b/node_modules/babel-register/lib/cache.js new file mode 100644 index 0000000..4fbe0d5 --- /dev/null +++ b/node_modules/babel-register/lib/cache.js @@ -0,0 +1,68 @@ +"use strict"; + +exports.__esModule = true; + +var _stringify = require("babel-runtime/core-js/json/stringify"); + +var _stringify2 = _interopRequireDefault(_stringify); + +exports.save = save; +exports.load = load; +exports.get = get; + +var _path = require("path"); + +var _path2 = _interopRequireDefault(_path); + +var _fs = require("fs"); + +var _fs2 = _interopRequireDefault(_fs); + +var _mkdirp = require("mkdirp"); + +var _homeOrTmp = require("home-or-tmp"); + +var _homeOrTmp2 = _interopRequireDefault(_homeOrTmp); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var FILENAME = process.env.BABEL_CACHE_PATH || _path2.default.join(_homeOrTmp2.default, ".babel.json"); +var data = {}; + +function save() { + var serialised = "{}"; + + try { + serialised = (0, _stringify2.default)(data, null, " "); + } catch (err) { + + if (err.message === "Invalid string length") { + err.message = "Cache too large so it's been cleared."; + console.error(err.stack); + } else { + throw err; + } + } + + (0, _mkdirp.sync)(_path2.default.dirname(FILENAME)); + _fs2.default.writeFileSync(FILENAME, serialised); +} + +function load() { + if (process.env.BABEL_DISABLE_CACHE) return; + + process.on("exit", save); + process.nextTick(save); + + if (!_fs2.default.existsSync(FILENAME)) return; + + try { + data = JSON.parse(_fs2.default.readFileSync(FILENAME)); + } catch (err) { + return; + } +} + +function get() { + return data; +}
\ No newline at end of file |