f2e-server3
Version:
f2e-server 3.0
82 lines (81 loc) • 2.83 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const __1 = require("..");
const apps_1 = require("./apps");
const node_path_1 = __importDefault(require("node:path"));
const command = new __1.Command('f2e-server3')
.option('-m, --mode <mode>', 'server mode: dev, build or prod', 'dev', __1.ModeOptions)
.option('-g, --gzip <gzip>', 'enable gzip', true)
.option('-r, --root <root>', 'root', process.cwd())
.option('-l, --level <level>', 'log level: DEBUG, INFO, LOG, WARN, ERROR', 'DEBUG', __1.LogLevelOptions)
.action(async (options) => {
const { mode, gzip, level, root } = options;
__1.logger.setLevel(level);
let i = 0;
(0, __1.createServer)({
root, mode, gzip,
ssl: {
passphrase: 'x509',
key_file_name: node_path_1.default.join(root, './test/ssl/private.pem'),
cert_file_name: node_path_1.default.join(root, './test/ssl/csr.crt'),
},
mimeTypes: {
'ts': 'text/plain',
'hbs': 'text/plain',
},
buildFilter: (pathname) => {
return /^(src|templates|test($|\/index1?\.html|\/start)|README|package|$)/.test(pathname);
},
outputFilter: (pathname) => {
return /^(static|test($|\/index1?\.html|\/start)|README|package|$)/.test(pathname);
},
watchFilter: (pathname) => {
return /^(test|README|package|$)/.test(pathname);
},
esbuild: {
reg_inject: /\.html$/,
},
less: {
entryPoints: [{
in: 'test/app/app.less',
out: 'static/app.css',
}],
},
postcss: {
// 仅支持单个
entryPoints: {
in: './test/main.css',
out: 'static/main.css',
},
plugins: [
require('@tailwindcss/postcss')({
optimize: mode === 'build',
}),
],
},
alias: {
'static/monokai-sublime.css': 'node_modules/highlight.js/styles/monokai-sublime.css',
},
include: {
entryPoints: ['test/app/pages/include.html'],
recursive: true,
},
try_files: 'test/index.html',
auth: mode === 'build' ? false : {
redirect: true,
store: new __1.UserStore('.f2e_cache/auth.db'),
},
middlewares: [
apps_1.app_base,
apps_1.app_system,
apps_1.app_marked,
],
livereload: {
reg_inject: /\.(html|md)$/,
},
});
});
command.parse(process.argv);