@maka/maka-cli 5.0.26 → 5.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/obf/package.json +1 -1
- package/bundle/obf/src/command.js +1 -1
- package/bundle/obf/src/commands/_index.js +1 -1
- package/bundle/obf/src/commands/ai.js +1 -1
- package/bundle/obf/src/commands/aws/_index.js +1 -1
- package/bundle/obf/src/commands/aws/aws.command.js +1 -1
- package/bundle/obf/src/commands/aws/cecr.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/chz.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/ci.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/ckp.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/csg.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/decr.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/di.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/dkp.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/dsg.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/lecr.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/rbi.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/rdn.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/rkp.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/sth.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/aws/ti.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/build/_index.js +1 -1
- package/bundle/obf/src/commands/build/build.js +1 -1
- package/bundle/obf/src/commands/build/docker.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/create.js +1 -1
- package/bundle/obf/src/commands/debug.js +1 -1
- package/bundle/obf/src/commands/deploy/_index.js +1 -1
- package/bundle/obf/src/commands/deploy/deploy.command.js +1 -1
- package/bundle/obf/src/commands/deploy/galaxy.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/deploy/ubuntu.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/game/_index.js +1 -1
- package/bundle/obf/src/commands/game/battleship.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/game/play.command.js +1 -1
- package/bundle/obf/src/commands/game/pong.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/command.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/drop.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/equip.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/go.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/lock.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/look.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/say.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/search.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/solve.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/take.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/unequip.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/unlock.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/commands/use.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/factories/commandF.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/factories/roomsF.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/game.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/models/_index.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/models/door.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/models/inventory.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/models/item.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/models/npc.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/models/player.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/models/puzzle.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/models/room.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/models/scene.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/scenes/items.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/scenes/rooms.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/types/abstracts.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/types/enums.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/types/interfaces.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/types/types.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/ui.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest/utilities/logger.js +1 -1
- package/bundle/obf/src/commands/game/sideQuest.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/game/snake.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/game/tetris.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/generate.js +1 -1
- package/bundle/obf/src/commands/get/_index.js +1 -1
- package/bundle/obf/src/commands/get/get.command.js +1 -1
- package/bundle/obf/src/commands/get/global.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/get/local.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/get/whoami.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/help.js +1 -1
- package/bundle/obf/src/commands/install.js +1 -1
- package/bundle/obf/src/commands/jsdoc.js +1 -1
- package/bundle/obf/src/commands/lint.js +1 -1
- package/bundle/obf/src/commands/login.js +1 -1
- package/bundle/obf/src/commands/logout.js +1 -1
- package/bundle/obf/src/commands/logs.js +1 -1
- package/bundle/obf/src/commands/maka.cmd.js +1 -1
- package/bundle/obf/src/commands/murder.js +1 -1
- package/bundle/obf/src/commands/profile.js +1 -1
- package/bundle/obf/src/commands/proxy.js +1 -1
- package/bundle/obf/src/commands/reconfig.js +1 -1
- package/bundle/obf/src/commands/register.js +1 -1
- package/bundle/obf/src/commands/run/_index.js +1 -1
- package/bundle/obf/src/commands/run/docker.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/run/run.command.js +1 -1
- package/bundle/obf/src/commands/set/_index.js +1 -1
- package/bundle/obf/src/commands/set/global.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/set/local.sub.cmd.js +1 -1
- package/bundle/obf/src/commands/set/set.command.js +1 -1
- package/bundle/obf/src/commands/ssh.js +1 -1
- package/bundle/obf/src/commands/ssl.js +1 -1
- package/bundle/obf/src/commands/test.js +1 -1
- package/bundle/obf/src/commands/undo.js +1 -1
- package/bundle/obf/src/commands/version.js +1 -1
- package/bundle/obf/src/error.js +1 -1
- package/bundle/obf/src/exec.js +1 -1
- package/bundle/obf/src/generator.js +1 -1
- package/bundle/obf/src/generators/_index.js +1 -1
- package/bundle/obf/src/generators/api.js +1 -1
- package/bundle/obf/src/generators/aws/_index.js +1 -1
- package/bundle/obf/src/generators/aws/aws.js +1 -1
- package/bundle/obf/src/generators/aws/cloudformation/_index.js +1 -1
- package/bundle/obf/src/generators/aws/cloudformation/cloudformation.js +1 -1
- package/bundle/obf/src/generators/aws/cloudformation/create-ec2-instance.cf.gen.js +1 -1
- package/bundle/obf/src/generators/collection.js +1 -1
- package/bundle/obf/src/generators/component.js +1 -1
- package/bundle/obf/src/generators/config.js +1 -1
- package/bundle/obf/src/generators/dbc.js +1 -1
- package/bundle/obf/src/generators/dockerfile.js +1 -1
- package/bundle/obf/src/generators/hook.js +1 -1
- package/bundle/obf/src/generators/kits/_index.js +1 -1
- package/bundle/obf/src/generators/kits/auth/_index.js +1 -1
- package/bundle/obf/src/generators/kits/auth/auth.generator.js +1 -1
- package/bundle/obf/src/generators/kits/auth/basic-meteor.auth.gen.js +1 -1
- package/bundle/obf/src/generators/kits/auth/provider.auth.gen.js +1 -1
- package/bundle/obf/src/generators/kits/esri/_index.js +1 -1
- package/bundle/obf/src/generators/kits/esri/esri.generator.js +1 -1
- package/bundle/obf/src/generators/kits/esri/map.esri.gen.js +1 -1
- package/bundle/obf/src/generators/kits/kit.js +1 -1
- package/bundle/obf/src/generators/kits/mui/_index.js +1 -1
- package/bundle/obf/src/generators/kits/mui/auth.mui.gen.js +1 -1
- package/bundle/obf/src/generators/kits/mui/frame.mui.gen.js +1 -1
- package/bundle/obf/src/generators/kits/mui/mui.generator.js +1 -1
- package/bundle/obf/src/generators/layout.js +1 -1
- package/bundle/obf/src/generators/maka.gen.js +1 -1
- package/bundle/obf/src/generators/methods.js +1 -1
- package/bundle/obf/src/generators/package.js +1 -1
- package/bundle/obf/src/generators/page.js +1 -1
- package/bundle/obf/src/generators/publish.js +1 -1
- package/bundle/obf/src/generators/route.js +1 -1
- package/bundle/obf/src/generators/service.js +1 -1
- package/bundle/obf/src/generators/services/_index.js +1 -1
- package/bundle/obf/src/generators/services/openssl.js +1 -1
- package/bundle/obf/src/generators/services/translation.js +1 -1
- package/bundle/obf/src/maka.js +1 -1
- package/bundle/obf/src/templates/meteor/api/apollo-gateway.js +48 -0
- package/bundle/obf/src/templates/meteor/api/apollo-gateway.js.ts +53 -0
- package/bundle/obf/src/templates/meteor/api/graphql-api.js +61 -0
- package/bundle/obf/src/templates/meteor/api/graphql-api.js.ts +67 -0
- package/bundle/obf/src/templates/meteor/api/register-api.js +1 -0
- package/bundle/obf/src/templates/meteor/api/typeDefs.js +2 -1
- package/bundle/obf/src/templates/meteor/api/typeDefs.js.ts +2 -1
- package/bundle/obf/src/templates/meteor/app/imports/startup/server/index.js.jsx +0 -53
- package/bundle/obf/src/templates/meteor/app/imports/startup/server/index.js.tsx +0 -53
- package/bundle/obf/src/tool.js +1 -1
- package/bundle/obf/src/tools/actions/actions.class.js +1 -1
- package/bundle/obf/src/tools/aws/aws.class.js +1 -1
- package/bundle/obf/src/tools/aws/aws.interfaces.js +1 -1
- package/bundle/obf/src/tools/cfg/cfg.class.js +1 -1
- package/bundle/obf/src/tools/docker/docker.class.js +1 -1
- package/bundle/obf/src/tools/docker/docker.interfaces.js +1 -1
- package/bundle/obf/src/tools/fsi/fsi.class.js +1 -1
- package/bundle/obf/src/tools/fsi/fsi.interfaces.js +1 -1
- package/bundle/obf/src/tools/https/https.class.js +1 -1
- package/bundle/obf/src/tools/https/https.interface.js +1 -1
- package/bundle/obf/src/tools/log/log.class.js +1 -1
- package/bundle/obf/src/tools/log/log.interfaces.js +1 -1
- package/bundle/obf/src/tools/mpi/mpi.class.js +1 -1
- package/bundle/obf/src/tools/options/options.class.js +1 -1
- package/bundle/obf/src/tools/pkg/pkg.class.js +1 -1
- package/bundle/obf/src/tools/progress/progress.class.js +1 -1
- package/bundle/obf/src/tools/scaffold/scaffold.class.js +1 -1
- package/bundle/obf/src/tools/spawn-async/spawn-async.class.js +1 -1
- package/bundle/obf/src/tools/spawn-async/spawn-async.interfaces.js +1 -1
- package/bundle/obf/src/tools/ssh/ssh.class.js +1 -1
- package/bundle/obf/src/tools/ssh/ssh.interfaces.js +1 -1
- package/bundle/obf/src/tools/ssl/ssl.class.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a134u=a134d;(function(a,b){const r=a134d,c=a();while(!![]){try{const d=-parseInt(r(0x1b8))/0x1*(-parseInt(r(0x1a3))/0x2)+-parseInt(r(0x1d9))/0x3+-parseInt(r(0x1ef))/0x4+-parseInt(r(0x1ac))/0x5*(-parseInt(r(0x1e0))/0x6)+parseInt(r(0x1aa))/0x7+parseInt(r(0x1d5))/0x8+-parseInt(r(0x1c4))/0x9*(parseInt(r(0x1a5))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a134c,0xa6548));function a134d(a,b){const c=a134c();return a134d=function(d,e){d=d-0x19c;let f=c[d];return f;},a134d(a,b);}const a134b=(function(){let a=!![];return function(b,c){const d=a?function(){const s=a134d;if(c){const e=c[s(0x1cc)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a134a=a134b(this,function(){const t=a134d;return a134a['toString']()[t(0x1b7)]('(((.+)+)+)+$')['toString']()[t(0x1a4)](a134a)[t(0x1b7)](t(0x19e));});a134a();import a134e from'path';import{Generator}from'../generator.js';import{Log}from'../tools/log/log.class.js';import{UsageError}from'../error.js';import{camelCase,kebabCase,pascalCase}from'change-case';const aliases=['p'];function a134c(){const w=['string','indexOf','/imports/ui/pages','assign','6hBoSlN','Updating\x20npm\x20packages\x20...','Please\x20specify\x20a\x20name\x20for\x20the\x20route.','injectAtBeginningOfFile','routes.','engines','component','.app-tests.js','ramda','installNpmPackage','toLowerCase','\x27;\x0a','<Route\x20index','test/test.js','withHooks','1357316kZEwsB','startup','endsWith','pkg','(((.+)+)+)+$','pathFromApp','hasOwnProperty','react','Generate\x20a\x20page.','9766ehPzMr','constructor','60Tafmde','private','fsi','cfg','graphql','3877468NIAyVZ','replaceAll','246355GEoUSf','setTemplate','ssr','vanilla','includes','root','hook/hook.js','css','maka\x20g:page\x20todos/todos-item','theme','imports','search','86zsGAaQ','scaffold','fileName','slice','join','html','page','/>}/>\x0a','replace','.css','warn','projectConfig','102969lsJKcn','meteor','className','client','resourceName','injectTemplateModule','</Route>','template/template.css','apply','url','.js','.html','template','layout','dir','<Route\x20element={<PrivateRoute\x20/>}>','test','10535936XQGCRu','<Route\x20path=\x22','<Route\x20path=\x22*\x22','trim','3752586vJIkZo','import\x20\x27./','injectIntoFile'];a134c=function(){return w;};return a134c();}Generator['create']({'name':a134u(0x1be),'aliases':aliases,'usage':'maka\x20{generate,\x20g}:{page,\x20p}\x20[path/]<name>','shortDesc':a134u(0x1a2),'mustBeInMakaProject':!![],'validOpts':[{'name':a134u(0x1a6),'boolFlag':!![]},{'name':'url'}],'examples':[a134u(0x1b4)]},async function(a,b){const v=a134u,c=v(0x1de),d=this[v(0x1a7)]['findAppDirectory'](),e=b[v(0x1c8)][v(0x1b0)](':')?b[v(0x1c8)]['split'](':')[0x0][v(0x1d8)]():b[v(0x1c8)][v(0x1d8)](),f=b[v(0x1d2)]['replaceAll']('/','_')+'_'+e[v(0x1ab)]('/','_'),g=this[v(0x1b9)][v(0x19f)]({'pathParts':[c,b[v(0x1d2)],kebabCase(f),kebabCase(f)]}),h=this[v(0x1c3)];let i='';typeof h[v(0x1d0)][v(0x1bd)]==='string'&&this[v(0x1a8)]['setTemplate']('html',h[v(0x1d0)][v(0x1bd)]);typeof h[v(0x1d0)][v(0x1d4)]===v(0x1dc)&&this['cfg'][v(0x1ad)](v(0x1d4),h['template'][v(0x1d4)]);typeof h[v(0x1d0)][v(0x1b3)]===v(0x1dc)&&this[v(0x1a8)]['setTemplate'](v(0x1b3),h[v(0x1d0)][v(0x1b3)]);typeof h['template']['js']===v(0x1dc)&&this[v(0x1a8)][v(0x1ad)]('js',h[v(0x1d0)]['js']);!b[v(0x1b1)]&&!this[v(0x19d)]['checkNpmPackage']('ramda')&&(Log[v(0x1c2)](v(0x1e1)),this[v(0x19d)][v(0x1e9)](v(0x1e8),{'cwd':d}));const j={'name':pascalCase(f),'myPath':a134e['relative'](this['fsi']['findProjectDirectory'](),g),'cssCaseName':kebabCase(f),'className':pascalCase(f),'camelCaseName':camelCase(f),'fileName':kebabCase(f),'graphql':h['engines'][v(0x1a9)],'features':h['features'],'client':h[v(0x1e5)][v(0x1c7)],'api':h[v(0x1e5)]['api'],'ssr':h[v(0x1e5)][v(0x1ae)],'isStore':b['hasOwnProperty']('store'),'isComponent':b[v(0x1a0)](v(0x1e6)),'isLayout':b['hasOwnProperty'](v(0x1d1)),'withTranslations':h['features']['withTranslations'],'test':h[v(0x1e5)]['test'],'theme':h[v(0x1e5)][v(0x1b5)]};h[v(0x1d0)][v(0x1bd)]&&await this[v(0x1b9)]['template']({'srcPath':'template/template.html','destPath':g+v(0x1cf),'context':j,'config':h});h['features']?.[v(0x1ee)]?await this[v(0x1b9)]['template']({'srcPath':v(0x1b2),'destPath':g+'.js','framework':v(0x1a1),'context':j,'config':h}):await this[v(0x1b9)][v(0x1d0)]({'srcPath':'component/component.js','destPath':g+v(0x1ce),'framework':'react','context':j,'config':h});h['engines'][v(0x1d4)]!=='none'&&await this['scaffold']['template']({'srcPath':v(0x1ed),'destPath':g+v(0x1e7),'framework':v(0x1a1),'context':j,'config':h});h[v(0x1d0)][v(0x1b3)]&&await this['scaffold'][v(0x1d0)]({'srcPath':v(0x1cb),'destPath':g+v(0x1c1),'context':Object[v(0x1df)]({},j,{'className':kebabCase(b['resourceName'])}),'config':h});h[v(0x1e5)][v(0x1c7)]!==v(0x1a1)&&h[v(0x1e5)]['client']!==v(0x1af)?(h[v(0x1d0)][v(0x1b3)]&&await this[v(0x1b9)][v(0x1e3)]({'filePath':g+'.'+h['engines']['js'],'content':'import\x20\x27./'+j[v(0x1ba)]+'.'+h['engines'][v(0x1bd)]+v(0x1eb)+v(0x1da)+j[v(0x1ba)]+'.'+h[v(0x1e5)]['css']+'\x27;'}),!h[v(0x1d0)][v(0x1b3)]&&await this[v(0x1b9)][v(0x1e3)]({'filePath':g+'.'+h[v(0x1e5)]['js'],'content':v(0x1da)+j[v(0x1ba)]+'.'+h[v(0x1e5)][v(0x1bd)]+'\x27;'})):h[v(0x1d0)][v(0x1b3)]&&await this[v(0x1b9)][v(0x1e3)]({'filePath':g+'.'+h['engines']['js'],'content':v(0x1da)+j[v(0x1ba)]+'.'+h[v(0x1e5)][v(0x1b3)]+'\x27;'});const k=b[v(0x1d2)]?'/'+b['dir']+'/':'/';i=''+c+k+j[v(0x1ba)]+'/'+j[v(0x1ba)],await this[v(0x1b9)][v(0x1c9)](j[v(0x1c6)],h,i);if(!b[v(0x1b1)]){const l=b[v(0x1a6)]??![];if(!f){Log['error'](v(0x1e2));throw new UsageError();}let m=b['url']?b[v(0x1cd)]:'/'+b[v(0x1d2)][v(0x1d8)]()+'/'+b[v(0x1c8)]['trim']()[v(0x1c0)](/\\/g,'/')[v(0x1c0)](/\/+$/,'')[v(0x1ea)]();const n=b[v(0x1c8)][v(0x1dd)](':');n!==-0x1&&(m+='/'+b['resourceName']['substring'](0x0,n)[v(0x1d8)]());m[v(0x19c)]('/')&&(m=m[v(0x1bb)](0x0,-0x1));m=m['replace'](/\/\//g,'/');const o=h['engines']['js'],p=h[v(0x1e5)][v(0x1ae)]===v(0x1c5)?'lib':v(0x1c7),q=a134e[v(0x1bc)](d,v(0x1b6),v(0x1f0),p,v(0x1e4)+o);l?await this['scaffold']['injectIntoFile']({'filePath':q,'content':v(0x1d6)+m+'\x22\x20element={<Component.'+pascalCase(f)+v(0x1bf),'begin':[v(0x1d3)],'end':[v(0x1ca)]}):await this['scaffold'][v(0x1db)]({'filePath':q,'content':v(0x1d6)+m+'\x22\x20element={<Component.'+pascalCase(f)+v(0x1bf),'begin':[v(0x1ec)],'end':[v(0x1d7)]});}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a135r=a135d;function a135c(){const t=['publish','797899jOlYaY','637472NOrWzQ','506077aDVMyT','resourceName','error','108KeIYwT','maka\x20{generate,\x20g}:{publish,\x20p}\x20<name>','apply','template','23195EOJTWz','search','imports','tsx','engines','exit','316OiAmvO','import\x20\x27./publications','globalPublish','5868CeHSab','maka\x20g:publish\x20todos','pathFromApp','23637LzhPLs','force','2540vkhRbf','42OafyZE','toString','(((.+)+)+)+$','Scaffolding\x20for\x20a\x20publish\x20function.\x0ahttps://docs.meteor.com/api/pubsub.html','constructor','5292114lzCzAY','dir','appPathPrefix','server'];a135c=function(){return t;};return a135c();}(function(a,b){const o=a135d,c=a();while(!![]){try{const d=parseInt(o(0x1af))/0x1+parseInt(o(0x1b4))/0x2*(parseInt(o(0x1a2))/0x3)+parseInt(o(0x19c))/0x4*(parseInt(o(0x196))/0x5)+-parseInt(o(0x1aa))/0x6+parseInt(o(0x1a5))/0x7*(-parseInt(o(0x1b0))/0x8)+parseInt(o(0x19f))/0x9*(parseInt(o(0x1a4))/0xa)+parseInt(o(0x1b1))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a135c,0x6bbfa));function a135d(a,b){const c=a135c();return a135d=function(d,e){d=d-0x196;let f=c[d];return f;},a135d(a,b);}const a135b=(function(){let a=!![];return function(b,c){const d=a?function(){const p=a135d;if(c){const e=c[p(0x1b6)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a135a=a135b(this,function(){const q=a135d;return a135a[q(0x1a6)]()[q(0x197)](q(0x1a7))[q(0x1a6)]()[q(0x1a9)](a135a)[q(0x197)](q(0x1a7));});a135a();import{kebabCase,pascalCase}from'change-case';import{Generator}from'../generator.js';import{Log}from'../tools/log/log.class.js';Generator['create']({'name':a135r(0x1ae),'aliases':['p'],'usage':a135r(0x1b5),'shortDesc':a135r(0x1a8),'validOpts':['force'],'requiredOpts':[a135r(0x19e)],'mustBeInMakaProject':!![],'examples':[a135r(0x1a0)]},async function(a,b){const s=a135r;try{const {projectConfig:c,scaffold:d}=this,f=b[s(0x1a3)]||![],g='/imports/startup/server/publications',h=kebabCase(b[s(0x1b2)]),i=d[s(0x1a1)]({'pathParts':[g,b[s(0x1ab)],'',h]});let j='js';c[s(0x19a)]['js']===s(0x199)&&(j='ts');const k={'name':b[s(0x1b2)],'collection':pascalCase(b['resourceName']),'noRename':!![],'globalPublish':b[s(0x19e)]};await d[s(0x1b7)]({'srcPath':'publish/publish.js','destPath':i+'.'+j,'context':k,'config':c,'force':f});const l=d[s(0x1a1)]({'pathParts':[s(0x198),'startup',s(0x1ad),b[s(0x1ac)],'index.'+c[s(0x19a)]['js']]}),m=b['dir']?'/'+b['dir']+'/':'/';await d['injectAtEndOfFile']({'filePath':l,'content':s(0x19d)+m+h+'\x27;'});}catch(n){Log[s(0x1b3)](n),process[s(0x19b)](0x1);}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a136q=a136d;function a136d(a,b){const c=a136c();return a136d=function(d,e){d=d-0xb0;let f=c[d];return f;},a136d(a,b);}(function(a,b){const o=a136d,c=a();while(!![]){try{const d=parseInt(o(0xd2))/0x1+parseInt(o(0xc4))/0x2*(parseInt(o(0xc1))/0x3)+parseInt(o(0xce))/0x4+parseInt(o(0xd4))/0x5*(-parseInt(o(0xbf))/0x6)+-parseInt(o(0xb3))/0x7*(-parseInt(o(0xc9))/0x8)+-parseInt(o(0xcf))/0x9+-parseInt(o(0xd5))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a136c,0x4c6b4));function a136c(){const s=['constructor','lib','client','924315MXiLSs','<Route\x20path=\x22','(((.+)+)+)+$','injectIntoFile','startup','/>}/>\x0a','private','length','maka\x20{generate,\x20g}:{route,\x20r}','Scaffolding\x20for\x20a\x20Route.','route','create','66nFkvwA','toString','3uSkWwm','imports','error','895886sbFpea','engines','ssr','\x22\x20element={<Component.','search','32grQRzD','<Route\x20index','<Route\x20element={<PrivateRoute\x20/>}>','replace','resourceName','580688HEyiCP','162477JIYEYm','toLowerCase','routes.','65519VYbMQy','join','24595MooGAr','8016400lzHLLv'];a136c=function(){return s;};return a136c();}const a136b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a136a=a136b(this,function(){const p=a136d;return a136a[p(0xc0)]()[p(0xc8)](p(0xb5))[p(0xc0)]()[p(0xb0)](a136a)[p(0xc8)](p(0xb5));});a136a();import a136e from'path';import{Generator}from'../generator.js';import{Log}from'../tools/log/log.class.js';import{UsageError}from'../error.js';import{pascalCase}from'change-case';const aliases=['r'];Generator[a136q(0xbe)]({'name':a136q(0xbd),'mustBeInMakaProject':!![],'aliases':aliases,'validOpts':[{'name':a136q(0xb9),'boolFlag':!![]},{'name':a136q(0xbd)}],'usage':a136q(0xbb),'shortDesc':a136q(0xbc),'examples':[]},async function(a,b){const r=a136q,{fsi:c,scaffold:d,projectConfig:f}=this;try{const g=c['findAppDirectory'](),h=b[r(0xb9)]??![];let i=b[r(0xcd)]['split']('/')['pop']();if(!i){Log['error']('Please\x20specify\x20a\x20name\x20for\x20the\x20route.');throw new UsageError();}i=pascalCase(i);let j=b['route']?'/'+b['route']:'/'+b[r(0xcd)][r(0xcc)](/\\/g,'/')[r(0xd0)]();a[r(0xba)]>0x1&&(j='/'+a['filter'](function(n){return n!=='/';})[r(0xd3)]('/')['toLowerCase']());j=j[r(0xcc)](/\/\//g,'/');const k=f['engines']['js'],l=f[r(0xc5)][r(0xc6)]!=='none'?r(0xb1):r(0xb2),m=a136e[r(0xd3)](g,r(0xc2),r(0xb7),l,r(0xd1)+k);h?await d['injectIntoFile']({'filePath':m,'content':r(0xb4)+j+r(0xc7)+i+r(0xb8),'begin':[r(0xcb)],'end':['</Route>']}):await d[r(0xb6)]({'filePath':m,'content':r(0xb4)+j+'\x22\x20element={<Component.'+i+r(0xb8),'begin':[r(0xca)],'end':['<Route\x20path=\x22*\x22']});}catch(n){Log[r(0xc3)](n),process['exit'](0x1);}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a137r=a137d;(function(a,b){const o=a137d,c=a();while(!![]){try{const d
|
|
1
|
+
const a137r=a137d;function a137c(){const t=['4997279tDfITz','installNpmPackage','12FyAJmW','error','service','create','lib','2055485uUBhBT','resourceName','maka\x20g:svc\x20service-logger\x20--type=logger','template','maka\x20{generate,\x20g}:{service}\x20<resource-name>','checkNpmPackage','301634hGhPQe','findAppDirectory','1096WHoYcU','tsx','882548xwEcOl','6881630laDcbL','3ZaNmpC','engines','48765jJGzQO','search','svc','(((.+)+)+)+$','winston','service/logger/logger.js','logger','constructor','apply','1305PkKyoR','type'];a137c=function(){return t;};return a137c();}(function(a,b){const o=a137d,c=a();while(!![]){try{const d=parseInt(o(0x156))/0x1+-parseInt(o(0x16e))/0x2*(parseInt(o(0x174))/0x3)+-parseInt(o(0x172))/0x4+-parseInt(o(0x168))/0x5*(-parseInt(o(0x163))/0x6)+-parseInt(o(0x161))/0x7+-parseInt(o(0x170))/0x8*(parseInt(o(0x15f))/0x9)+parseInt(o(0x173))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a137c,0x6ed12));const a137b=(function(){let a=!![];return function(b,c){const d=a?function(){const p=a137d;if(c){const e=c[p(0x15e)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a137a=a137b(this,function(){const q=a137d;return a137a['toString']()[q(0x157)](q(0x159))['toString']()[q(0x15d)](a137a)[q(0x157)](q(0x159));});a137a();import{camelCase,kebabCase,pascalCase}from'change-case';function a137d(a,b){const c=a137c();return a137d=function(d,e){d=d-0x155;let f=c[d];return f;},a137d(a,b);}import{Generator}from'../generator.js';import{Log}from'../tools/log/log.class.js';Generator[a137r(0x166)]({'name':a137r(0x165),'aliases':[a137r(0x158)],'usage':a137r(0x16c),'shortDesc':'Generate\x20a\x20service\x20to\x20run\x20within\x20your\x20meteor\x20application.','mustBeInMakaProject':!![],'requiredOpts':[{'name':'type','values':[a137r(0x15c)]}],'validOpts':[],'maxArgLength':0x1,'examples':[a137r(0x16a)]},async function(a,b){const s=a137r,{cfg:c,fsi:d,pkg:f,scaffold:g}=this;try{const h=this['projectConfig'],i=d[s(0x16f)](),j=kebabCase(b['resourceName']),k={'name':pascalCase(b['resourceName']),'fileName':j,'camelCase':camelCase(b[s(0x169)]),'type':b['type'],'engine':h[s(0x155)]['js'],'noRename':!![]};let l='js';h[s(0x155)]['js']===s(0x171)&&(l='ts');if(b[s(0x160)]==='logger'){!f[s(0x16d)](s(0x15a))&&await f[s(0x162)]('winston\x20setimmediate',{'cwd':i,'msg':'Installing\x20winston'});const m=g['pathFromApp']({'pathParts':['imports','startup',s(0x167),'services',j+'.'+l]});await g[s(0x16b)]({'srcPath':s(0x15b),'destPath':m,'context':k,'config':h});}}catch(n){Log[s(0x164)](n);}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a138c(){var i=['14841bRqCsj','395MrZkEh','2900ctMayn','8190136RpaoMQ','5484ZbrjZM','498zhJfvu','626778IYwNhR','5160351EyjHGs','search','187755AwctRe','constructor','1953SuBbeU','apply','(((.+)+)+)+$'];a138c=function(){return i;};return a138c();}(function(a,b){var f=a138d,c=a();while(!![]){try{var d=-parseInt(f(0x8e))/0x1+parseInt(f(0x8b))/0x2+-parseInt(f(0x82))/0x3*(parseInt(f(0x89))/0x4)+-parseInt(f(0x86))/0x5*(-parseInt(f(0x8a))/0x6)+parseInt(f(0x8c))/0x7+parseInt(f(0x88))/0x8+parseInt(f(0x85))/0x9*(-parseInt(f(0x87))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a138c,0x7f8b4));var a138b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a138d;if(c){var e=c[g(0x83)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a138a=a138b(this,function(){var h=a138d;return a138a['toString']()[h(0x8d)](h(0x84))['toString']()[h(0x81)](a138a)[h(0x8d)](h(0x84));});a138a();import'./translation.js';function a138d(a,b){var c=a138c();return a138d=function(d,e){d=d-0x81;var f=c[d];return f;},a138d(a,b);}import'./openssl.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a139l=a139d;(function(a,b){const i=a139d,c=a();while(!![]){try{const d=-parseInt(i(0x126))/0x1+-parseInt(i(0x12b))/0x2+-parseInt(i(0x12e))/0x3*(parseInt(i(0x139))/0x4)+-parseInt(i(0x123))/0x5+-parseInt(i(0x134))/0x6*(-parseInt(i(0x120))/0x7)+-parseInt(i(0x12a))/0x8+-parseInt(i(0x12c))/0x9*(-parseInt(i(0x130))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a139c,0xb84a5));const a139b=(function(){let a=!![];return function(b,c){const d=a?function(){const j=a139d;if(c){const e=c[j(0x11e)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a139a=a139b(this,function(){const k=a139d;return a139a[k(0x136)]()['search'](k(0x131))[k(0x136)]()[k(0x11d)](a139a)[k(0x135)](k(0x131));});function a139d(a,b){const c=a139c();return a139d=function(d,e){d=d-0x11d;let f=c[d];return f;},a139d(a,b);}function a139c(){const n=['appName','openssl.conf','1272BlhomD','search','toString','template','maka\x20g:sslconfig\x20--env\x20dev','1495436qiPbfn','constructor','apply','maka\x20{generate,\x20g}:sslconfig','10675Oilrbm','create','openssl/openssl.conf','5680295XjNVZO','join','cfg','905798BoTFdK','Generate\x20a\x20new\x20openssl\x20config\x20file','error','scaffold','4925520qKgrth','1266486cfDxVD','1675719QywKpk','getMakaProjectConfig','3Rrcjdj','env','220OeQPLv','(((.+)+)+)+$'];a139c=function(){return n;};return a139c();}a139a();import{Generator}from'../../generator.js';import{Log}from'../../tools/log/log.class.js';import a139e from'path';Generator[a139l(0x121)]({'name':'sslconfig','usage':a139l(0x11f),'shortDesc':a139l(0x127),'resourceNameRequired':![],'requiredOpts':[a139l(0x12f)],'examples':[a139l(0x138)],'validOpts':[]},async function(a,b){const m=a139l;try{const c=this[m(0x125)][m(0x12d)](),d=this[m(0x125)]['getAppConfigPath'](b['env']),f=a139e[m(0x124)](d,'_keys',m(0x133)),g={'app':c[m(0x132)],'noRename':!![]};await this[m(0x129)][m(0x137)]({'srcPath':m(0x122),'destPath':f,'framework':'service','context':g,'config':c});}catch(h){Log[m(0x128)](h);}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a140C=a140d;(function(a,b){const A=a140d,c=a();while(!![]){try{const d=parseInt(A(0x1ee))/0x1*(parseInt(A(0x1fb))/0x2)+-parseInt(A(0x219))/0x3+parseInt(A(0x20f))/0x4+-parseInt(A(0x1eb))/0x5*(parseInt(A(0x215))/0x6)+parseInt(A(0x203))/0x7+-parseInt(A(0x1ea))/0x8+parseInt(A(0x211))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a140c,0xb54ee));const a140b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a140a=a140b(this,function(){const B=a140d;return a140a[B(0x1f5)]()[B(0x1e7)](B(0x20d))[B(0x1f5)]()['constructor'](a140a)[B(0x1e7)](B(0x20d));});function a140c(){const E=['service','ssr','index.js','index.','error','734LFZMPG','lang','grep','i18n/index.js','meteor','services','maka\x20g:translation\x20--lang=fr','features.withTranslations','3802526qsfNTG','pathFromApp','server','i18n.js','Locale\x20already\x20defined:\x20','\x20}\x20from\x20\x27./','injectAtEndOfFile','imports','\x0a\x20\x20Generate\x20a\x20new\x20locale\x20translation\x20file.\x0a\x0a\x20\x20\x20\x20--lang\x20\x20The\x20language\x20code\x20for\x20the\x20new\x20locale\x20file.\x20(i.e.\x20en,\x20fr,\x20de)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20and\x20must\x20be\x20the\x20two\x20character\x20language\x20code.\x0a\x20\x20','installNpmPackage','(((.+)+)+)+$','exit','5544564WDUYKa','root','7321644nZeVkY','warn','checkNpmPackage','template','8164272XDEnhw','lib','appName','i18next\x20i18next-browser-languagedetector\x20react-i18next','3709104YsWCBC','Verifying\x20npm\x20package\x20requirements:\x20i18next\x20...','locales','default\x20as\x20','startup','translations','search','import\x20\x27../lib/services/translations/i18n\x27;\x0a','maka\x20{generate,\x20g}:translation','2406712NDbJjq','5iLbJoe','isFile','i18n/i18n.js','2446GenUDj','injectAtBeginningOfFile','readFileSync','create','client','rewriteDestinationPathForEngine','engines','toString'];a140c=function(){return E;};return a140c();}function a140d(a,b){const c=a140c();return a140d=function(d,e){d=d-0x1e7;let f=c[d];return f;},a140d(a,b);}a140a();import{Generator}from'../../generator.js';import{Log}from'../../tools/log/log.class.js';import a140e from'fs';Generator[a140C(0x1f1)]({'name':'translation','usage':a140C(0x1e9),'aliases':['t'],'resourceNameRequired':![],'requiredOpts':[{'name':a140C(0x1fc),'boolFlag':![],'regex':/^[a-z]{2}$/}],'mustBeInMakaProject':!![],'shortDesc':'Generate\x20a\x20new\x20locale\x20translation','description':a140C(0x20b),'examples':['maka\x20g:translation\x20--lang=en\x20(default)',a140C(0x201),'maka\x20g:translation\x20--lang=de'],'validOpts':[]},async function(a,b){const D=a140C;try{const {fsi:c,scaffold:d,pkg:f,cfg:g,projectConfig:h}=this,i=c['findAppDirectory']();!b[D(0x1fc)]&&(b['lang']='en');!b[D(0x210)]&&!f[D(0x213)]('i18next')&&(Log['warn'](D(0x21a)),f[D(0x20c)](D(0x218),{'cwd':i}),g['setProjectConfig'](D(0x202),!![]));const j=d[D(0x204)]({'pathParts':['imports',D(0x21d),D(0x1f2),D(0x1f8)]}),k=d[D(0x1f3)]({'pathParts':[j],'config':h}),l=c['grep'](a140e['readFileSync'](k)[D(0x1f5)](),'import\x20\x27../lib/services/translations/i18n\x27;')[0x0]&&!![];if(h[D(0x1f4)][D(0x1f7)]===D(0x1ff)){!l&&d[D(0x1ef)]({'filePath':k,'content':D(0x1e8)});const w=d[D(0x204)]({'pathParts':[D(0x20a),D(0x21d),D(0x205),'index.js']}),x=d['rewriteDestinationPathForEngine']({'pathParts':[w],'config':h}),y=c[D(0x1fd)](a140e[D(0x1f0)](x)['toString'](),'import\x20\x27../lib/services/translations/i18n\x27;')[0x0]&&!![];!y&&d[D(0x1ef)]({'filePath':x,'content':D(0x1e8)});}else!l&&d[D(0x1ef)]({'filePath':k,'content':D(0x1e8)});const m={'app':h[D(0x217)],'config':h},n=d['pathFromApp']({'pathParts':[D(0x20a),'startup',D(0x216),'services',D(0x21e),D(0x206)]}),o=c['isFile'](d[D(0x1f3)]({'pathParts':[n],'config':h}));!o&&await d['template']({'srcPath':D(0x1ed),'destPath':n,'framework':'service','context':m,'config':h});const p=d[D(0x204)]({'pathParts':['imports','startup',D(0x216),D(0x200),D(0x21e),D(0x21b),b['lang']+'.js']}),q=d[D(0x1f3)]({'pathParts':[p],'config':h}),r=c[D(0x1ec)](q);!r?await this['scaffold'][D(0x214)]({'srcPath':'i18n/locales.js','destPath':p,'framework':D(0x1f6),'context':m,'config':h}):Log[D(0x212)](D(0x207)+q);const s=d[D(0x204)]({'pathParts':['imports',D(0x21d),D(0x216),'services',D(0x21e),'locales',D(0x1f9)+h[D(0x1f4)]['js']]}),t=d[D(0x1f3)]({'pathParts':[s],'config':h}),u=c[D(0x1ec)](t);!u&&await d['template']({'srcPath':D(0x1fe),'destPath':s,'framework':D(0x1f6),'context':m,'config':h});const v=c[D(0x1fd)](a140e[D(0x1f0)](s)['toString'](),D(0x21c)+b['lang'])[0x0]&&!![];!v?await d[D(0x209)]({'filePath':s,'content':'export\x20{\x20default\x20as\x20'+b['lang']+D(0x208)+b[D(0x1fc)]+'\x27;'}):Log['warn']('Locale\x20already\x20exported:\x20'+s);}catch(z){Log[D(0x1fa)](z),process[D(0x20e)](0x1);}});
|
package/bundle/obf/src/maka.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a141m=a141d;
|
|
1
|
+
const a141m=a141d;(function(a,b){const j=a141d,c=a();while(!![]){try{const d=-parseInt(j(0x93))/0x1*(-parseInt(j(0x92))/0x2)+parseInt(j(0x8f))/0x3+parseInt(j(0x9b))/0x4*(-parseInt(j(0x97))/0x5)+parseInt(j(0x9c))/0x6*(parseInt(j(0x94))/0x7)+parseInt(j(0x99))/0x8+parseInt(j(0x8a))/0x9*(-parseInt(j(0x8b))/0xa)+parseInt(j(0x8e))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a141c,0xaecfe));function a141d(a,b){const c=a141c();return a141d=function(d,e){d=d-0x89;let f=c[d];return f;},a141d(a,b);}const a141b=(function(){let a=!![];return function(b,c){const d=a?function(){const k=a141d;if(c){const e=c[k(0x91)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a141a=a141b(this,function(){const l=a141d;return a141a[l(0x9e)]()[l(0xa2)](l(0x95))[l(0x9e)]()['constructor'](a141a)[l(0xa2)](l(0x95));});a141a();import a141e from'minimist';import a141f from'os';import a141g from'path';import a141h from'humps';import a141i from'./commands/maka.cmd.js';import'./commands/_index.js';import'./generators/_index.js';import{fileURLToPath}from'url';const __filename=fileURLToPath(import.meta['url']),__dirname=a141g[a141m(0x89)](__filename);global['MAKA_COMMAND_PATH']=__dirname;const total_memory=a141f[a141m(0x8d)](),total_mem_in_kb=total_memory/0x400;let total_mem_in_mb=total_mem_in_kb/0x400;total_mem_in_mb=Math[a141m(0x98)](total_mem_in_mb),process[a141m(0xa0)][a141m(0x9a)]=a141m(0x9d)+total_mem_in_mb,process[a141m(0xa0)][a141m(0x90)]='1',process[a141m(0xa0)][a141m(0x9f)]='1';function a141c(){const n=['parse','search','camelizeKeys','dirname','36iOyIKQ','1291780NWnukQ','run','totalmem','509300cqKhfC','2458572vbVoIN','BROWSERSLIST_IGNORE_OLD_DATA','apply','257278FATPFM','5hzwVFh','5271MwGROv','(((.+)+)+)+$','argv','1867205yHdRun','floor','2553640GAUKCz','TOOL_NODE_FLAGS','12yvFFyZ','4182WrCXOb','--max-old-space-size=','toString','NODE_NO_WARNINGS','env'];a141c=function(){return n;};return a141c();}const argv=a141e(process[a141m(0x96)]['slice'](0x2)),args=argv['_'],deepCopyArgv=JSON[a141m(0xa1)](JSON['stringify'](argv));delete deepCopyArgv['_'];const opts=a141h[a141m(0xa3)](deepCopyArgv);a141i[a141m(0x8c)](args,opts);
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ApolloServer } from '@apollo/server';
|
|
2
|
+
import { ApolloGateway, IntrospectAndCompose } from '@apollo/gateway';
|
|
3
|
+
import { WebApp } from 'meteor/webapp';
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { expressMiddleware } from '@apollo/server/express4';
|
|
6
|
+
import { Meteor } from 'meteor/meteor';
|
|
7
|
+
|
|
8
|
+
// Use `IntrospectAndCompose` to introspect the 'rules' subgraph
|
|
9
|
+
const gateway = new ApolloGateway({
|
|
10
|
+
supergraphSdl: new IntrospectAndCompose({
|
|
11
|
+
subgraphs: [
|
|
12
|
+
],
|
|
13
|
+
}),
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const server = new ApolloServer({
|
|
17
|
+
gateway, // Attach the Apollo Gateway
|
|
18
|
+
cacheControl: {
|
|
19
|
+
defaultMaxAge: 5, // Cache control settings
|
|
20
|
+
},
|
|
21
|
+
cache: 'bounded',
|
|
22
|
+
formatError: (err) => {
|
|
23
|
+
if (Meteor.isProduction) {
|
|
24
|
+
return { message: err.extensions?.code || 'Internal Server Error' };
|
|
25
|
+
}
|
|
26
|
+
console.error(err);
|
|
27
|
+
return err;
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const startApolloGateway = async (server) => {
|
|
32
|
+
await server.start();
|
|
33
|
+
|
|
34
|
+
// Use Meteor's WebApp to handle the Apollo middleware
|
|
35
|
+
WebApp.connectHandlers.use(
|
|
36
|
+
'/graphql', // The endpoint for the federated GraphQL API
|
|
37
|
+
express.json({ limit: '5mb' }), // Handle JSON requests
|
|
38
|
+
expressMiddleware(server, {
|
|
39
|
+
context: async ({ req }) => {
|
|
40
|
+
const token = req.headers.authorization || null;
|
|
41
|
+
return { token }; // Pass token for authentication
|
|
42
|
+
},
|
|
43
|
+
}),
|
|
44
|
+
);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// Start the Apollo Gateway server
|
|
48
|
+
startApolloGateway(server);
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ApolloServer } from '@apollo/server';
|
|
2
|
+
import { ApolloGateway, IntrospectAndCompose } from '@apollo/gateway';
|
|
3
|
+
import { WebApp } from 'meteor/webapp';
|
|
4
|
+
import express, { Request, Response } from 'express';
|
|
5
|
+
import { expressMiddleware } from '@apollo/server/express4';
|
|
6
|
+
import { Meteor } from 'meteor/meteor';
|
|
7
|
+
|
|
8
|
+
// Define the context interface
|
|
9
|
+
interface Context {
|
|
10
|
+
token?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Use `IntrospectAndCompose` to introspect the subgraphs (empty for now, add subgraphs as needed)
|
|
14
|
+
const gateway = new ApolloGateway({
|
|
15
|
+
supergraphSdl: new IntrospectAndCompose({
|
|
16
|
+
subgraphs: [
|
|
17
|
+
],
|
|
18
|
+
}),
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
const server = new ApolloServer<Context>({
|
|
22
|
+
gateway, // Attach the Apollo Gateway
|
|
23
|
+
cacheControl: {
|
|
24
|
+
defaultMaxAge: 5, // Cache control settings
|
|
25
|
+
},
|
|
26
|
+
cache: 'bounded',
|
|
27
|
+
formatError: (err) => {
|
|
28
|
+
if (Meteor.isProduction) {
|
|
29
|
+
return { message: err.extensions?.code || 'Internal Server Error' };
|
|
30
|
+
}
|
|
31
|
+
console.error(err);
|
|
32
|
+
return err;
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const startApolloGateway = async (server: ApolloServer<Context>) => {
|
|
37
|
+
await server.start();
|
|
38
|
+
|
|
39
|
+
// Use Meteor's WebApp to handle the Apollo middleware
|
|
40
|
+
WebApp.connectHandlers.use(
|
|
41
|
+
'/graphql', // The endpoint for the federated GraphQL API
|
|
42
|
+
express.json({ limit: '5mb' }), // Handle JSON requests
|
|
43
|
+
expressMiddleware(server, {
|
|
44
|
+
context: async ({ req }: { req: Request }): Promise<Context> => {
|
|
45
|
+
const token = req.headers.authorization || null;
|
|
46
|
+
return { token }; // Pass token for authentication
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
49
|
+
);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// Start the Apollo Gateway server
|
|
53
|
+
startApolloGateway(server);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { resolvers } from './graphql/resolvers';
|
|
2
|
+
import { typeDefs } from './graphql/typeDefs';
|
|
3
|
+
|
|
4
|
+
import { ApolloServer } from '@apollo/server';
|
|
5
|
+
import { WebApp } from 'meteor/webapp';
|
|
6
|
+
import { expressMiddleware } from '@apollo/server/express4';
|
|
7
|
+
import { buildSubgraphSchema } from '@apollo/subgraph';
|
|
8
|
+
import express from 'express';
|
|
9
|
+
import rateLimit from 'express-rate-limit';
|
|
10
|
+
|
|
11
|
+
// Create rate limiter middleware
|
|
12
|
+
const limiter = rateLimit({
|
|
13
|
+
windowMs: 15 * 60 * 1000, // 15 minutes
|
|
14
|
+
max: 1, // Limit each IP to 100 requests per windowMs
|
|
15
|
+
message: 'Too many requests, please try again later.',
|
|
16
|
+
standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers
|
|
17
|
+
legacyHeaders: false, // Disable the `X-RateLimit-*` headers,
|
|
18
|
+
keyGenerator: (req) => {
|
|
19
|
+
// Trust the 'X-Forwarded-For' header for client IP, but only if it exists
|
|
20
|
+
return req.headers['x-forwarded-for'] || req.ip;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const server = new ApolloServer({
|
|
25
|
+
schema: buildSubgraphSchema({ typeDefs, resolvers }),
|
|
26
|
+
cacheControl: {
|
|
27
|
+
defaultMaxAge: 5, // seconds
|
|
28
|
+
},
|
|
29
|
+
cache: 'bounded',
|
|
30
|
+
formatError: (err) => {
|
|
31
|
+
if (Meteor.isProduction) {
|
|
32
|
+
// Don't give specific errors to the client
|
|
33
|
+
err.message = err.extensions.code; // eslint-disable-line no-param-reassign
|
|
34
|
+
return err;
|
|
35
|
+
}
|
|
36
|
+
console.error(err);
|
|
37
|
+
return err;
|
|
38
|
+
},
|
|
39
|
+
validate: true, // Validates the schema on startup
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const startApolloServer = async (server) => {
|
|
43
|
+
await server.start();
|
|
44
|
+
|
|
45
|
+
// Use Meteor's built-in WebApp and Express's built-in JSON parser
|
|
46
|
+
WebApp.connectHandlers.use(
|
|
47
|
+
'/graphql/<%= apiVersion %>/<%= fileName %>',
|
|
48
|
+
limiter, // Apply rate limiter middleware before GraphQL middleware
|
|
49
|
+
express.json({ limit: '5mb' }),
|
|
50
|
+
expressMiddleware(server, {
|
|
51
|
+
context: async ({ req }) => {
|
|
52
|
+
const token = req.headers.authorization;
|
|
53
|
+
// Validate and decode token here, e.g., using JWT:
|
|
54
|
+
return { token };
|
|
55
|
+
}
|
|
56
|
+
}),
|
|
57
|
+
);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// Start the Apollo server
|
|
61
|
+
startApolloServer(server);
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { resolvers } from './graphql/resolvers';
|
|
2
|
+
import { typeDefs } from './graphql/typeDefs';
|
|
3
|
+
|
|
4
|
+
import { ApolloServer } from '@apollo/server';
|
|
5
|
+
import { WebApp } from 'meteor/webapp';
|
|
6
|
+
import { expressMiddleware } from '@apollo/server/express4';
|
|
7
|
+
import { buildSubgraphSchema } from '@apollo/subgraph';
|
|
8
|
+
import express, { Request } from 'express';
|
|
9
|
+
import rateLimit from 'express-rate-limit';
|
|
10
|
+
|
|
11
|
+
// Define the types for the context
|
|
12
|
+
interface Context {
|
|
13
|
+
token?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Create rate limiter middleware
|
|
17
|
+
const limiter = rateLimit({
|
|
18
|
+
windowMs: 15 * 60 * 1000, // 15 minutes
|
|
19
|
+
max: 100, // Limit each IP to 100 requests per windowMs
|
|
20
|
+
message: 'Too many requests, please try again later.',
|
|
21
|
+
standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers
|
|
22
|
+
legacyHeaders: false, // Disable the `X-RateLimit-*` headers
|
|
23
|
+
keyGenerator: (req: Request) => {
|
|
24
|
+
// Trust the 'X-Forwarded-For' header for client IP, but only if it exists
|
|
25
|
+
return req.headers['x-forwarded-for'] || req.ip;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
// Create the Apollo Server instance
|
|
30
|
+
const server = new ApolloServer<Context>({
|
|
31
|
+
schema: buildSubgraphSchema({ typeDefs, resolvers }), // Federation-ready schema
|
|
32
|
+
cacheControl: {
|
|
33
|
+
defaultMaxAge: 5, // seconds
|
|
34
|
+
},
|
|
35
|
+
cache: 'bounded',
|
|
36
|
+
formatError: (err) => {
|
|
37
|
+
if (Meteor.isProduction) {
|
|
38
|
+
// Hide specific error details in production
|
|
39
|
+
err.message = err.extensions?.code || 'Internal Server Error'; // eslint-disable-line no-param-reassign
|
|
40
|
+
return err;
|
|
41
|
+
}
|
|
42
|
+
console.error(err);
|
|
43
|
+
return err;
|
|
44
|
+
},
|
|
45
|
+
validate: true, // Validates the schema on startup
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
const startApolloServer = async (server: ApolloServer<Context>) => {
|
|
49
|
+
await server.start();
|
|
50
|
+
|
|
51
|
+
// Use Meteor's WebApp with Express's JSON parser
|
|
52
|
+
WebApp.connectHandlers.use(
|
|
53
|
+
'/graphql/<%= apiVersion %>/<%= fileName %>',
|
|
54
|
+
limiter, // Apply rate limiter middleware before GraphQL middleware
|
|
55
|
+
express.json({ limit: '5mb' }), // JSON parsing middleware
|
|
56
|
+
expressMiddleware(server, {
|
|
57
|
+
context: async ({ req }: { req: Request }): Promise<Context> => {
|
|
58
|
+
const token = req.headers.authorization || null;
|
|
59
|
+
// You can add additional validation here (e.g., JWT validation)
|
|
60
|
+
return { token };
|
|
61
|
+
},
|
|
62
|
+
}),
|
|
63
|
+
);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// Start the Apollo server
|
|
67
|
+
startApolloServer(server);
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
<% if( withMethods ) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-rpc-methods';<% } %>
|
|
2
2
|
<% if( withRest ) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-rest-api';<% } %>
|
|
3
|
+
<% if (withGql) { %>import '../../api/<%= apiVersion %><%= optsDir %><%= fileName %>/<%= fileName %>-<%= apiVersion %>-graphql-api';<% } %>
|
|
@@ -3,59 +3,6 @@ import { WebAppInternals } from "meteor/webapp";
|
|
|
3
3
|
Meteor.startup(() => {
|
|
4
4
|
WebAppInternals.setInlineScriptsAllowed(false);
|
|
5
5
|
});
|
|
6
|
-
<% if (config.engines.graphql === 'apollo') { %>
|
|
7
|
-
import { ApolloServer } from '@apollo/server';
|
|
8
|
-
import bodyParser from 'body-parser';
|
|
9
|
-
import { WebApp } from 'meteor/webapp';
|
|
10
|
-
import { mergeTypeDefs, mergeResolvers } from '@graphql-tools/merge';
|
|
11
|
-
import {
|
|
12
|
-
ApolloServerPluginLandingPageGraphQLPlayground
|
|
13
|
-
} from '@apollo/server-plugin-landing-page-graphql-playground';
|
|
14
|
-
import { expressMiddleware } from '@apollo/server/express4';
|
|
15
|
-
import express from 'express';
|
|
16
|
-
|
|
17
|
-
const typeList = [];
|
|
18
|
-
const resolverList = [];
|
|
19
|
-
if (typeList.length > 0 && resolverList.length > 0) {
|
|
20
|
-
const expressApp = express();
|
|
21
|
-
const typeDefs = mergeTypeDefs(typeList);
|
|
22
|
-
const resolvers = mergeResolvers(resolverList);
|
|
23
|
-
const server = new ApolloServer({
|
|
24
|
-
typeDefs,
|
|
25
|
-
resolvers,
|
|
26
|
-
cacheControl: {
|
|
27
|
-
defaultMaxAge: 60, //seconds
|
|
28
|
-
},
|
|
29
|
-
cache: 'bounded',
|
|
30
|
-
formatError: (err) => {
|
|
31
|
-
if (Meteor.isProduction) {
|
|
32
|
-
// Don't give specific errors to the client
|
|
33
|
-
sysLogger.error(err);
|
|
34
|
-
err.message = err.extensions.code; // eslint-disable-line no-param-reassign
|
|
35
|
-
return err;
|
|
36
|
-
}
|
|
37
|
-
console.log(err);
|
|
38
|
-
return err;
|
|
39
|
-
},
|
|
40
|
-
plugins: [
|
|
41
|
-
ApolloServerPluginLandingPageGraphQLPlayground()
|
|
42
|
-
]
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
const startApolloServer = async(server) => {
|
|
46
|
-
await server.start();
|
|
47
|
-
expressApp.use(
|
|
48
|
-
'/graphql',
|
|
49
|
-
bodyParser.json({ limit: '50mb' }),
|
|
50
|
-
expressMiddleware(server, {
|
|
51
|
-
context: async ({ req }) => ({ token: req.headers.authorization })
|
|
52
|
-
}),
|
|
53
|
-
);
|
|
54
|
-
WebApp.connectHandlers.use(expressApp);
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
startApolloServer(server);
|
|
58
|
-
}<% } %>
|
|
59
6
|
<% if (config.engines.ssr === 'meteor') { %>
|
|
60
7
|
/************* SSR Code ********************/
|
|
61
8
|
import AppRoutes from '../lib/routes';
|
|
@@ -3,59 +3,6 @@ import { WebAppInternals } from "meteor/webapp";
|
|
|
3
3
|
Meteor.startup(() => {
|
|
4
4
|
WebAppInternals.setInlineScriptsAllowed(false);
|
|
5
5
|
});
|
|
6
|
-
<% if (config.engines.graphql === 'apollo') { %>
|
|
7
|
-
import bodyParser from 'body-parser';
|
|
8
|
-
import { ApolloServer } from '@apollo/server';
|
|
9
|
-
import { WebApp } from 'meteor/webapp';
|
|
10
|
-
import { mergeTypeDefs, mergeResolvers } from '@graphql-tools/merge';
|
|
11
|
-
import {
|
|
12
|
-
ApolloServerPluginLandingPageGraphQLPlayground
|
|
13
|
-
} from '@apollo/server-plugin-landing-page-graphql-playground';
|
|
14
|
-
import { expressMiddleware } from '@apollo/server/express4';
|
|
15
|
-
import express from 'express';
|
|
16
|
-
|
|
17
|
-
const typeList = [];
|
|
18
|
-
const resolverList = [];
|
|
19
|
-
if (typeList.length > 0 && resolverList.length > 0) {
|
|
20
|
-
const expressApp = express();
|
|
21
|
-
const typeDefs = mergeTypeDefs(typeList);
|
|
22
|
-
const resolvers = mergeResolvers(resolverList);
|
|
23
|
-
const server = new ApolloServer({
|
|
24
|
-
typeDefs,
|
|
25
|
-
resolvers,
|
|
26
|
-
cacheControl: {
|
|
27
|
-
defaultMaxAge: 60, //seconds
|
|
28
|
-
},
|
|
29
|
-
cache: 'bounded',
|
|
30
|
-
formatError: (err) => {
|
|
31
|
-
if (Meteor.isProduction) {
|
|
32
|
-
// Don't give specific errors to the client
|
|
33
|
-
sysLogger.error(err);
|
|
34
|
-
err.message = err.extensions.code; // eslint-disable-line no-param-reassign
|
|
35
|
-
return err;
|
|
36
|
-
}
|
|
37
|
-
console.log(err);
|
|
38
|
-
return err;
|
|
39
|
-
},
|
|
40
|
-
plugins: [
|
|
41
|
-
ApolloServerPluginLandingPageGraphQLPlayground()
|
|
42
|
-
]
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
const startApolloServer = async(server) => {
|
|
46
|
-
await server.start();
|
|
47
|
-
expressApp.use(
|
|
48
|
-
'/graphql',
|
|
49
|
-
bodyParser.json({ limit: '50mb' }),
|
|
50
|
-
expressMiddleware(server, {
|
|
51
|
-
context: async ({ req }) => ({ token: req.headers.authorization })
|
|
52
|
-
}),
|
|
53
|
-
);
|
|
54
|
-
WebApp.connectHandlers.use(expressApp);
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
startApolloServer(server);
|
|
58
|
-
}<% } %>
|
|
59
6
|
<% if (config.engines.ssr === 'meteor') { %>
|
|
60
7
|
/************* SSR Code ********************/
|
|
61
8
|
import AppRoutes from '../lib/routes';
|