This commit is contained in:
syuilo 2017-01-17 08:06:39 +09:00
parent 0900336232
commit b6ef2fcb04
4 changed files with 12 additions and 23 deletions

View file

@ -36,9 +36,9 @@ if (!fs.existsSync('./.config/config.yml')) {
process.exit();
}
(global as any).MISSKEY_CONFIG_PATH = '.config/config.yml';
import { IConfig } from './src/config';
const config = eval(require('typescript').transpile(require('fs').readFileSync('./src/config.ts').toString()))
('.config/config.yml') as IConfig;
const config = eval(require('typescript').transpile(require('fs').readFileSync('./src/config.ts').toString())) as IConfig;
const tsProject = ts.createProject('tsconfig.json');

View file

@ -62,12 +62,10 @@ interface Mixin {
export type IConfig = ISource & Mixin;
/**
*
* @param {string} path
* @return {IConfig}
*/
export default (path: string) => {
export default load();
function load() {
const path = (global as any).MISSKEY_CONFIG_PATH ? (global as any).MISSKEY_CONFIG_PATH : `${__dirname}/../.config/config.yml`;
const config = yaml.safeLoad(fs.readFileSync(path, 'utf8')) as ISource;
const mixin: Mixin = {} as Mixin;
@ -90,14 +88,14 @@ export default (path: string) => {
mixin.dev_url = `${mixin.scheme}://dev.${mixin.host}`;
mixin.drive_url = `${mixin.secondary_scheme}://file.${mixin.secondary_host}`;
return Object.assign(config || {}, mixin) as IConfig;
};
return Object.assign(config, mixin);
}
function normalizeUrl(url: string): string {
function normalizeUrl(url: string) {
return url[url.length - 1] === '/' ? url.substr(0, url.length - 1) : url;
}
function urlError(url: string): void {
function urlError(url: string) {
console.error(`${url}」は、正しいURLではありません。先頭に http:// または https:// をつけ忘れてないかなど確認してください。`);
process.exit();
}

11
src/globals.d.ts vendored
View file

@ -1,11 +0,0 @@
import * as mongodb from 'mongodb';
import { IConfig } from './config';
declare var config: IConfig;
declare module NodeJS {
interface Global {
config: IConfig;
db: mongodb.Db;
}
}

View file

@ -8,6 +8,8 @@ import * as https from 'https';
import * as express from 'express';
import vhost = require('vhost');
import config from './config';
/**
* Init app
*/