From 3b3caafdf9690d487ae313593a10f734a56fff42 Mon Sep 17 00:00:00 2001 From: Marcos Spessatto Defendi Date: Thu, 1 Nov 2018 14:02:21 -0300 Subject: [PATCH] Convert chatpal search package to modular structure (#12485) * First wave of removal of Meteor global * Second wave of removal of Meteor global * Third wave of removal of Meteor global * Fix tests * Remove global variable SHA256 * Remove global variable WebApp * Remove global variable EJSON * Remove global variable Email * Remove global variable HTTP * Remove global variable Random * Remove global variable ReactiveDict * Remove global variable ReactiveVar * Remove global variable Accounts * Remove globals variables Match and check * Remove global variable Mongo * Remove global variable moment * Remove global variable Tracker * Remove global variable Blaze * Remove global variables FlowRouter and BlazeLayout * Add FlowRouter to eslint global in tests file * Remove global variable DDPRateLimiter * Remove global variable Session * Remove global variable UAParser * Remove global variable Promise * Remove global variable Reload * Remove global variable CryptoJS * Remove global variable Template * Remove global variable TAPi18n * Remove global variable TAPi18next * Exposing t function from rocketchat:ui package * Convert chatpal search to main module structure * Fix ESLint --- packages/chatpal-search/client/index.js | 8 +++++ packages/chatpal-search/client/route.js | 1 + .../chatpal-search/client/template/admin.js | 1 + .../chatpal-search/client/template/result.js | 1 + packages/chatpal-search/package.js | 30 ++++--------------- .../chatpal-search/server/asset/config.js | 2 +- packages/chatpal-search/server/index.js | 3 ++ .../chatpal-search/server/provider/index.js | 1 + .../server/provider/provider.js | 1 + .../chatpal-search/server/utils/logger.js | 2 ++ packages/rocketchat-ui/client/lib/tapi18n.js | 2 +- packages/rocketchat-ui/package.js | 1 + 12 files changed, 26 insertions(+), 27 deletions(-) create mode 100644 packages/chatpal-search/client/index.js create mode 100644 packages/chatpal-search/server/index.js diff --git a/packages/chatpal-search/client/index.js b/packages/chatpal-search/client/index.js new file mode 100644 index 000000000000..1b4cd56f4199 --- /dev/null +++ b/packages/chatpal-search/client/index.js @@ -0,0 +1,8 @@ +import './style.css'; +import './template/admin.html'; +import './template/result.html'; +import './template/suggestion.html'; +import './template/admin'; +import './template/result'; +import './template/suggestion'; +import './route'; diff --git a/packages/chatpal-search/client/route.js b/packages/chatpal-search/client/route.js index 202cdb929991..42361a139674 100644 --- a/packages/chatpal-search/client/route.js +++ b/packages/chatpal-search/client/route.js @@ -1,5 +1,6 @@ import { FlowRouter } from 'meteor/kadira:flow-router'; import { BlazeLayout } from 'meteor/kadira:blaze-layout'; +import { t } from 'meteor/rocketchat:ui'; FlowRouter.route('/admin/chatpal', { name: 'chatpal-admin', diff --git a/packages/chatpal-search/client/template/admin.js b/packages/chatpal-search/client/template/admin.js index ded6c6176ee2..d104c08311d3 100644 --- a/packages/chatpal-search/client/template/admin.js +++ b/packages/chatpal-search/client/template/admin.js @@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor'; import { ReactiveVar } from 'meteor/reactive-var'; import { Template } from 'meteor/templating'; import { TAPi18n } from 'meteor/tap:i18n'; +import { RocketChat } from 'meteor/rocketchat:lib'; import toastr from 'toastr'; Template.ChatpalAdmin.onCreated(function() { diff --git a/packages/chatpal-search/client/template/result.js b/packages/chatpal-search/client/template/result.js index 9cee9304f589..6028c81a6e6b 100644 --- a/packages/chatpal-search/client/template/result.js +++ b/packages/chatpal-search/client/template/result.js @@ -3,6 +3,7 @@ import { ReactiveVar } from 'meteor/reactive-var'; import { Session } from 'meteor/session'; import { Template } from 'meteor/templating'; import { TAPi18n } from 'meteor/tap:i18n'; +import { RocketChat } from 'meteor/rocketchat:lib'; Template.ChatpalSearchResultTemplate.onCreated(function() { this.badRequest = new ReactiveVar(false); diff --git a/packages/chatpal-search/package.js b/packages/chatpal-search/package.js index 8dbde5d1dd2d..f55bfeb282d6 100644 --- a/packages/chatpal-search/package.js +++ b/packages/chatpal-search/package.js @@ -9,33 +9,13 @@ Package.onUse(function(api) { api.use([ 'ecmascript', 'templating', - 'rocketchat:lib', - 'rocketchat:logger', - 'rocketchat:search', - 'kadira:flow-router', - 'kadira:blaze-layout', - 'meteorhacks:inject-initial', ]); - api.addFiles('server/asset/chatpal-enter.svg', 'server', { isAsset:true }); - api.addFiles('server/asset/chatpal-logo-icon-darkblue.svg', 'server', { isAsset:true }); - - api.addFiles([ - 'server/provider/provider.js', - 'server/provider/index.js', - 'server/utils/logger.js', - 'server/utils/utils.js', - 'server/asset/config.js', + api.addAssets([ + 'server/asset/chatpal-enter.svg', + 'server/asset/chatpal-logo-icon-darkblue.svg', ], 'server'); - api.addFiles([ - 'client/template/suggestion.html', - 'client/template/suggestion.js', - 'client/template/result.html', - 'client/template/result.js', - 'client/template/admin.html', - 'client/template/admin.js', - 'client/style.css', - 'client/route.js', - ], 'client'); + api.mainModule('client/index.js', 'client'); + api.mainModule('server/index.js', 'server'); }); diff --git a/packages/chatpal-search/server/asset/config.js b/packages/chatpal-search/server/asset/config.js index add37dbca271..266f8d46348e 100644 --- a/packages/chatpal-search/server/asset/config.js +++ b/packages/chatpal-search/server/asset/config.js @@ -1,4 +1,4 @@ -/* globals Inject */ +import { Inject } from 'meteor/meteorhacks:inject-initial'; Inject.rawBody('chatpal-enter', Assets.getText('server/asset/chatpal-enter.svg')); Inject.rawBody('chatpal-logo-icon-darkblue', Assets.getText('server/asset/chatpal-logo-icon-darkblue.svg')); diff --git a/packages/chatpal-search/server/index.js b/packages/chatpal-search/server/index.js new file mode 100644 index 000000000000..2a7f1094d090 --- /dev/null +++ b/packages/chatpal-search/server/index.js @@ -0,0 +1,3 @@ +import './asset/config'; +import './provider/provider'; +import './utils/utils'; diff --git a/packages/chatpal-search/server/provider/index.js b/packages/chatpal-search/server/provider/index.js index 9a393ce05362..fcccc7d96cde 100644 --- a/packages/chatpal-search/server/provider/index.js +++ b/packages/chatpal-search/server/provider/index.js @@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor'; import { HTTP } from 'meteor/http'; import ChatpalLogger from '../utils/logger'; import { Random } from 'meteor/random'; +import { RocketChat } from 'meteor/rocketchat:lib'; /** * Enables HTTP functions on Chatpal Backend diff --git a/packages/chatpal-search/server/provider/provider.js b/packages/chatpal-search/server/provider/provider.js index cf400662a7fc..d6175f48c318 100644 --- a/packages/chatpal-search/server/provider/provider.js +++ b/packages/chatpal-search/server/provider/provider.js @@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor'; import { searchProviderService, SearchProvider } from 'meteor/rocketchat:search'; import Index from './index'; import ChatpalLogger from '../utils/logger'; +import { RocketChat } from 'meteor/rocketchat:lib'; /** * The chatpal search provider enables chatpal search. An appropriate backedn has to be specified by settings. diff --git a/packages/chatpal-search/server/utils/logger.js b/packages/chatpal-search/server/utils/logger.js index 2e5278a11924..cbae16ba41eb 100644 --- a/packages/chatpal-search/server/utils/logger.js +++ b/packages/chatpal-search/server/utils/logger.js @@ -1,2 +1,4 @@ +import { Logger } from 'meteor/rocketchat:logger'; + const ChatpalLogger = new Logger('Chatpal Logger', {}); export default ChatpalLogger; diff --git a/packages/rocketchat-ui/client/lib/tapi18n.js b/packages/rocketchat-ui/client/lib/tapi18n.js index d9d50065ca7b..4ea4f5aaa5bf 100644 --- a/packages/rocketchat-ui/client/lib/tapi18n.js +++ b/packages/rocketchat-ui/client/lib/tapi18n.js @@ -1,7 +1,7 @@ import _ from 'underscore'; import { TAPi18n } from 'meteor/tap:i18n'; -this.t = function(key, ...replaces) { +t = function(key, ...replaces) { if (_.isObject(replaces[0])) { return TAPi18n.__(key, ...replaces); } else { diff --git a/packages/rocketchat-ui/package.js b/packages/rocketchat-ui/package.js index a2cff069c5d7..c1345a87ea93 100644 --- a/packages/rocketchat-ui/package.js +++ b/packages/rocketchat-ui/package.js @@ -145,4 +145,5 @@ Package.onUse(function(api) { api.addFiles('client/components/contextualBar.js', 'client'); api.export('fileUpload'); + api.export('t'); });