UNPKG

1.14 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const fs_1 = require("fs");
4const path_1 = require("path");
5const pubsub_1 = require("./pubsub");
6const nconf = require.main.require('nconf');
7const baseDir = nconf.get('base_dir');
8const noop = () => { };
9// build when a plugin is (de)activated if that plugin is an emoji pack
10const toggle = ({ id }, cb = noop) => {
11 fs_1.readFile(path_1.join(baseDir, 'node_modules', id, 'plugin.json'), 'utf8', (err, file) => {
12 if (err && err.code !== 'ENOENT') {
13 cb(err);
14 return;
15 }
16 if (err || !file) {
17 cb();
18 return;
19 }
20 let plugin;
21 try {
22 plugin = JSON.parse(file);
23 }
24 catch (e) {
25 cb(e);
26 return;
27 }
28 const hasHook = plugin.hooks && plugin.hooks
29 .some((hook) => hook.hook === 'filter:emoji.packs');
30 if (hasHook) {
31 pubsub_1.build(cb);
32 }
33 });
34};
35exports.activation = toggle;
36exports.deactivation = toggle;
37//# sourceMappingURL=plugins.js.map
\No newline at end of file