@maka/maka-cli 4.7.11 → 4.7.13
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/.eslintrc.json +29 -29
- package/.mocharc.json +3 -3
- package/.vs/VSWorkspaceState.json +12 -0
- package/.vs/maka-cli-src/FileContentIndex/18ca123b-cf4e-4263-8cf0-ed1624e8e918.vsidx +0 -0
- package/.vs/maka-cli-src/FileContentIndex/69d2de39-b193-48d9-b520-96bdb73b7b61.vsidx +0 -0
- package/.vs/maka-cli-src/FileContentIndex/93947812-c77d-4667-aaed-3f9a0df8b484.vsidx +0 -0
- package/.vs/maka-cli-src/FileContentIndex/c4cbf57e-b360-4b2a-8b3d-fc8f800c195a.vsidx +0 -0
- package/.vs/maka-cli-src/FileContentIndex/c9d2ef23-4e6c-46eb-a405-3584022229ed.vsidx +0 -0
- package/.vs/maka-cli-src/config/applicationhost.config +1016 -0
- package/.vs/maka-cli-src/v17/.wsuo +0 -0
- package/.vs/maka-cli-src/v17/workspaceFileList.bin +0 -0
- package/.vs/slnx.sqlite +0 -0
- package/README.md +21 -21
- package/bundle/obf/package.json +127 -127
- package/bundle/obf/src/README.md +21 -21
- 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/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/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/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/proxy.js +1 -1
- package/bundle/obf/src/commands/reconfig.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/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/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/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/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/api.js +11 -11
- package/bundle/obf/src/templates/meteor/api/api.js.ts +11 -11
- package/bundle/obf/src/templates/meteor/api/collection.js +86 -86
- package/bundle/obf/src/templates/meteor/api/collection.js.ts +94 -94
- package/bundle/obf/src/templates/meteor/api/fixtures.js +23 -23
- package/bundle/obf/src/templates/meteor/api/fixtures.js.ts +23 -23
- package/bundle/obf/src/templates/meteor/api/methods.js +136 -136
- package/bundle/obf/src/templates/meteor/api/methods.js.ts +137 -137
- package/bundle/obf/src/templates/meteor/api/publications.js +31 -31
- package/bundle/obf/src/templates/meteor/api/publications.js.ts +31 -31
- package/bundle/obf/src/templates/meteor/api/register-api.js +15 -15
- package/bundle/obf/src/templates/meteor/api/register-api.js.ts +15 -15
- package/bundle/obf/src/templates/meteor/api/resolvers.js +9 -9
- package/bundle/obf/src/templates/meteor/api/resolvers.js.ts +9 -9
- package/bundle/obf/src/templates/meteor/api/tests.js +1 -1
- package/bundle/obf/src/templates/meteor/api/tests.js.ts +1 -1
- package/bundle/obf/src/templates/meteor/api/typeDefs.js +5 -5
- package/bundle/obf/src/templates/meteor/api/typeDefs.js.ts +5 -5
- package/bundle/obf/src/templates/meteor/app/client/body.html +3 -3
- package/bundle/obf/src/templates/meteor/app/client/head.html +15 -15
- package/bundle/obf/src/templates/meteor/app/client/main.app-tests.js +9 -9
- package/bundle/obf/src/templates/meteor/app/client/main.app-tests.js.jsx +9 -9
- package/bundle/obf/src/templates/meteor/app/client/main.app-tests.js.ts +9 -9
- package/bundle/obf/src/templates/meteor/app/client/main.app-tests.js.tsx +9 -9
- package/bundle/obf/src/templates/meteor/app/client/main.js +13 -13
- package/bundle/obf/src/templates/meteor/app/client/main.js.jsx +13 -13
- package/bundle/obf/src/templates/meteor/app/client/main.js.ts +13 -13
- package/bundle/obf/src/templates/meteor/app/client/main.js.tsx +13 -13
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/index.js +20 -20
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/index.js.jsx +117 -117
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -20
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/index.js.tsx +118 -118
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/routes.js +39 -39
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/routes.js.jsx +48 -48
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -24
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/routes.js.tsx +48 -48
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/templates.js +9 -9
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -9
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -9
- package/bundle/obf/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -9
- package/bundle/obf/src/templates/meteor/app/imports/startup/lib/index.js +1 -1
- package/bundle/obf/src/templates/meteor/app/imports/startup/lib/index.js.jsx +21 -21
- package/bundle/obf/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -1
- package/bundle/obf/src/templates/meteor/app/imports/startup/lib/index.js.tsx +21 -21
- package/bundle/obf/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +48 -48
- package/bundle/obf/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +48 -48
- package/bundle/obf/src/templates/meteor/app/imports/startup/server/index.js +1 -1
- package/bundle/obf/src/templates/meteor/app/imports/startup/server/index.js.jsx +152 -152
- package/bundle/obf/src/templates/meteor/app/imports/startup/server/index.js.tsx +152 -152
- package/bundle/obf/src/templates/meteor/app/imports/ui/test-helpers.js +24 -24
- package/bundle/obf/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -24
- package/bundle/obf/src/templates/meteor/app/lib/main.js +1 -1
- package/bundle/obf/src/templates/meteor/app/lib/main.js.jsx +1 -1
- package/bundle/obf/src/templates/meteor/app/lib/main.js.ts +1 -1
- package/bundle/obf/src/templates/meteor/app/lib/main.js.tsx +1 -1
- package/bundle/obf/src/templates/meteor/app/maka.d.ts +160 -160
- package/bundle/obf/src/templates/meteor/app/meteor.d.ts +955 -955
- package/bundle/obf/src/templates/meteor/app/public/manifest.json +27 -27
- package/bundle/obf/src/templates/meteor/app/public/sw.js +30 -30
- package/bundle/obf/src/templates/meteor/app/public/sw.js.jsx +30 -30
- package/bundle/obf/src/templates/meteor/app/public/sw.js.ts +30 -30
- package/bundle/obf/src/templates/meteor/app/public/sw.js.tsx +30 -30
- package/bundle/obf/src/templates/meteor/app/server/helmet-csp.js +179 -179
- package/bundle/obf/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -179
- package/bundle/obf/src/templates/meteor/app/server/helmet-csp.js.ts +179 -179
- package/bundle/obf/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -179
- package/bundle/obf/src/templates/meteor/app/server/main.app-tests.js +9 -9
- package/bundle/obf/src/templates/meteor/app/server/main.app-tests.js.jsx +9 -9
- package/bundle/obf/src/templates/meteor/app/server/main.app-tests.js.ts +9 -9
- package/bundle/obf/src/templates/meteor/app/server/main.app-tests.js.tsx +9 -9
- package/bundle/obf/src/templates/meteor/app/server/main.js +11 -11
- package/bundle/obf/src/templates/meteor/app/server/main.js.jsx +11 -11
- package/bundle/obf/src/templates/meteor/app/server/main.js.ts +11 -11
- package/bundle/obf/src/templates/meteor/app/server/main.js.tsx +11 -11
- package/bundle/obf/src/templates/meteor/app/tsconfig.json +40 -40
- package/bundle/obf/src/templates/meteor/collection/collection.js +85 -85
- package/bundle/obf/src/templates/meteor/collection/collection.js.ts +97 -97
- package/bundle/obf/src/templates/meteor/collection/tests.js +27 -27
- package/bundle/obf/src/templates/meteor/collection/tests.js.ts +27 -27
- package/bundle/obf/src/templates/meteor/config/docker-compose.yaml +17 -17
- package/bundle/obf/src/templates/meteor/config/pm2.config.js +25 -25
- package/bundle/obf/src/templates/meteor/config/process.env +5 -5
- package/bundle/obf/src/templates/meteor/config/settings.json +11 -11
- package/bundle/obf/src/templates/meteor/config/ssh.json +6 -6
- package/bundle/obf/src/templates/meteor/dbc/config.js +70 -70
- package/bundle/obf/src/templates/meteor/dbc/config.js.ts +70 -70
- package/bundle/obf/src/templates/meteor/dbc/conn.js +37 -37
- package/bundle/obf/src/templates/meteor/dbc/conn.js.ts +37 -37
- package/bundle/obf/src/templates/meteor/dbc/register-dbc.js +3 -3
- package/bundle/obf/src/templates/meteor/dbc/register-dbc.js.ts +3 -3
- package/bundle/obf/src/templates/meteor/method/method.js +48 -48
- package/bundle/obf/src/templates/meteor/method/method.js.ts +48 -48
- package/bundle/obf/src/templates/meteor/package/package.js +37 -37
- package/bundle/obf/src/templates/meteor/package/package.js.jsx +37 -37
- package/bundle/obf/src/templates/meteor/package/package.js.ts +36 -36
- package/bundle/obf/src/templates/meteor/package/package.js.tsx +37 -37
- package/bundle/obf/src/templates/meteor/package/tests/client/package.js +5 -5
- package/bundle/obf/src/templates/meteor/package/tests/client/package.js.jsx +5 -5
- package/bundle/obf/src/templates/meteor/package/tests/client/package.js.ts +5 -5
- package/bundle/obf/src/templates/meteor/package/tests/client/package.js.tsx +5 -5
- package/bundle/obf/src/templates/meteor/package/tests/server/package.js +5 -5
- package/bundle/obf/src/templates/meteor/package/tests/server/package.js.jsx +5 -5
- package/bundle/obf/src/templates/meteor/package/tests/server/package.js.ts +5 -5
- package/bundle/obf/src/templates/meteor/package/tests/server/package.js.tsx +5 -5
- package/bundle/obf/src/templates/meteor/project/.maka/config.json +29 -29
- package/bundle/obf/src/templates/meteor/project/README.md +1 -1
- package/bundle/obf/src/templates/meteor/project/build/README +4 -4
- package/bundle/obf/src/templates/meteor/project/gitignore +7 -7
- package/bundle/obf/src/templates/meteor/project/package.json +20 -20
- package/bundle/obf/src/templates/meteor/publish/publish.js +3 -3
- package/bundle/obf/src/templates/meteor/publish/publish.js.jsx +3 -3
- package/bundle/obf/src/templates/meteor/publish/publish.js.tsx +3 -3
- package/bundle/obf/src/templates/meteor/publish/publish.ts +3 -3
- package/bundle/obf/src/templates/meteor/service/logger/logger.js +27 -27
- package/bundle/obf/src/templates/meteor/service/logger/logger.js.ts +27 -27
- package/bundle/obf/src/templates/meteor/stylesheet/stylesheet.css +5 -5
- package/bundle/obf/src/templates/meteor/stylesheet/stylesheet.css.less +5 -5
- package/bundle/obf/src/templates/meteor/template/template-tests.js +1 -1
- package/bundle/obf/src/templates/meteor/template/template-tests.js.jsx +55 -55
- package/bundle/obf/src/templates/meteor/template/template-tests.js.ts +1 -1
- package/bundle/obf/src/templates/meteor/template/template-tests.js.tsx +55 -55
- package/bundle/obf/src/templates/meteor/template/template.css +3 -3
- package/bundle/obf/src/templates/meteor/template/template.css.less +3 -3
- package/bundle/obf/src/templates/meteor/template/template.css.scss +3 -3
- package/bundle/obf/src/templates/meteor/template/template.html +5 -5
- package/bundle/obf/src/templates/meteor/template/template.js +20 -20
- package/bundle/obf/src/templates/meteor/template/template.js.jsx +77 -77
- package/bundle/obf/src/templates/meteor/template/template.js.ts +1 -1
- package/bundle/obf/src/templates/meteor/template/template.js.tsx +89 -89
- package/bundle/obf/src/templates/react/component/component.css +6 -6
- package/bundle/obf/src/templates/react/component/component.css.less +6 -6
- package/bundle/obf/src/templates/react/component/component.css.scss +3 -3
- package/bundle/obf/src/templates/react/component/component.js.jsx +63 -63
- package/bundle/obf/src/templates/react/component/component.js.tsx +68 -68
- package/bundle/obf/src/templates/react/hook/hook.css +3 -3
- package/bundle/obf/src/templates/react/hook/hook.css.scss +3 -3
- package/bundle/obf/src/templates/react/hook/hook.js +1 -1
- package/bundle/obf/src/templates/react/hook/hook.js.jsx +24 -24
- package/bundle/obf/src/templates/react/hook/hook.js.tsx +23 -23
- package/bundle/obf/src/templates/react/kit/esri/map/basic-map.js.jsx +27 -27
- package/bundle/obf/src/templates/react/kit/esri/map/basic-map.js.tsx +29 -29
- package/bundle/obf/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.jsx +41 -41
- package/bundle/obf/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.tsx +40 -40
- package/bundle/obf/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.jsx +118 -118
- package/bundle/obf/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.tsx +116 -116
- package/bundle/obf/src/templates/react/route/route.js +8 -8
- package/bundle/obf/src/templates/react/route/route.js.jsx +8 -8
- package/bundle/obf/src/templates/react/route/route.js.ts +8 -8
- package/bundle/obf/src/templates/react/route/route.js.tsx +8 -8
- package/bundle/obf/src/templates/react/test/test.js +1 -1
- package/bundle/obf/src/templates/react/test/test.js.jsx +41 -41
- package/bundle/obf/src/templates/react/test/test.js.ts +1 -1
- package/bundle/obf/src/templates/react/test/test.js.tsx +41 -41
- package/bundle/obf/src/templates/service/docker/Dockerfile +54 -54
- package/bundle/obf/src/templates/service/eslint/eslintrc.json +33 -33
- package/bundle/obf/src/templates/service/i18n/i18n.js +33 -33
- package/bundle/obf/src/templates/service/i18n/i18n.js.ts +33 -33
- package/bundle/obf/src/templates/service/i18n/locales.js +3 -3
- package/bundle/obf/src/templates/service/i18n/locales.js.ts +3 -3
- package/bundle/obf/src/templates/service/openssl/openssl.conf +22 -22
- 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/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/options/options.class.js +1 -1
- package/bundle/obf/src/tools/progress/progress.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/jest.config.js +11 -11
- package/obfuscator.json +29 -29
- package/package.json +127 -127
- package/tsconfig.json +23 -23
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
{
|
|
2
|
-
"short_name": "<%= app %>",
|
|
3
|
-
"name": "<%= app %>",
|
|
4
|
-
"start_url": "/",
|
|
5
|
-
"background_color": "#FFF",
|
|
6
|
-
"display": "standalone",
|
|
7
|
-
"scope": "/",
|
|
8
|
-
"theme_color": "#FFF",
|
|
9
|
-
"icons": [
|
|
10
|
-
{
|
|
11
|
-
"src": "/maka-144x144.png",
|
|
12
|
-
"sizes": "144x144",
|
|
13
|
-
"type": "image/png"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"src": "/maka-512x512.png",
|
|
17
|
-
"sizes": "512x512",
|
|
18
|
-
"type": "image/png"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"src": "/maka-192x192.png",
|
|
22
|
-
"sizes": "192x192",
|
|
23
|
-
"type": "image/png",
|
|
24
|
-
"purpose": "any maskable"
|
|
25
|
-
}
|
|
26
|
-
]
|
|
27
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"short_name": "<%= app %>",
|
|
3
|
+
"name": "<%= app %>",
|
|
4
|
+
"start_url": "/",
|
|
5
|
+
"background_color": "#FFF",
|
|
6
|
+
"display": "standalone",
|
|
7
|
+
"scope": "/",
|
|
8
|
+
"theme_color": "#FFF",
|
|
9
|
+
"icons": [
|
|
10
|
+
{
|
|
11
|
+
"src": "/maka-144x144.png",
|
|
12
|
+
"sizes": "144x144",
|
|
13
|
+
"type": "image/png"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"src": "/maka-512x512.png",
|
|
17
|
+
"sizes": "512x512",
|
|
18
|
+
"type": "image/png"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"src": "/maka-192x192.png",
|
|
22
|
+
"sizes": "192x192",
|
|
23
|
+
"type": "image/png",
|
|
24
|
+
"purpose": "any maskable"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
const cacheName = 'cache-v1';
|
|
2
|
-
const precacheResources = [
|
|
3
|
-
'/',
|
|
4
|
-
];
|
|
5
|
-
|
|
6
|
-
self.addEventListener('install', event => {
|
|
7
|
-
console.log('Service worker install event!');
|
|
8
|
-
event.waitUntil(
|
|
9
|
-
caches.open(cacheName)
|
|
10
|
-
.then(cache => {
|
|
11
|
-
return cache.addAll(precacheResources);
|
|
12
|
-
})
|
|
13
|
-
);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
self.addEventListener('activate', event => {
|
|
17
|
-
console.log('Service worker activate event!');
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
self.addEventListener('fetch', event => {
|
|
21
|
-
console.log('Fetch intercepted for:', event.request.url);
|
|
22
|
-
event.respondWith(caches.match(event.request)
|
|
23
|
-
.then(cachedResponse => {
|
|
24
|
-
if (cachedResponse) {
|
|
25
|
-
return cachedResponse;
|
|
26
|
-
}
|
|
27
|
-
return fetch(event.request);
|
|
28
|
-
})
|
|
29
|
-
);
|
|
30
|
-
});
|
|
1
|
+
const cacheName = 'cache-v1';
|
|
2
|
+
const precacheResources = [
|
|
3
|
+
'/',
|
|
4
|
+
];
|
|
5
|
+
|
|
6
|
+
self.addEventListener('install', event => {
|
|
7
|
+
console.log('Service worker install event!');
|
|
8
|
+
event.waitUntil(
|
|
9
|
+
caches.open(cacheName)
|
|
10
|
+
.then(cache => {
|
|
11
|
+
return cache.addAll(precacheResources);
|
|
12
|
+
})
|
|
13
|
+
);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
self.addEventListener('activate', event => {
|
|
17
|
+
console.log('Service worker activate event!');
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
self.addEventListener('fetch', event => {
|
|
21
|
+
console.log('Fetch intercepted for:', event.request.url);
|
|
22
|
+
event.respondWith(caches.match(event.request)
|
|
23
|
+
.then(cachedResponse => {
|
|
24
|
+
if (cachedResponse) {
|
|
25
|
+
return cachedResponse;
|
|
26
|
+
}
|
|
27
|
+
return fetch(event.request);
|
|
28
|
+
})
|
|
29
|
+
);
|
|
30
|
+
});
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
const cacheName = 'cache-v1';
|
|
2
|
-
const precacheResources = [
|
|
3
|
-
'/',
|
|
4
|
-
];
|
|
5
|
-
|
|
6
|
-
self.addEventListener('install', event => {
|
|
7
|
-
console.log('Service worker install event!');
|
|
8
|
-
event.waitUntil(
|
|
9
|
-
caches.open(cacheName)
|
|
10
|
-
.then(cache => {
|
|
11
|
-
return cache.addAll(precacheResources);
|
|
12
|
-
})
|
|
13
|
-
);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
self.addEventListener('activate', event => {
|
|
17
|
-
console.log('Service worker activate event!');
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
self.addEventListener('fetch', event => {
|
|
21
|
-
console.log('Fetch intercepted for:', event.request.url);
|
|
22
|
-
event.respondWith(caches.match(event.request)
|
|
23
|
-
.then(cachedResponse => {
|
|
24
|
-
if (cachedResponse) {
|
|
25
|
-
return cachedResponse;
|
|
26
|
-
}
|
|
27
|
-
return fetch(event.request);
|
|
28
|
-
})
|
|
29
|
-
);
|
|
30
|
-
});
|
|
1
|
+
const cacheName = 'cache-v1';
|
|
2
|
+
const precacheResources = [
|
|
3
|
+
'/',
|
|
4
|
+
];
|
|
5
|
+
|
|
6
|
+
self.addEventListener('install', event => {
|
|
7
|
+
console.log('Service worker install event!');
|
|
8
|
+
event.waitUntil(
|
|
9
|
+
caches.open(cacheName)
|
|
10
|
+
.then(cache => {
|
|
11
|
+
return cache.addAll(precacheResources);
|
|
12
|
+
})
|
|
13
|
+
);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
self.addEventListener('activate', event => {
|
|
17
|
+
console.log('Service worker activate event!');
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
self.addEventListener('fetch', event => {
|
|
21
|
+
console.log('Fetch intercepted for:', event.request.url);
|
|
22
|
+
event.respondWith(caches.match(event.request)
|
|
23
|
+
.then(cachedResponse => {
|
|
24
|
+
if (cachedResponse) {
|
|
25
|
+
return cachedResponse;
|
|
26
|
+
}
|
|
27
|
+
return fetch(event.request);
|
|
28
|
+
})
|
|
29
|
+
);
|
|
30
|
+
});
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
const cacheName = 'cache-v1';
|
|
2
|
-
const precacheResources = [
|
|
3
|
-
'/',
|
|
4
|
-
];
|
|
5
|
-
|
|
6
|
-
self.addEventListener('install', event => {
|
|
7
|
-
console.log('Service worker install event!');
|
|
8
|
-
event.waitUntil(
|
|
9
|
-
caches.open(cacheName)
|
|
10
|
-
.then(cache => {
|
|
11
|
-
return cache.addAll(precacheResources);
|
|
12
|
-
})
|
|
13
|
-
);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
self.addEventListener('activate', event => {
|
|
17
|
-
console.log('Service worker activate event!');
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
self.addEventListener('fetch', event => {
|
|
21
|
-
console.log('Fetch intercepted for:', event.request.url);
|
|
22
|
-
event.respondWith(caches.match(event.request)
|
|
23
|
-
.then(cachedResponse => {
|
|
24
|
-
if (cachedResponse) {
|
|
25
|
-
return cachedResponse;
|
|
26
|
-
}
|
|
27
|
-
return fetch(event.request);
|
|
28
|
-
})
|
|
29
|
-
);
|
|
30
|
-
});
|
|
1
|
+
const cacheName = 'cache-v1';
|
|
2
|
+
const precacheResources = [
|
|
3
|
+
'/',
|
|
4
|
+
];
|
|
5
|
+
|
|
6
|
+
self.addEventListener('install', event => {
|
|
7
|
+
console.log('Service worker install event!');
|
|
8
|
+
event.waitUntil(
|
|
9
|
+
caches.open(cacheName)
|
|
10
|
+
.then(cache => {
|
|
11
|
+
return cache.addAll(precacheResources);
|
|
12
|
+
})
|
|
13
|
+
);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
self.addEventListener('activate', event => {
|
|
17
|
+
console.log('Service worker activate event!');
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
self.addEventListener('fetch', event => {
|
|
21
|
+
console.log('Fetch intercepted for:', event.request.url);
|
|
22
|
+
event.respondWith(caches.match(event.request)
|
|
23
|
+
.then(cachedResponse => {
|
|
24
|
+
if (cachedResponse) {
|
|
25
|
+
return cachedResponse;
|
|
26
|
+
}
|
|
27
|
+
return fetch(event.request);
|
|
28
|
+
})
|
|
29
|
+
);
|
|
30
|
+
});
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
const cacheName = 'cache-v1';
|
|
2
|
-
const precacheResources = [
|
|
3
|
-
'/',
|
|
4
|
-
];
|
|
5
|
-
|
|
6
|
-
self.addEventListener('install', event => {
|
|
7
|
-
console.log('Service worker install event!');
|
|
8
|
-
event.waitUntil(
|
|
9
|
-
caches.open(cacheName)
|
|
10
|
-
.then(cache => {
|
|
11
|
-
return cache.addAll(precacheResources);
|
|
12
|
-
})
|
|
13
|
-
);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
self.addEventListener('activate', event => {
|
|
17
|
-
console.log('Service worker activate event!');
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
self.addEventListener('fetch', event => {
|
|
21
|
-
console.log('Fetch intercepted for:', event.request.url);
|
|
22
|
-
event.respondWith(caches.match(event.request)
|
|
23
|
-
.then(cachedResponse => {
|
|
24
|
-
if (cachedResponse) {
|
|
25
|
-
return cachedResponse;
|
|
26
|
-
}
|
|
27
|
-
return fetch(event.request);
|
|
28
|
-
})
|
|
29
|
-
);
|
|
30
|
-
});
|
|
1
|
+
const cacheName = 'cache-v1';
|
|
2
|
+
const precacheResources = [
|
|
3
|
+
'/',
|
|
4
|
+
];
|
|
5
|
+
|
|
6
|
+
self.addEventListener('install', event => {
|
|
7
|
+
console.log('Service worker install event!');
|
|
8
|
+
event.waitUntil(
|
|
9
|
+
caches.open(cacheName)
|
|
10
|
+
.then(cache => {
|
|
11
|
+
return cache.addAll(precacheResources);
|
|
12
|
+
})
|
|
13
|
+
);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
self.addEventListener('activate', event => {
|
|
17
|
+
console.log('Service worker activate event!');
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
self.addEventListener('fetch', event => {
|
|
21
|
+
console.log('Fetch intercepted for:', event.request.url);
|
|
22
|
+
event.respondWith(caches.match(event.request)
|
|
23
|
+
.then(cachedResponse => {
|
|
24
|
+
if (cachedResponse) {
|
|
25
|
+
return cachedResponse;
|
|
26
|
+
}
|
|
27
|
+
return fetch(event.request);
|
|
28
|
+
})
|
|
29
|
+
);
|
|
30
|
+
});
|
|
@@ -1,179 +1,179 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Content Security Policy (CSP)
|
|
3
|
-
* https://guide.meteor.com/security.html#httpheaders
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/* global __meteor_runtime_config__ */
|
|
7
|
-
import { Meteor } from 'meteor/meteor'
|
|
8
|
-
import { WebApp } from 'meteor/webapp'
|
|
9
|
-
import { Autoupdate } from 'meteor/autoupdate'
|
|
10
|
-
import crypto from 'crypto'
|
|
11
|
-
|
|
12
|
-
const self = '\'self\''
|
|
13
|
-
const data = 'data:'
|
|
14
|
-
const unsafeEval = '\'unsafe-eval\''
|
|
15
|
-
const unsafeInline = '\'unsafe-inline\''
|
|
16
|
-
const allowedOrigins = Meteor.settings.extraAllowedOrigins;
|
|
17
|
-
const devAllowedOrigins = Meteor.settings.devAllowedOrigins;
|
|
18
|
-
|
|
19
|
-
// create the default connect source for our current domain in
|
|
20
|
-
// a multi-protocol compatible way (http/ws or https/wss)
|
|
21
|
-
const url = Meteor.absoluteUrl()
|
|
22
|
-
const domain = url.replace(/http(s)*:\/\//, '').replace(/\/$/, '')
|
|
23
|
-
const s = url.match(/(?!=http)s(?=:\/\/)/) ? 's' : ''
|
|
24
|
-
const usesHttps = s.length > 0
|
|
25
|
-
const connectSrc = [
|
|
26
|
-
self,
|
|
27
|
-
`http${s}://${domain}`,
|
|
28
|
-
`ws${s}://${domain}`
|
|
29
|
-
]
|
|
30
|
-
|
|
31
|
-
// Prepare runtime config for generating the sha256 hash
|
|
32
|
-
// It is important, that the hash meets exactly the hash of the
|
|
33
|
-
// script in the client bundle.
|
|
34
|
-
// Otherwise the app would not be able to start, since the runtimeConfigScript
|
|
35
|
-
// is rejected __meteor_runtime_config__ is not available, causing
|
|
36
|
-
// a cascade of follow-up errors.
|
|
37
|
-
const runtimeConfig = Object.assign(__meteor_runtime_config__, Autoupdate, {
|
|
38
|
-
// the following lines may depend on, whether you called Accounts.config
|
|
39
|
-
// and whether your Meteor app is a "newer" version
|
|
40
|
-
accountsConfigCalled: true,
|
|
41
|
-
isModern: true
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
// add client versions to __meteor_runtime_config__
|
|
45
|
-
Object.keys(WebApp.clientPrograms).forEach(arch => {
|
|
46
|
-
__meteor_runtime_config__.versions[arch] = {
|
|
47
|
-
version: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].version(),
|
|
48
|
-
versionRefreshable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionRefreshable(),
|
|
49
|
-
versionNonRefreshable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionNonRefreshable(),
|
|
50
|
-
// comment the following line if you use Meteor < 2.0
|
|
51
|
-
versionReplaceable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionReplaceable()
|
|
52
|
-
}
|
|
53
|
-
})
|
|
54
|
-
|
|
55
|
-
const runtimeConfigScript = `__meteor_runtime_config__ = JSON.parse(decodeURIComponent("${encodeURIComponent(JSON.stringify(runtimeConfig))}"))`
|
|
56
|
-
const runtimeConfigHash = crypto.createHash('sha256').update(runtimeConfigScript).digest('base64')
|
|
57
|
-
|
|
58
|
-
const helmetOptions = {
|
|
59
|
-
crossOriginOpenerPolicy: { policy: "same-origin-allow-popups" },
|
|
60
|
-
crossOriginResourcePolicy: true,
|
|
61
|
-
//If you want to embed something like an iframe, set to false
|
|
62
|
-
//If this is truu, site's won't be able to link to you
|
|
63
|
-
crossOriginEmbedderPolicy: false,
|
|
64
|
-
contentSecurityPolicy: {
|
|
65
|
-
blockAllMixedContent: true,
|
|
66
|
-
directives: {
|
|
67
|
-
defaultSrc: [self].concat(allowedOrigins),
|
|
68
|
-
scriptSrc: [
|
|
69
|
-
self,
|
|
70
|
-
// Remove / comment out unsafeEval if you do not use dynamic imports
|
|
71
|
-
// to tighten security. However, if you use dynamic imports this line
|
|
72
|
-
// must be kept in order to make them work.
|
|
73
|
-
unsafeEval,
|
|
74
|
-
`'sha256-${runtimeConfigHash}'`
|
|
75
|
-
].concat(allowedOrigins),
|
|
76
|
-
childSrc: [self].concat(allowedOrigins),
|
|
77
|
-
// If you have external apps, that should be allowed as sources for
|
|
78
|
-
// connections or images, your should add them here
|
|
79
|
-
// Call helmetOptions() without args if you have no external sources
|
|
80
|
-
// Note, that this is just an example and you may configure this to your needs
|
|
81
|
-
connectSrc: connectSrc.concat(allowedOrigins),
|
|
82
|
-
fontSrc: [self, data].concat(allowedOrigins),
|
|
83
|
-
formAction: [self].concat(allowedOrigins),
|
|
84
|
-
frameAncestors: [self].concat(allowedOrigins),
|
|
85
|
-
frameSrc: [self].concat(allowedOrigins),
|
|
86
|
-
// This is an example to show, that we can define to show images only
|
|
87
|
-
// from our self, browser data/blob and a defined set of hosts.
|
|
88
|
-
// Configure to your needs.
|
|
89
|
-
imgSrc: [self, data, 'blob:'].concat(allowedOrigins),
|
|
90
|
-
manifestSrc: [self].concat(allowedOrigins),
|
|
91
|
-
mediaSrc: [self].concat(allowedOrigins),
|
|
92
|
-
objectSrc: [self].concat(allowedOrigins),
|
|
93
|
-
// these are just examples, configure to your needs, see
|
|
94
|
-
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox
|
|
95
|
-
sandbox: [
|
|
96
|
-
// allow-downloads-without-user-activation // experimental
|
|
97
|
-
'allow-forms',
|
|
98
|
-
'allow-modals',
|
|
99
|
-
// 'allow-orientation-lock',
|
|
100
|
-
// 'allow-pointer-lock',
|
|
101
|
-
'allow-popups',
|
|
102
|
-
// 'allow-popups-to-escape-sandbox',
|
|
103
|
-
// 'allow-presentation',
|
|
104
|
-
'allow-same-origin',
|
|
105
|
-
'allow-scripts',
|
|
106
|
-
// 'allow-storage-access-by-user-activation ', // experimental
|
|
107
|
-
// 'allow-top-navigation',
|
|
108
|
-
// 'allow-top-navigation-by-user-activation'
|
|
109
|
-
],
|
|
110
|
-
styleSrc: [self, unsafeInline].concat(allowedOrigins),
|
|
111
|
-
workerSrc: [self, 'blob:'].concat(allowedOrigins)
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
// see the helmet documentation to get a better understanding of
|
|
115
|
-
// the following configurations and settings
|
|
116
|
-
strictTransportSecurity: {
|
|
117
|
-
maxAge: 15552000,
|
|
118
|
-
includeSubDomains: true,
|
|
119
|
-
preload: false
|
|
120
|
-
},
|
|
121
|
-
referrerPolicy: {
|
|
122
|
-
policy: 'no-referrer'
|
|
123
|
-
},
|
|
124
|
-
expectCt: {
|
|
125
|
-
enforce: true,
|
|
126
|
-
maxAge: 604800
|
|
127
|
-
},
|
|
128
|
-
frameguard: {
|
|
129
|
-
action: 'sameorigin'
|
|
130
|
-
},
|
|
131
|
-
dnsPrefetchControl: {
|
|
132
|
-
allow: false
|
|
133
|
-
},
|
|
134
|
-
permittedCrossDomainPolicies: {
|
|
135
|
-
permittedPolicies: 'none'
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
// We assume, that we are working on a localhost when there is no https
|
|
140
|
-
// connection available.
|
|
141
|
-
// Run your project with --production flag to simulate script-src hashing
|
|
142
|
-
if (!usesHttps && Meteor.isDevelopment) {
|
|
143
|
-
delete helmetOptions.contentSecurityPolicy.blockAllMixedContent;
|
|
144
|
-
helmetOptions.contentSecurityPolicy.directives.scriptSrc = [
|
|
145
|
-
self,
|
|
146
|
-
devAllowedOrigins.join(' '),
|
|
147
|
-
data,
|
|
148
|
-
unsafeEval,
|
|
149
|
-
unsafeInline,
|
|
150
|
-
];
|
|
151
|
-
|
|
152
|
-
helmetOptions.contentSecurityPolicy.directives.styleSrc = [
|
|
153
|
-
self,
|
|
154
|
-
devAllowedOrigins.join(' '),
|
|
155
|
-
data,
|
|
156
|
-
unsafeEval,
|
|
157
|
-
unsafeInline,
|
|
158
|
-
];
|
|
159
|
-
|
|
160
|
-
helmetOptions.contentSecurityPolicy.directives.imgSrc = [
|
|
161
|
-
self,
|
|
162
|
-
devAllowedOrigins.join(' '),
|
|
163
|
-
data,
|
|
164
|
-
unsafeEval,
|
|
165
|
-
unsafeInline,
|
|
166
|
-
];
|
|
167
|
-
|
|
168
|
-
helmetOptions.contentSecurityPolicy.directives.fontSrc = [
|
|
169
|
-
self,
|
|
170
|
-
devAllowedOrigins.join(' '),
|
|
171
|
-
data,
|
|
172
|
-
unsafeEval,
|
|
173
|
-
unsafeInline,
|
|
174
|
-
];
|
|
175
|
-
|
|
176
|
-
helmetOptions.contentSecurityPolicy.directives['script-src-attr'] = null;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
export default helmetOptions;
|
|
1
|
+
/*
|
|
2
|
+
* Content Security Policy (CSP)
|
|
3
|
+
* https://guide.meteor.com/security.html#httpheaders
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/* global __meteor_runtime_config__ */
|
|
7
|
+
import { Meteor } from 'meteor/meteor'
|
|
8
|
+
import { WebApp } from 'meteor/webapp'
|
|
9
|
+
import { Autoupdate } from 'meteor/autoupdate'
|
|
10
|
+
import crypto from 'crypto'
|
|
11
|
+
|
|
12
|
+
const self = '\'self\''
|
|
13
|
+
const data = 'data:'
|
|
14
|
+
const unsafeEval = '\'unsafe-eval\''
|
|
15
|
+
const unsafeInline = '\'unsafe-inline\''
|
|
16
|
+
const allowedOrigins = Meteor.settings.extraAllowedOrigins;
|
|
17
|
+
const devAllowedOrigins = Meteor.settings.devAllowedOrigins;
|
|
18
|
+
|
|
19
|
+
// create the default connect source for our current domain in
|
|
20
|
+
// a multi-protocol compatible way (http/ws or https/wss)
|
|
21
|
+
const url = Meteor.absoluteUrl()
|
|
22
|
+
const domain = url.replace(/http(s)*:\/\//, '').replace(/\/$/, '')
|
|
23
|
+
const s = url.match(/(?!=http)s(?=:\/\/)/) ? 's' : ''
|
|
24
|
+
const usesHttps = s.length > 0
|
|
25
|
+
const connectSrc = [
|
|
26
|
+
self,
|
|
27
|
+
`http${s}://${domain}`,
|
|
28
|
+
`ws${s}://${domain}`
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
// Prepare runtime config for generating the sha256 hash
|
|
32
|
+
// It is important, that the hash meets exactly the hash of the
|
|
33
|
+
// script in the client bundle.
|
|
34
|
+
// Otherwise the app would not be able to start, since the runtimeConfigScript
|
|
35
|
+
// is rejected __meteor_runtime_config__ is not available, causing
|
|
36
|
+
// a cascade of follow-up errors.
|
|
37
|
+
const runtimeConfig = Object.assign(__meteor_runtime_config__, Autoupdate, {
|
|
38
|
+
// the following lines may depend on, whether you called Accounts.config
|
|
39
|
+
// and whether your Meteor app is a "newer" version
|
|
40
|
+
accountsConfigCalled: true,
|
|
41
|
+
isModern: true
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
// add client versions to __meteor_runtime_config__
|
|
45
|
+
Object.keys(WebApp.clientPrograms).forEach(arch => {
|
|
46
|
+
__meteor_runtime_config__.versions[arch] = {
|
|
47
|
+
version: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].version(),
|
|
48
|
+
versionRefreshable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionRefreshable(),
|
|
49
|
+
versionNonRefreshable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionNonRefreshable(),
|
|
50
|
+
// comment the following line if you use Meteor < 2.0
|
|
51
|
+
versionReplaceable: Autoupdate.autoupdateVersion || WebApp.clientPrograms[arch].versionReplaceable()
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
const runtimeConfigScript = `__meteor_runtime_config__ = JSON.parse(decodeURIComponent("${encodeURIComponent(JSON.stringify(runtimeConfig))}"))`
|
|
56
|
+
const runtimeConfigHash = crypto.createHash('sha256').update(runtimeConfigScript).digest('base64')
|
|
57
|
+
|
|
58
|
+
const helmetOptions = {
|
|
59
|
+
crossOriginOpenerPolicy: { policy: "same-origin-allow-popups" },
|
|
60
|
+
crossOriginResourcePolicy: true,
|
|
61
|
+
//If you want to embed something like an iframe, set to false
|
|
62
|
+
//If this is truu, site's won't be able to link to you
|
|
63
|
+
crossOriginEmbedderPolicy: false,
|
|
64
|
+
contentSecurityPolicy: {
|
|
65
|
+
blockAllMixedContent: true,
|
|
66
|
+
directives: {
|
|
67
|
+
defaultSrc: [self].concat(allowedOrigins),
|
|
68
|
+
scriptSrc: [
|
|
69
|
+
self,
|
|
70
|
+
// Remove / comment out unsafeEval if you do not use dynamic imports
|
|
71
|
+
// to tighten security. However, if you use dynamic imports this line
|
|
72
|
+
// must be kept in order to make them work.
|
|
73
|
+
unsafeEval,
|
|
74
|
+
`'sha256-${runtimeConfigHash}'`
|
|
75
|
+
].concat(allowedOrigins),
|
|
76
|
+
childSrc: [self].concat(allowedOrigins),
|
|
77
|
+
// If you have external apps, that should be allowed as sources for
|
|
78
|
+
// connections or images, your should add them here
|
|
79
|
+
// Call helmetOptions() without args if you have no external sources
|
|
80
|
+
// Note, that this is just an example and you may configure this to your needs
|
|
81
|
+
connectSrc: connectSrc.concat(allowedOrigins),
|
|
82
|
+
fontSrc: [self, data].concat(allowedOrigins),
|
|
83
|
+
formAction: [self].concat(allowedOrigins),
|
|
84
|
+
frameAncestors: [self].concat(allowedOrigins),
|
|
85
|
+
frameSrc: [self].concat(allowedOrigins),
|
|
86
|
+
// This is an example to show, that we can define to show images only
|
|
87
|
+
// from our self, browser data/blob and a defined set of hosts.
|
|
88
|
+
// Configure to your needs.
|
|
89
|
+
imgSrc: [self, data, 'blob:'].concat(allowedOrigins),
|
|
90
|
+
manifestSrc: [self].concat(allowedOrigins),
|
|
91
|
+
mediaSrc: [self].concat(allowedOrigins),
|
|
92
|
+
objectSrc: [self].concat(allowedOrigins),
|
|
93
|
+
// these are just examples, configure to your needs, see
|
|
94
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox
|
|
95
|
+
sandbox: [
|
|
96
|
+
// allow-downloads-without-user-activation // experimental
|
|
97
|
+
'allow-forms',
|
|
98
|
+
'allow-modals',
|
|
99
|
+
// 'allow-orientation-lock',
|
|
100
|
+
// 'allow-pointer-lock',
|
|
101
|
+
'allow-popups',
|
|
102
|
+
// 'allow-popups-to-escape-sandbox',
|
|
103
|
+
// 'allow-presentation',
|
|
104
|
+
'allow-same-origin',
|
|
105
|
+
'allow-scripts',
|
|
106
|
+
// 'allow-storage-access-by-user-activation ', // experimental
|
|
107
|
+
// 'allow-top-navigation',
|
|
108
|
+
// 'allow-top-navigation-by-user-activation'
|
|
109
|
+
],
|
|
110
|
+
styleSrc: [self, unsafeInline].concat(allowedOrigins),
|
|
111
|
+
workerSrc: [self, 'blob:'].concat(allowedOrigins)
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
// see the helmet documentation to get a better understanding of
|
|
115
|
+
// the following configurations and settings
|
|
116
|
+
strictTransportSecurity: {
|
|
117
|
+
maxAge: 15552000,
|
|
118
|
+
includeSubDomains: true,
|
|
119
|
+
preload: false
|
|
120
|
+
},
|
|
121
|
+
referrerPolicy: {
|
|
122
|
+
policy: 'no-referrer'
|
|
123
|
+
},
|
|
124
|
+
expectCt: {
|
|
125
|
+
enforce: true,
|
|
126
|
+
maxAge: 604800
|
|
127
|
+
},
|
|
128
|
+
frameguard: {
|
|
129
|
+
action: 'sameorigin'
|
|
130
|
+
},
|
|
131
|
+
dnsPrefetchControl: {
|
|
132
|
+
allow: false
|
|
133
|
+
},
|
|
134
|
+
permittedCrossDomainPolicies: {
|
|
135
|
+
permittedPolicies: 'none'
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
// We assume, that we are working on a localhost when there is no https
|
|
140
|
+
// connection available.
|
|
141
|
+
// Run your project with --production flag to simulate script-src hashing
|
|
142
|
+
if (!usesHttps && Meteor.isDevelopment) {
|
|
143
|
+
delete helmetOptions.contentSecurityPolicy.blockAllMixedContent;
|
|
144
|
+
helmetOptions.contentSecurityPolicy.directives.scriptSrc = [
|
|
145
|
+
self,
|
|
146
|
+
devAllowedOrigins.join(' '),
|
|
147
|
+
data,
|
|
148
|
+
unsafeEval,
|
|
149
|
+
unsafeInline,
|
|
150
|
+
];
|
|
151
|
+
|
|
152
|
+
helmetOptions.contentSecurityPolicy.directives.styleSrc = [
|
|
153
|
+
self,
|
|
154
|
+
devAllowedOrigins.join(' '),
|
|
155
|
+
data,
|
|
156
|
+
unsafeEval,
|
|
157
|
+
unsafeInline,
|
|
158
|
+
];
|
|
159
|
+
|
|
160
|
+
helmetOptions.contentSecurityPolicy.directives.imgSrc = [
|
|
161
|
+
self,
|
|
162
|
+
devAllowedOrigins.join(' '),
|
|
163
|
+
data,
|
|
164
|
+
unsafeEval,
|
|
165
|
+
unsafeInline,
|
|
166
|
+
];
|
|
167
|
+
|
|
168
|
+
helmetOptions.contentSecurityPolicy.directives.fontSrc = [
|
|
169
|
+
self,
|
|
170
|
+
devAllowedOrigins.join(' '),
|
|
171
|
+
data,
|
|
172
|
+
unsafeEval,
|
|
173
|
+
unsafeInline,
|
|
174
|
+
];
|
|
175
|
+
|
|
176
|
+
helmetOptions.contentSecurityPolicy.directives['script-src-attr'] = null;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export default helmetOptions;
|