Slide 1

Slide 1 text

Merpay での半年間

Slide 2

Slide 2 text

Self Introduction

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

ins0.jp

Slide 10

Slide 10 text

Merpay Frontend Team

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

CS Tool Merpay Partners Admin Tool Merchants Registration Form Campaign LP Coupon WebView

Slide 13

Slide 13 text

Campaign LP / Coupon WebView

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Designers can operation by itself

Slide 17

Slide 17 text

Componentization Encapsulation Templating Simplicity

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

export function denyProduction({ env, error }: Context) { if (env.APP_ENV === 'production') { return error({ statusCode: 404 }); } }

Slide 20

Slide 20 text

export function staticAssetsAccessControl(this: any, moduleOptions: ModuleOptions) { this.nuxt.hook('render:setupMiddleware', (app: Server) => { app.use((req: http.IncomingMessage, res: http.ServerResponse, next: (err?: any) => void) => { const { pathname } = parseUrl(req.url); if (/* check the `pathname` */) { return options.denyCallback(res); } return next(); }); });

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

$ npm ci --production Ignore unnecessary files with .dockerignore Execute test and build in parallel

Slide 24

Slide 24 text

jobs: upload_sourcemap: executor: sentry_cli steps: - checkout - attach_workspace: at: *workspace_root - run: shell: /bin/bash -euo pipefail command: | RELEASE_NAME=$(cat ./package.json | jq -r .version) URL_PREFIX=https://static-coupon.merpay.com/nuxt sentry-cli --auth-token=${SENTRY_AUTH_TOKEN} releases files ${RELEASE_NAME} \ upload-sourcemaps .nuxt/dist/client --no-rewrite --url-prefix=${URL_PREFIX}

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content