mirror of
https://github.com/bpatrik/pigallery2.git
synced 2024-12-25 02:04:15 +02:00
merge package.json
This commit is contained in:
parent
01e9490d4f
commit
2da12edd9f
@ -53,7 +53,8 @@
|
||||
"nodemailer": "6.9.4",
|
||||
"reflect-metadata": "0.1.13",
|
||||
"sharp": "0.31.3",
|
||||
"typeconfig": "2.2.11",
|
||||
"ts-node-iptc": "1.0.11",
|
||||
"typeconfig": "2.2.13",
|
||||
"typeorm": "0.3.12",
|
||||
"xml2js": "0.6.2"
|
||||
},
|
||||
|
@ -3,6 +3,9 @@ import {PrivateConfigClass} from '../../../common/config/private/PrivateConfigCl
|
||||
import {ConfigClassBuilder} from 'typeconfig/node';
|
||||
import {ExtensionConfigTemplateLoader} from './ExtensionConfigTemplateLoader';
|
||||
import {NotificationManager} from '../NotifocationManager';
|
||||
import {ServerConfig} from '../../../common/config/private/PrivateConfig';
|
||||
import {ConfigClassOptions} from 'typeconfig/src/decorators/class/IConfigClass';
|
||||
import * as fs from 'fs';
|
||||
|
||||
|
||||
const LOG_TAG = '[ExtensionConfigWrapper]';
|
||||
@ -16,6 +19,12 @@ export class ExtensionConfigWrapper {
|
||||
const pc = ConfigClassBuilder.attachPrivateInterface(new PrivateConfigClass());
|
||||
ExtensionConfigTemplateLoader.Instance.loadExtensionTemplates(pc);
|
||||
try {
|
||||
// make sure the config file exists by the time we load it.
|
||||
// TODO: remove this once typeconfig is fixed and can properly load defaults in arrays
|
||||
if (!fs.existsSync((pc.__options as ConfigClassOptions<ServerConfig>).configPath)) {
|
||||
await pc.save();
|
||||
}
|
||||
|
||||
await pc.load(); // loading the basic configs, but we do not know the extension config hierarchy yet
|
||||
|
||||
} catch (e) {
|
||||
@ -34,6 +43,11 @@ export class ExtensionConfigWrapper {
|
||||
const pc = ConfigClassBuilder.attachPrivateInterface(new PrivateConfigClass());
|
||||
ExtensionConfigTemplateLoader.Instance.loadExtensionTemplates(pc);
|
||||
try {
|
||||
// make sure the config file exists by the time we load it.
|
||||
// TODO: remove this once typeconfig is fixed and can properly load defaults in arrays
|
||||
if (!fs.existsSync((pc.__options as ConfigClassOptions<ServerConfig>).configPath)) {
|
||||
pc.saveSync();
|
||||
}
|
||||
pc.loadSync(); // loading the basic configs, but we do not know the extension config hierarchy yet
|
||||
|
||||
} catch (e) {
|
||||
|
@ -0,0 +1,26 @@
|
||||
import {expect} from 'chai';
|
||||
import {ExtensionConfigWrapper} from '../../../../../src/backend/model/extension/ExtensionConfigWrapper';
|
||||
import {TAGS} from '../../../../../src/common/config/public/ClientConfig';
|
||||
|
||||
// to help WebStorm to handle the test cases
|
||||
declare let describe: any;
|
||||
declare const after: any;
|
||||
declare const before: any;
|
||||
declare const it: any;
|
||||
|
||||
|
||||
describe('ExtensionConfigWrapper', () => {
|
||||
|
||||
it('should load original config multiple times with the same result', async () => {
|
||||
const get = async () => JSON.parse(JSON.stringify((await ExtensionConfigWrapper.original()).toJSON({
|
||||
attachState: true,
|
||||
attachVolatile: true,
|
||||
skipTags: {secret: true} as TAGS
|
||||
})));
|
||||
const a = await get();
|
||||
const b = await get();
|
||||
expect(b).to.deep.equal(a);
|
||||
const c = await get();
|
||||
expect(c).to.deep.equal(a);
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue
Block a user