UNPKG

@happykit/auth-email

Version:

- A `useAuth` hook which returns the current user - An optional `getServerSideAuth` for server-side rendering - HappyAuth is tiny - it adds only 4.6 kB to the first load JS - it adds less than 0.04 kB if you're transitioning from another page - Extremely

820 lines (776 loc) 37.1 kB
module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 7); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = require("commander"); /***/ }), /* 1 */ /***/ (function(module, exports) { module.exports = require("inquirer"); /***/ }), /* 2 */ /***/ (function(module, exports) { module.exports = require("chalk"); /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.faunaSecret = void 0; exports.faunaSecret = { type: "password", name: "faunaSecret", message: "FaunaDB Server Key", validate: function (input) { if (input.trim().length === 0) return "Key must be provided"; if (!input.startsWith("fn")) return "This looks like an invalid FaunaDB key. They usually start with \"fn\", but this one doesn't."; return true; }, mask: "*", }; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __spreadArrays = (this && this.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.initFiles = void 0; var commander_1 = __webpack_require__(0); var find_root_1 = __importDefault(__webpack_require__(10)); var fs_extra_1 = __importDefault(__webpack_require__(11)); var path_1 = __importDefault(__webpack_require__(12)); var klaw_1 = __importDefault(__webpack_require__(13)); var inquirer_1 = __importDefault(__webpack_require__(1)); var chalk_1 = __importDefault(__webpack_require__(2)); var crypto_1 = __importDefault(__webpack_require__(5)); var prompts = __importStar(__webpack_require__(3)); function randomSecret() { return crypto_1.default.randomBytes(32).toString("hex"); } function getFiles(source, target) { return __awaiter(this, void 0, void 0, function () { var usesTypeScript, items; var _this = this; return __generator(this, function (_a) { usesTypeScript = fs_extra_1.default.existsSync(path_1.default.join(target, "tsconfig.json")); console.log(usesTypeScript ? chalk_1.default.grey("Detected tsconfig.json. Scaffolding as TypeScript.") : chalk_1.default.grey("No tsconfig.json detected. Scaffolding as JavaScript.")); items = []; return [2 /*return*/, new Promise(function (resolve, reject) { klaw_1.default(source) .on("data", function (item) { // exclude folders if (item.stats.isDirectory()) return; // Exclude ts/tsx files for js projects, and // exclude js files for ts projects. // // We use the blacklist approach so that files like .env.local end // up in both scaffolds. if (item.path.match(usesTypeScript ? /\.js$/ : /\.tsx?$/)) return; if (usesTypeScript && item.path.endsWith("/jsconfig.json")) return; items.push(item); }) .on("error", function (error) { console.error("Something went wrong"); console.log(error); reject(error); }) .on("end", function () { return __awaiter(_this, void 0, void 0, function () { var enhancedItems, _a, nonExistingFiles, existingFiles; return __generator(this, function (_b) { switch (_b.label) { case 0: return [4 /*yield*/, Promise.all(items.map(function (item) { var pathInRoot = path_1.default.relative(source, item.path); var destination = path_1.default.join(target, pathInRoot); var exists = fs_extra_1.default.existsSync(destination); var existingFileMatchesScaffold = exists ? (function () { // check if files are equal and skip prompt/overwrite if they are var a = fs_extra_1.default.readFileSync(item.path, "utf8"); var b = fs_extra_1.default.readFileSync(destination, "utf8"); return a === b; })() : false; return { item: item, pathInRoot: pathInRoot, destination: destination, exists: exists, existingFileMatchesScaffold: existingFileMatchesScaffold, }; }))]; case 1: enhancedItems = _b.sent(); _a = enhancedItems.reduce(function (acc, enhancedItem) { if (enhancedItem.exists) { acc.existingFiles.push(enhancedItem); } else { acc.nonExistingFiles.push(enhancedItem); } return acc; }, { nonExistingFiles: [], existingFiles: [] }), nonExistingFiles = _a.nonExistingFiles, existingFiles = _a.existingFiles; resolve({ nonExistingFiles: nonExistingFiles, existingFiles: existingFiles, enhancedItems: enhancedItems }); return [2 /*return*/]; } }); }); }); })]; }); }); } function initFiles(_a) { var faunaSecret = _a.faunaSecret; return __awaiter(this, void 0, void 0, function () { var source, target, _b, nonExistingFiles, existingFiles, enhancedItems, choices, overwrite, _c, filesToCreate; return __generator(this, function (_d) { switch (_d.label) { case 0: source = path_1.default.join(find_root_1.default(__dirname), "scaffold"); target = process.cwd(); return [4 /*yield*/, getFiles(source, target)]; case 1: _b = _d.sent(), nonExistingFiles = _b.nonExistingFiles, existingFiles = _b.existingFiles, enhancedItems = _b.enhancedItems; choices = existingFiles .filter(function (item) { return item.exists && !item.existingFileMatchesScaffold; }) .map(function (item) { return ({ name: item.pathInRoot }); }); if (!(choices.length > 0)) return [3 /*break*/, 3]; return [4 /*yield*/, inquirer_1.default.prompt([ { type: "checkbox", message: "The following files have changes. Select files to overwrite", name: "overwrite", choices: choices, }, ])]; case 2: _c = _d.sent(); return [3 /*break*/, 4]; case 3: _c = { overwrite: [] }; _d.label = 4; case 4: overwrite = (_c).overwrite; filesToCreate = __spreadArrays(nonExistingFiles, overwrite.map(function (filename) { return existingFiles.find(function (file) { return file.pathInRoot === filename; }); })); console.log(""); console.log(chalk_1.default.bold("The following changes were made:")); enhancedItems.map(function (enhancedItem) { if (filesToCreate.includes(enhancedItem)) { // do not copy directories, as that would copy their contents too fs_extra_1.default.copySync(enhancedItem.item.path, enhancedItem.destination); // generate .env.local secret and overwrite file if (enhancedItem.pathInRoot === ".env.local") { var content = fs_extra_1.default.readFileSync(enhancedItem.destination, "utf8"); content = content.replace(/HAPPYAUTH_TOKEN_SECRET=""/g, "HAPPYAUTH_TOKEN_SECRET=\"" + randomSecret() + "\""); content = content.replace(/FAUNA_SERVER_KEY=""/g, "FAUNA_SERVER_KEY=\"" + faunaSecret + "\""); fs_extra_1.default.writeFileSync(enhancedItem.destination, content, "utf8"); } if (enhancedItem.exists) { console.log(chalk_1.default.green("replaced "), enhancedItem.pathInRoot); } else { console.log(chalk_1.default.green("created "), enhancedItem.pathInRoot); } } else { if (enhancedItem.existingFileMatchesScaffold) { console.info(chalk_1.default.grey("unchanged"), enhancedItem.pathInRoot); } else { console.info(chalk_1.default.yellow("skipped "), enhancedItem.pathInRoot); } } }); return [2 /*return*/]; } }); }); } exports.initFiles = initFiles; function init() { return __awaiter(this, void 0, void 0, function () { var faunaSecret; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, inquirer_1.default.prompt([prompts.faunaSecret])]; case 1: faunaSecret = (_a.sent()).faunaSecret; initFiles({ faunaSecret: faunaSecret }); return [2 /*return*/]; } }); }); } function clean() { return __awaiter(this, void 0, void 0, function () { var target, source, existingFiles, _a, unmodifiedFiles, modifiedFiles, choices, deleteFiles, _b, modifiedFilesToDelete, filesToDelete; return __generator(this, function (_c) { switch (_c.label) { case 0: target = process.cwd(); source = path_1.default.join(find_root_1.default(__dirname), "scaffold"); return [4 /*yield*/, getFiles(source, target)]; case 1: existingFiles = (_c.sent()).existingFiles; _a = existingFiles.reduce(function (acc, cur) { if (cur.existingFileMatchesScaffold) { acc.unmodifiedFiles.push(cur); } else { acc.modifiedFiles.push(cur); } return acc; }, { unmodifiedFiles: [], modifiedFiles: [], }), unmodifiedFiles = _a.unmodifiedFiles, modifiedFiles = _a.modifiedFiles; choices = modifiedFiles.map(function (item) { return ({ name: item.pathInRoot, }); }); if (!(choices.length > 0)) return [3 /*break*/, 3]; return [4 /*yield*/, inquirer_1.default.prompt([ { type: "checkbox", message: "The following files have changes. Select files to delete", name: "deleteFiles", choices: choices, }, ])]; case 2: _b = _c.sent(); return [3 /*break*/, 4]; case 3: _b = { deleteFiles: [] }; _c.label = 4; case 4: deleteFiles = (_b).deleteFiles; modifiedFilesToDelete = deleteFiles.map(function (filename) { return existingFiles.find(function (file) { return file.pathInRoot === filename; }); }); filesToDelete = __spreadArrays(unmodifiedFiles, modifiedFilesToDelete); console.log(""); console.log(chalk_1.default.bold("The following changes were made:")); existingFiles.map(function (enhancedItem) { if (filesToDelete.includes(enhancedItem)) { fs_extra_1.default.removeSync(enhancedItem.destination); console.log(chalk_1.default.green("removed "), enhancedItem.pathInRoot); } else { console.info(chalk_1.default.yellow("skipped "), enhancedItem.pathInRoot); } }); return [2 /*return*/]; } }); }); } var files = new commander_1.Command("files"); files.description("File subcommand"); files.command("init").description("Creates files in project").action(init); files.command("clean").description("Removes files from project").action(clean); files .command("eject <file>") .description("Eject a file") .action(function (file) { console.log("Ejected", file); }); exports.default = files; /***/ }), /* 5 */ /***/ (function(module, exports) { module.exports = require("crypto"); /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.initDb = void 0; var commander_1 = __webpack_require__(0); var faunadb_1 = __importStar(__webpack_require__(14)); var chalk_1 = __importDefault(__webpack_require__(2)); var inquirer_1 = __importDefault(__webpack_require__(1)); var prompts = __importStar(__webpack_require__(3)); function initDb(_a) { var faunaSecret = _a.faunaSecret; return __awaiter(this, void 0, void 0, function () { var serverClient, e_1; return __generator(this, function (_b) { switch (_b.label) { case 0: serverClient = new faunadb_1.default.Client({ secret: faunaSecret }); _b.label = 1; case 1: _b.trys.push([1, 3, , 4]); return [4 /*yield*/, serverClient.query( // TODO Currently the index will not get created in case the User // collection already exists, as the creation will abort. faunadb_1.query.Let({ collection: faunadb_1.query.CreateCollection({ name: "User", history_days: 30, ttl_days: null, }), }, faunadb_1.query.CreateIndex({ name: "users_by_email", // permissions: { read: "public" }, source: faunadb_1.query.Select("ref", faunadb_1.query.Var("collection")), terms: [{ field: ["data", "email"] }], unique: true, })))]; case 2: _b.sent(); console.log(chalk_1.default.green("Created User collection and users_by_email index")); return [3 /*break*/, 4]; case 3: e_1 = _b.sent(); console.log(chalk_1.default.red("Creation failed"), "\n"); if (e_1.message === "instance already exists") { console.log("Seems like either the User collection or the users_by_email index exist already."); console.log("You can verify that on the FaunaDB Dashboard https://dashboard.fauna.com/."); console.log("If they exist, you don't need to run this script again."); } else { console.error(e_1); } return [3 /*break*/, 4]; case 4: return [2 /*return*/]; } }); }); } exports.initDb = initDb; function init() { return __awaiter(this, void 0, void 0, function () { var faunaSecret; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, inquirer_1.default.prompt([prompts.faunaSecret])]; case 1: faunaSecret = (_a.sent()).faunaSecret; return [2 /*return*/, initDb({ faunaSecret: faunaSecret })]; } }); }); } var db = new commander_1.Command("db"); db.description("Database subcommand"); db.command("init").description("Initialize database").action(init); db.command("validate") .description("Initialize database") .action(function () { console.log("This command is not built yet"); }); exports.default = db; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var commander_1 = __webpack_require__(0); var open_1 = __importDefault(__webpack_require__(8)); var init_1 = __importDefault(__webpack_require__(9)); var files_1 = __importDefault(__webpack_require__(4)); var db_1 = __importDefault(__webpack_require__(6)); var random_secret_1 = __importDefault(__webpack_require__(15)); commander_1.program.name("auth").action(function () { console.log(commander_1.program.helpInformation()); }); commander_1.program.usage("[command]"); // yarn auth-email init init_1.default(commander_1.program); // yarn auth-email random-secret random_secret_1.default(commander_1.program); commander_1.program .command("docs") .description("Open the documentation") .action(function () { open_1.default("https://docs.happykit.dev/"); }); commander_1.program .command("repo") .description("Open the repository") .action(function () { open_1.default("https://github.com/happykit/auth-email"); }); // yarn auth-email files init // yarn auth-email files clean // yarn auth-email files eject <path> commander_1.program.addCommand(files_1.default); // yarn auth-email db init // yarn auth-email db validate commander_1.program.addCommand(db_1.default); commander_1.program.parse(process.argv); /***/ }), /* 8 */ /***/ (function(module, exports) { module.exports = require("open"); /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var inquirer_1 = __importDefault(__webpack_require__(1)); var chalk_1 = __importDefault(__webpack_require__(2)); var files_1 = __webpack_require__(4); var db_1 = __webpack_require__(6); var prompts = __importStar(__webpack_require__(3)); function init() { return __awaiter(this, void 0, void 0, function () { var faunaSecret, e_1; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, inquirer_1.default.prompt([prompts.faunaSecret])]; case 1: faunaSecret = (_a.sent()).faunaSecret; _a.label = 2; case 2: _a.trys.push([2, 5, , 6]); return [4 /*yield*/, db_1.initDb({ faunaSecret: faunaSecret })]; case 3: _a.sent(); return [4 /*yield*/, files_1.initFiles({ faunaSecret: faunaSecret })]; case 4: _a.sent(); return [3 /*break*/, 6]; case 5: e_1 = _a.sent(); console.error(chalk_1.default.red("Error"), e_1.message); return [3 /*break*/, 6]; case 6: return [2 /*return*/]; } }); }); } function createInit(program) { program // the init command is a shortcut for executing // yarn auth db init // yarn auth files init .command("init") .description("Initialize database and files") .action(init); } exports.default = createInit; /***/ }), /* 10 */ /***/ (function(module, exports) { module.exports = require("find-root"); /***/ }), /* 11 */ /***/ (function(module, exports) { module.exports = require("fs-extra"); /***/ }), /* 12 */ /***/ (function(module, exports) { module.exports = require("path"); /***/ }), /* 13 */ /***/ (function(module, exports) { module.exports = require("klaw"); /***/ }), /* 14 */ /***/ (function(module, exports) { module.exports = require("faunadb"); /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var crypto_1 = __importDefault(__webpack_require__(5)); function randomSecret() { return crypto_1.default.randomBytes(32).toString("hex"); } function createRandomSecret(program) { program // the init command is a shortcut for executing // yarn auth db init // yarn auth files init .command("random-secret") .description("Generate a random secret") .action(function () { console.log(randomSecret()); }); } exports.default = createRandomSecret; /***/ }) /******/ ]);