@maka/maka-cli 5.0.26 → 5.0.28
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(0xd7))/0x1*(parseInt(r(0xc7))/0x2)+parseInt(r(0x86))/0x3+-parseInt(r(0xb3))/0x4*(parseInt(r(0x8f))/0x5)+parseInt(r(0x8d))/0x6*(-parseInt(r(0xda))/0x7)+-parseInt(r(0xac))/0x8*(-parseInt(r(0xcc))/0x9)+-parseInt(r(0xa0))/0xa+parseInt(r(0xc2))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a134c,0x384cf));function a134d(a,b){const c=a134c();return a134d=function(d,e){d=d-0x86;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(0x98)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a134a=a134b(this,function(){const t=a134d;return a134a['toString']()[t(0xcb)](t(0x89))[t(0xab)]()['constructor'](a134a)['search'](t(0x89));});a134a();import a134e from'path';import{Generator}from'../generator.js';import{Log}from'../tools/log/log.class.js';import{UsageError}from'../error.js';function a134c(){const w=['withHooks','substring','fileName','ramda','cfg','trim','url','injectAtBeginningOfFile','injectIntoFile','checkNpmPackage','client','Updating\x20npm\x20packages\x20...','resourceName','store','2056692EelEwV','root','template/template.html','replaceAll','setTemplate','2NDBuSa','error','pkg','.js','search','2527164fsRAGt','</Route>','none','dir','pathFromApp','template/template.css','\x27;\x0a','.html','installNpmPackage','findProjectDirectory','warn','2433RevjEO','injectTemplateModule','endsWith','70QyKgDx','slice','component/component.js','css','ssr','959514qibAOp','lib','page','(((.+)+)+)+$','.css','imports','engines','182892LggOfa','string','281885GsjmZc','Please\x20specify\x20a\x20name\x20for\x20the\x20route.','assign','<Route\x20path=\x22','react','<Route\x20element={<PrivateRoute\x20/>}>','template','\x22\x20element={<Component.','relative','apply','meteor','.app-tests.js','hook/hook.js','api','split','toLowerCase','private','854810DnuiII','test','/>}/>\x0a','graphql','includes','startup','hasOwnProperty','withTranslations','theme','import\x20\x27./','scaffold','toString','8VaDjXQ','replace','className','features','component','indexOf','html','12SEYRkZ'];a134c=function(){return w;};return a134c();}import{camelCase,kebabCase,pascalCase}from'change-case';const aliases=['p'];Generator['create']({'name':a134u(0x88),'aliases':aliases,'usage':'maka\x20{generate,\x20g}:{page,\x20p}\x20[path/]<name>','shortDesc':'Generate\x20a\x20page.','mustBeInMakaProject':!![],'validOpts':[{'name':a134u(0x9f),'boolFlag':!![]},{'name':a134u(0xba)}],'examples':['maka\x20g:page\x20todos/todos-item']},async function(a,b){const v=a134u,c='/imports/ui/pages',d=this['fsi']['findAppDirectory'](),e=b[v(0xc0)][v(0xa4)](':')?b[v(0xc0)][v(0x9d)](':')[0x0]['trim']():b[v(0xc0)][v(0xb9)](),f=b['dir'][v(0xc5)]('/','_')+'_'+e[v(0xc5)]('/','_'),g=this[v(0xaa)][v(0xd0)]({'pathParts':[c,b[v(0xcf)],kebabCase(f),kebabCase(f)]}),h=this['projectConfig'];let i='';typeof h[v(0x95)][v(0xb2)]==='string'&&this[v(0xb8)][v(0xc6)](v(0xb2),h[v(0x95)][v(0xb2)]);typeof h['template'][v(0xa1)]===v(0x8e)&&this[v(0xb8)][v(0xc6)]('test',h[v(0x95)][v(0xa1)]);typeof h[v(0x95)]['css']===v(0x8e)&&this['cfg']['setTemplate'](v(0xdd),h[v(0x95)]['css']);typeof h[v(0x95)]['js']===v(0x8e)&&this[v(0xb8)][v(0xc6)]('js',h[v(0x95)]['js']);!b[v(0xc3)]&&!this[v(0xc9)][v(0xbd)]('ramda')&&(Log[v(0xd6)](v(0xbf)),this[v(0xc9)][v(0xd4)](v(0xb7),{'cwd':d}));const j={'name':pascalCase(f),'myPath':a134e[v(0x97)](this['fsi'][v(0xd5)](),g),'cssCaseName':kebabCase(f),'className':pascalCase(f),'camelCaseName':camelCase(f),'fileName':kebabCase(f),'graphql':h[v(0x8c)][v(0xa3)],'features':h[v(0xaf)],'client':h['engines'][v(0xbe)],'api':h['engines'][v(0x9c)],'ssr':h[v(0x8c)][v(0xde)],'isStore':b[v(0xa6)](v(0xc1)),'isComponent':b[v(0xa6)](v(0xb0)),'isLayout':b[v(0xa6)]('layout'),'withTranslations':h[v(0xaf)][v(0xa7)],'test':h[v(0x8c)][v(0xa1)],'theme':h[v(0x8c)][v(0xa8)]};h[v(0x95)]['html']&&await this[v(0xaa)][v(0x95)]({'srcPath':v(0xc4),'destPath':g+v(0xd3),'context':j,'config':h});h[v(0xaf)]?.[v(0xb4)]?await this[v(0xaa)][v(0x95)]({'srcPath':v(0x9b),'destPath':g+v(0xca),'framework':'react','context':j,'config':h}):await this[v(0xaa)]['template']({'srcPath':v(0xdc),'destPath':g+v(0xca),'framework':v(0x93),'context':j,'config':h});h[v(0x8c)][v(0xa1)]!==v(0xce)&&await this[v(0xaa)]['template']({'srcPath':'test/test.js','destPath':g+v(0x9a),'framework':v(0x93),'context':j,'config':h});h[v(0x95)][v(0xdd)]&&await this[v(0xaa)]['template']({'srcPath':v(0xd1),'destPath':g+v(0x8a),'context':Object[v(0x91)]({},j,{'className':kebabCase(b[v(0xc0)])}),'config':h});h['engines'][v(0xbe)]!==v(0x93)&&h[v(0x8c)][v(0xbe)]!=='vanilla'?(h[v(0x95)]['css']&&await this[v(0xaa)][v(0xbb)]({'filePath':g+'.'+h[v(0x8c)]['js'],'content':v(0xa9)+j[v(0xb6)]+'.'+h['engines']['html']+v(0xd2)+v(0xa9)+j[v(0xb6)]+'.'+h[v(0x8c)][v(0xdd)]+'\x27;'}),!h['template']['css']&&await this['scaffold']['injectAtBeginningOfFile']({'filePath':g+'.'+h[v(0x8c)]['js'],'content':v(0xa9)+j['fileName']+'.'+h['engines'][v(0xb2)]+'\x27;'})):h[v(0x95)]['css']&&await this[v(0xaa)][v(0xbb)]({'filePath':g+'.'+h[v(0x8c)]['js'],'content':v(0xa9)+j[v(0xb6)]+'.'+h[v(0x8c)]['css']+'\x27;'});const k=b['dir']?'/'+b['dir']+'/':'/';i=''+c+k+j[v(0xb6)]+'/'+j[v(0xb6)],await this[v(0xaa)][v(0xd8)](j[v(0xae)],h,i);if(!b[v(0xc3)]){const l=b[v(0x9f)]??![];if(!f){Log[v(0xc8)](v(0x90));throw new UsageError();}let m=b[v(0xba)]?b[v(0xba)]:'/'+b[v(0xcf)][v(0xb9)]()+'/'+b[v(0xc0)][v(0xb9)]()['replace'](/\\/g,'/')[v(0xad)](/\/+$/,'')[v(0x9e)]();const n=b[v(0xc0)][v(0xb1)](':');n!==-0x1&&(m+='/'+b['resourceName'][v(0xb5)](0x0,n)[v(0xb9)]());m[v(0xd9)]('/')&&(m=m[v(0xdb)](0x0,-0x1));m=m[v(0xad)](/\/\//g,'/');const o=h[v(0x8c)]['js'],p=h[v(0x8c)][v(0xde)]===v(0x99)?v(0x87):v(0xbe),q=a134e['join'](d,v(0x8b),v(0xa5),p,'routes.'+o);l?await this[v(0xaa)][v(0xbc)]({'filePath':q,'content':v(0x92)+m+v(0x96)+pascalCase(f)+v(0xa2),'begin':[v(0x94)],'end':[v(0xcd)]}):await this[v(0xaa)][v(0xbc)]({'filePath':q,'content':v(0x92)+m+'\x22\x20element={<Component.'+pascalCase(f)+v(0xa2),'begin':['<Route\x20index'],'end':['<Route\x20path=\x22*\x22']});}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a135r=a135d;(function(a,b){const o=a135d,c=a();while(!![]){try{const d=-parseInt(o(0x191))/0x1+parseInt(o(0x195))/0x2*(parseInt(o(0x185))/0x3)+-parseInt(o(0x189))/0x4*(parseInt(o(0x19f))/0x5)+-parseInt(o(0x181))/0x6+-parseInt(o(0x193))/0x7*(-parseInt(o(0x194))/0x8)+-parseInt(o(0x18a))/0x9+parseInt(o(0x190))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a135c,0x85963));const a135b=(function(){let a=!![];return function(b,c){const d=a?function(){const p=a135d;if(c){const e=c[p(0x197)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a135a=a135b(this,function(){const q=a135d;return a135a[q(0x180)]()[q(0x1a1)](q(0x184))[q(0x180)]()['constructor'](a135a)[q(0x1a1)]('(((.+)+)+)+$');});a135a();import{kebabCase,pascalCase}from'change-case';import{Generator}from'../generator.js';function a135d(a,b){const c=a135c();return a135d=function(d,e){d=d-0x180;let f=c[d];return f;},a135d(a,b);}import{Log}from'../tools/log/log.class.js';Generator[a135r(0x19e)]({'name':a135r(0x192),'aliases':['p'],'usage':a135r(0x198),'shortDesc':a135r(0x187),'validOpts':[a135r(0x18e)],'requiredOpts':[a135r(0x18d)],'mustBeInMakaProject':!![],'examples':[a135r(0x1a0)]},async function(a,b){const s=a135r;try{const {projectConfig:c,scaffold:d}=this,f=b[s(0x18e)]||![],g=s(0x199),h=kebabCase(b[s(0x19a)]),i=d[s(0x19b)]({'pathParts':[g,b[s(0x18f)],'',h]});let j='js';c['engines']['js']===s(0x18b)&&(j='ts');const k={'name':b[s(0x19a)],'collection':pascalCase(b['resourceName']),'noRename':!![],'globalPublish':b[s(0x18d)]};await d[s(0x188)]({'srcPath':s(0x196),'destPath':i+'.'+j,'context':k,'config':c,'force':f});const l=d[s(0x19b)]({'pathParts':[s(0x182),'startup',s(0x19c),b[s(0x19d)],s(0x183)+c['engines']['js']]}),m=b[s(0x18f)]?'/'+b[s(0x18f)]+'/':'/';await d[s(0x18c)]({'filePath':l,'content':'import\x20\x27./publications'+m+h+'\x27;'});}catch(n){Log[s(0x186)](n),process['exit'](0x1);}});function a135c(){const t=['publish','93443PccdLd','488pwGshc','36074AlGFOL','publish/publish.js','apply','maka\x20{generate,\x20g}:{publish,\x20p}\x20<name>','/imports/startup/server/publications','resourceName','pathFromApp','server','appPathPrefix','create','35815czflXP','maka\x20g:publish\x20todos','search','toString','5824686TGGJsU','imports','index.','(((.+)+)+)+$','51DJecAc','error','Scaffolding\x20for\x20a\x20publish\x20function.\x0ahttps://docs.meteor.com/api/pubsub.html','template','212wjdHKb','3971025yxqXJJ','tsx','injectAtEndOfFile','globalPublish','force','dir','13961900ZuYVSn','178292HuLqks'];a135c=function(){return t;};return a135c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a136r=a136d;(function(a,b){const o=a136d,c=a();while(!![]){try{const d=parseInt(o(0x7f))/0x1+-parseInt(o(0x7b))/0x2*(-parseInt(o(0x7d))/0x3)+-parseInt(o(0x70))/0x4*(parseInt(o(0x87))/0x5)+parseInt(o(0x89))/0x6*(parseInt(o(0x68))/0x7)+parseInt(o(0x7c))/0x8*(parseInt(o(0x75))/0x9)+parseInt(o(0x86))/0xa+-parseInt(o(0x74))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a136c,0xe9d0a));const a136b=(function(){let a=!![];return function(b,c){const d=a?function(){const p=a136d;if(c){const e=c[p(0x67)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a136a=a136b(this,function(){const q=a136d;return a136a['toString']()[q(0x6e)](q(0x88))[q(0x78)]()['constructor'](a136a)['search'](q(0x88));});a136a();import a136e from'path';function a136d(a,b){const c=a136c();return a136d=function(d,e){d=d-0x66;let f=c[d];return f;},a136d(a,b);}import{Generator}from'../generator.js';import{Log}from'../tools/log/log.class.js';import{UsageError}from'../error.js';function a136c(){const t=['join','exit','44rNcLvC','8608368hIVNUM','42096NURmXN','<Route\x20index','171714XjMVsA','maka\x20{generate,\x20g}:{route,\x20r}','\x22\x20element={<Component.','replace','toLowerCase','private','</Route>','10239130peYsKP','85XtDsno','(((.+)+)+)+$','12yxDLmL','filter','lib','none','error','route','length','Please\x20specify\x20a\x20name\x20for\x20the\x20route.','startup','pop','apply','646835seozMr','ssr','<Route\x20path=\x22*\x22','<Route\x20path=\x22','client','injectIntoFile','search','/>}/>\x0a','406036fToJlI','split','imports','resourceName','900108qqRzNF','9CXHajb','engines','<Route\x20element={<PrivateRoute\x20/>}>','toString'];a136c=function(){return t;};return a136c();}import{pascalCase}from'change-case';const aliases=['r'];Generator['create']({'name':'route','mustBeInMakaProject':!![],'aliases':aliases,'validOpts':[{'name':a136r(0x84),'boolFlag':!![]},{'name':a136r(0x8e)}],'usage':a136r(0x80),'shortDesc':'Scaffolding\x20for\x20a\x20Route.','examples':[]},async function(a,b){const s=a136r,{fsi:c,scaffold:d,projectConfig:f}=this;try{const g=c['findAppDirectory'](),h=b['private']??![];let i=b[s(0x73)][s(0x71)]('/')[s(0x66)]();if(!i){Log['error'](s(0x90));throw new UsageError();}i=pascalCase(i);let j=b['route']?'/'+b['route']:'/'+b[s(0x73)]['replace'](/\\/g,'/')[s(0x83)]();a[s(0x8f)]>0x1&&(j='/'+a[s(0x8a)](function(n){return n!=='/';})[s(0x79)]('/')[s(0x83)]());j=j[s(0x82)](/\/\//g,'/');const k=f['engines']['js'],l=f[s(0x76)][s(0x69)]!==s(0x8c)?s(0x8b):s(0x6c),m=a136e['join'](g,s(0x72),s(0x91),l,'routes.'+k);h?await d['injectIntoFile']({'filePath':m,'content':'<Route\x20path=\x22'+j+'\x22\x20element={<Component.'+i+'/>}/>\x0a','begin':[s(0x77)],'end':[s(0x85)]}):await d[s(0x6d)]({'filePath':m,'content':s(0x6b)+j+s(0x81)+i+s(0x6f),'begin':[s(0x7e)],'end':[s(0x6a)]});}catch(n){Log[s(0x8d)](n),process[s(0x7a)](0x1);}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a137r=a137d;(function(a,b){const o=a137d,c=a();while(!![]){try{const d
|
|
1
|
+
function a137c(){const t=['tsx','4170837eolNWL','checkNpmPackage','service','Generate\x20a\x20service\x20to\x20run\x20within\x20your\x20meteor\x20application.','7fBocTU','startup','3071KrvWAp','winston','maka\x20g:svc\x20service-logger\x20--type=logger','type','lib','Installing\x20winston','error','308BqMoNU','5344720SbldSZ','search','10858100NuJNdL','3312MDvswZ','installNpmPackage','resourceName','pathFromApp','create','service/logger/logger.js','services','toString','4567278ufPJmy','template','engines','712jCielW','16504oIoIWX','imports','maka\x20{generate,\x20g}:{service}\x20<resource-name>','apply','logger','(((.+)+)+)+$','30513gMqXat'];a137c=function(){return t;};return a137c();}const a137r=a137d;(function(a,b){const o=a137d,c=a();while(!![]){try{const d=parseInt(o(0x1c9))/0x1*(parseInt(o(0x1ba))/0x2)+-parseInt(o(0x1c1))/0x3*(parseInt(o(0x1d0))/0x4)+parseInt(o(0x1d1))/0x5+-parseInt(o(0x1dc))/0x6*(parseInt(o(0x1c7))/0x7)+parseInt(o(0x1bb))/0x8*(-parseInt(o(0x1d4))/0x9)+parseInt(o(0x1d3))/0xa+-parseInt(o(0x1c3))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a137c,0x8a033));const a137b=(function(){let a=!![];return function(b,c){const d=a?function(){const p=a137d;if(c){const e=c[p(0x1be)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a137a=a137b(this,function(){const q=a137d;return a137a[q(0x1db)]()[q(0x1d2)]('(((.+)+)+)+$')['toString']()['constructor'](a137a)[q(0x1d2)](q(0x1c0));});a137a();import{camelCase,kebabCase,pascalCase}from'change-case';import{Generator}from'../generator.js';function a137d(a,b){const c=a137c();return a137d=function(d,e){d=d-0x1b9;let f=c[d];return f;},a137d(a,b);}import{Log}from'../tools/log/log.class.js';Generator[a137r(0x1d8)]({'name':a137r(0x1c5),'aliases':['svc'],'usage':a137r(0x1bd),'shortDesc':a137r(0x1c6),'mustBeInMakaProject':!![],'requiredOpts':[{'name':a137r(0x1cc),'values':[a137r(0x1bf)]}],'validOpts':[],'maxArgLength':0x1,'examples':[a137r(0x1cb)]},async function(a,b){const s=a137r,{cfg:c,fsi:d,pkg:f,scaffold:g}=this;try{const h=this['projectConfig'],i=d['findAppDirectory'](),j=kebabCase(b[s(0x1d6)]),k={'name':pascalCase(b[s(0x1d6)]),'fileName':j,'camelCase':camelCase(b[s(0x1d6)]),'type':b[s(0x1cc)],'engine':h[s(0x1b9)]['js'],'noRename':!![]};let l='js';h[s(0x1b9)]['js']===s(0x1c2)&&(l='ts');if(b[s(0x1cc)]===s(0x1bf)){!f[s(0x1c4)](s(0x1ca))&&await f[s(0x1d5)]('winston\x20setimmediate',{'cwd':i,'msg':s(0x1ce)});const m=g[s(0x1d7)]({'pathParts':[s(0x1bc),s(0x1c8),s(0x1cd),s(0x1da),j+'.'+l]});await g[s(0x1dd)]({'srcPath':s(0x1d9),'destPath':m,'context':k,'config':h});}}catch(n){Log[s(0x1cf)](n);}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(a,b){var f=a138d,c=a();while(!![]){try{var d=parseInt(f(0x14b))/0x1+parseInt(f(0x14d))/0x2*(parseInt(f(0x149))/0x3)+parseInt(f(0x14e))/0x4*(parseInt(f(0x150))/0x5)+parseInt(f(0x146))/0x6+-parseInt(f(0x14a))/0x7+-parseInt(f(0x145))/0x8+-parseInt(f(0x148))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a138c,0x3fde2));var a138b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a138d;if(c){var e=c[g(0x14c)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a138a=a138b(this,function(){var h=a138d;return a138a[h(0x147)]()[h(0x144)](h(0x143))['toString']()[h(0x14f)](a138a)['search'](h(0x143));});a138a();function a138d(a,b){var c=a138c();return a138d=function(d,e){d=d-0x143;var f=c[d];return f;},a138d(a,b);}import'./translation.js';function a138c(){var i=['1088556gICcVS','47548iiUfzh','apply','38666GqXwus','4Xzlkoj','constructor','173495stBypQ','(((.+)+)+)+$','search','735888GHTygu','2464344lBHOKQ','toString','28872uawDrN','3xIucTL'];a138c=function(){return i;};return a138c();}import'./openssl.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a139k=a139d;(function(a,b){const i=a139d,c=a();while(!![]){try{const d=parseInt(i(0x93))/0x1*(-parseInt(i(0x9a))/0x2)+parseInt(i(0xa8))/0x3*(parseInt(i(0x96))/0x4)+-parseInt(i(0xa1))/0x5*(parseInt(i(0xae))/0x6)+parseInt(i(0x97))/0x7*(parseInt(i(0xa5))/0x8)+-parseInt(i(0x9d))/0x9*(parseInt(i(0x94))/0xa)+parseInt(i(0x9e))/0xb*(-parseInt(i(0xa6))/0xc)+parseInt(i(0x92))/0xd;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a139c,0x3988b));function a139c(){const m=['template','31496BlRSip','192lrYwqW','openssl.conf','261570PEtnmB','getMakaProjectConfig','create','error','_keys','constructor','540QhPSva','join','9090926MSCOmY','311jHXZcE','683610pQPvOS','env','4eJNuIn','385YdfULZ','openssl/openssl.conf','(((.+)+)+)+$','482TMOcxp','sslconfig','maka\x20{generate,\x20g}:sslconfig','27KQwBkQ','287089PmBvXd','maka\x20g:sslconfig\x20--env\x20dev','scaffold','3875DUnwvm','toString','search'];a139c=function(){return m;};return a139c();}const a139b=(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;};}()),a139a=a139b(this,function(){const j=a139d;return a139a[j(0xa2)]()[j(0xa3)](j(0x99))[j(0xa2)]()[j(0xad)](a139a)[j(0xa3)](j(0x99));});a139a();function a139d(a,b){const c=a139c();return a139d=function(d,e){d=d-0x91;let f=c[d];return f;},a139d(a,b);}import{Generator}from'../../generator.js';import{Log}from'../../tools/log/log.class.js';import a139e from'path';Generator[a139k(0xaa)]({'name':a139k(0x9b),'usage':a139k(0x9c),'shortDesc':'Generate\x20a\x20new\x20openssl\x20config\x20file','resourceNameRequired':![],'requiredOpts':[a139k(0x95)],'examples':[a139k(0x9f)],'validOpts':[]},async function(a,b){const l=a139k;try{const c=this['cfg'][l(0xa9)](),d=this['cfg']['getAppConfigPath'](b[l(0x95)]),f=a139e[l(0x91)](d,l(0xac),l(0xa7)),g={'app':c['appName'],'noRename':!![]};await this[l(0xa0)][l(0xa4)]({'srcPath':l(0x98),'destPath':f,'framework':'service','context':g,'config':c});}catch(h){Log[l(0xab)](h);}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a140C=a140d;(function(a,b){const A=a140d,c=a();while(!![]){try{const d=-parseInt(A(0x7f))/0x1+-parseInt(A(0x75))/0x2*(-parseInt(A(0x97))/0x3)+parseInt(A(0x7b))/0x4*(-parseInt(A(0xa9))/0x5)+parseInt(A(0xa3))/0x6*(-parseInt(A(0x9d))/0x7)+-parseInt(A(0x95))/0x8*(-parseInt(A(0xb2))/0x9)+parseInt(A(0x9a))/0xa*(-parseInt(A(0x76))/0xb)+parseInt(A(0xa2))/0xc;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a140c,0xda5e1));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(0xa4)]()[B(0x8c)]('(((.+)+)+)+$')[B(0xa4)]()[B(0x9f)](a140a)[B(0x8c)]('(((.+)+)+)+$');});a140a();import{Generator}from'../../generator.js';import{Log}from'../../tools/log/log.class.js';function a140d(a,b){const c=a140c();return a140d=function(d,e){d=d-0x75;let f=c[d];return f;},a140d(a,b);}import a140e from'fs';function a140c(){const E=['i18n/i18n.js','default\x20as\x20','i18n/index.js','index.','scaffold','engines','i18next','i18n/locales.js','7929MaNgIv','maka\x20g:translation\x20--lang=en\x20(default)','4jqaSrP','1825241iMbOXe','\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','maka\x20g:translation\x20--lang=fr','injectAtBeginningOfFile','translations','4DyXqul','translation','warn','\x20}\x20from\x20\x27./','222273QtBWtz','imports','grep','Verifying\x20npm\x20package\x20requirements:\x20i18next\x20...','appName','import\x20\x27../lib/services/translations/i18n\x27;','checkNpmPackage','client','readFileSync','service','startup','pathFromApp','isFile','search','export\x20{\x20default\x20as\x20','meteor','findAppDirectory','injectAtEndOfFile','error','lib','installNpmPackage','index.js','7960JEwBWt','Locale\x20already\x20exported:\x20','2527671pCYXGE','import\x20\x27../lib/services/translations/i18n\x27;\x0a','locales','70lnqfVJ','.js','template','11480LOwEcI','rewriteDestinationPathForEngine','constructor','lang','exit','18274620UmmSYk','1020GdFPzU','toString','services','server','setProjectConfig','i18next\x20i18next-browser-languagedetector\x20react-i18next','7637855ZOIrTL'];a140c=function(){return E;};return a140c();}Generator['create']({'name':a140C(0x7c),'usage':'maka\x20{generate,\x20g}:translation','aliases':['t'],'resourceNameRequired':![],'requiredOpts':[{'name':'lang','boolFlag':![],'regex':/^[a-z]{2}$/}],'mustBeInMakaProject':!![],'shortDesc':'Generate\x20a\x20new\x20locale\x20translation','description':a140C(0x77),'examples':[a140C(0xb3),a140C(0x78),'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[D(0x8f)]();!b[D(0xa0)]&&(b['lang']='en');!b['root']&&!f[D(0x85)](D(0xb0))&&(Log[D(0x7d)](D(0x82)),f[D(0x93)](D(0xa8),{'cwd':i}),g[D(0xa7)]('features.withTranslations',!![]));const j=d[D(0x8a)]({'pathParts':[D(0x80),'startup',D(0x86),D(0x94)]}),k=d['rewriteDestinationPathForEngine']({'pathParts':[j],'config':h}),l=c[D(0x81)](a140e[D(0x87)](k)[D(0xa4)](),'import\x20\x27../lib/services/translations/i18n\x27;')[0x0]&&!![];if(h[D(0xaf)]['ssr']===D(0x8e)){!l&&d['injectAtBeginningOfFile']({'filePath':k,'content':D(0x98)});const w=d[D(0x8a)]({'pathParts':[D(0x80),'startup',D(0xa6),'index.js']}),x=d['rewriteDestinationPathForEngine']({'pathParts':[w],'config':h}),y=c[D(0x81)](a140e['readFileSync'](x)[D(0xa4)](),D(0x84))[0x0]&&!![];!y&&d[D(0x79)]({'filePath':x,'content':D(0x98)});}else!l&&d[D(0x79)]({'filePath':k,'content':'import\x20\x27../lib/services/translations/i18n\x27;\x0a'});const m={'app':h[D(0x83)],'config':h},n=d[D(0x8a)]({'pathParts':[D(0x80),D(0x89),'lib',D(0xa5),D(0x7a),'i18n.js']}),o=c[D(0x8b)](d[D(0x9e)]({'pathParts':[n],'config':h}));!o&&await d[D(0x9c)]({'srcPath':D(0xaa),'destPath':n,'framework':'service','context':m,'config':h});const p=d[D(0x8a)]({'pathParts':['imports',D(0x89),'lib','services','translations',D(0x99),b[D(0xa0)]+D(0x9b)]}),q=d[D(0x9e)]({'pathParts':[p],'config':h}),r=c[D(0x8b)](q);!r?await this[D(0xae)][D(0x9c)]({'srcPath':D(0xb1),'destPath':p,'framework':D(0x88),'context':m,'config':h}):Log[D(0x7d)]('Locale\x20already\x20defined:\x20'+q);const s=d[D(0x8a)]({'pathParts':[D(0x80),D(0x89),D(0x92),D(0xa5),D(0x7a),D(0x99),D(0xad)+h[D(0xaf)]['js']]}),t=d[D(0x9e)]({'pathParts':[s],'config':h}),u=c['isFile'](t);!u&&await d[D(0x9c)]({'srcPath':D(0xac),'destPath':s,'framework':D(0x88),'context':m,'config':h});const v=c[D(0x81)](a140e[D(0x87)](s)[D(0xa4)](),D(0xab)+b[D(0xa0)])[0x0]&&!![];!v?await d[D(0x90)]({'filePath':s,'content':D(0x8d)+b['lang']+D(0x7e)+b[D(0xa0)]+'\x27;'}):Log['warn'](D(0x96)+s);}catch(z){Log[D(0x91)](z),process[D(0xa1)](0x1);}});
|
package/bundle/obf/src/maka.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a141l=a141d;(function(a,b){const j=a141d,c=a();while(!![]){try{const d=parseInt(j(0x15c))/0x1*(-parseInt(j(0x160))/0x2)+parseInt(j(0x15f))/0x3*(parseInt(j(0x162))/0x4)+parseInt(j(0x164))/0x5*(-parseInt(j(0x156))/0x6)+-parseInt(j(0x151))/0x7*(parseInt(j(0x169))/0x8)+parseInt(j(0x152))/0x9*(parseInt(j(0x15b))/0xa)+parseInt(j(0x16b))/0xb*(parseInt(j(0x15e))/0xc)+parseInt(j(0x158))/0xd;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a141c,0x53b16));const a141b=(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;};}()),a141a=a141b(this,function(){const k=a141d;return a141a['toString']()[k(0x154)](k(0x15d))[k(0x15a)]()[k(0x155)](a141a)['search'](k(0x15d));});a141a();import a141e from'minimist';import a141f from'os';import a141g from'path';import a141h from'humps';function a141c(){const m=['search','constructor','108TbBYCi','totalmem','251862KWnvyK','url','toString','170nGXsXs','1783QCyKwQ','(((.+)+)+)+$','934212PAmurv','1525185BMFaay','134LQdPJO','TOOL_NODE_FLAGS','4aVAmwa','camelizeKeys','148670gfIARJ','env','dirname','stringify','NODE_NO_WARNINGS','8VffvQN','run','11ERUMxG','argv','MAKA_COMMAND_PATH','2022580TgjLIS','360423MOgWMS','parse'];a141c=function(){return m;};return a141c();}function a141d(a,b){const c=a141c();return a141d=function(d,e){d=d-0x150;let f=c[d];return f;},a141d(a,b);}import a141i from'./commands/maka.cmd.js';import'./commands/_index.js';import'./generators/_index.js';import{fileURLToPath}from'url';const __filename=fileURLToPath(import.meta[a141l(0x159)]),__dirname=a141g[a141l(0x166)](__filename);global[a141l(0x150)]=__dirname;const total_memory=a141f[a141l(0x157)](),total_mem_in_kb=total_memory/0x400;let total_mem_in_mb=total_mem_in_kb/0x400;total_mem_in_mb=Math['floor'](total_mem_in_mb),process[a141l(0x165)][a141l(0x161)]='--max-old-space-size='+total_mem_in_mb,process[a141l(0x165)]['BROWSERSLIST_IGNORE_OLD_DATA']='1',process[a141l(0x165)][a141l(0x168)]='1';const argv=a141e(process[a141l(0x16c)]['slice'](0x2)),args=argv['_'],deepCopyArgv=JSON[a141l(0x153)](JSON[a141l(0x167)](argv));delete deepCopyArgv['_'];const opts=a141h[a141l(0x163)](deepCopyArgv);a141i[a141l(0x16a)](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: 100, // 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';
|