UNPKG

@gdjiami/cli

Version:

CLI for build front end project.

37 lines (36 loc) 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCerts = void 0; var tslib_1 = require("tslib"); /** * create ssl certificate */ var path_1 = tslib_1.__importDefault(require("path")); var fs_extra_1 = tslib_1.__importDefault(require("fs-extra")); var createCertificate_1 = tslib_1.__importDefault(require("webpack-dev-server/lib/utils/createCertificate")); function getCerts() { var certPath = path_1.default.join(__dirname, '../ssl/server.pem'); var certExisted = fs_extra_1.default.existsSync(certPath); // 检查是否过期 if (certExisted) { var certTtl = 1000 * 60 * 60 * 24; var certStat = fs_extra_1.default.statSync(certPath); var now = new Date(); // cert is more than 30 days old, kill it with fire if ((now.getTime() - certStat.ctime.getTime()) / certTtl > 30) { fs_extra_1.default.removeSync(certPath); certExisted = false; } } if (!certExisted) { var attrs = [{ name: 'commonName', value: 'localhost' }]; var pems = createCertificate_1.default(attrs); fs_extra_1.default.writeFileSync(certPath, pems.private + pems.cert, { encoding: 'utf-8' }); } var cert = fs_extra_1.default.readFileSync(certPath); return { key: cert, cert: cert, }; } exports.getCerts = getCerts;