├── .babelrc ├── .gitignore ├── src ├── views │ ├── index.html │ ├── components │ │ ├── nav-logged-out.js │ │ └── nav-logged-in.js │ ├── client.js │ ├── pages │ │ ├── home.js │ │ └── login.js │ ├── app.css │ ├── index.js │ └── app.js ├── html │ ├── get-index │ │ ├── package.json │ │ ├── index.js │ │ └── package-lock.json │ ├── get-login │ │ ├── package.json │ │ ├── index.js │ │ └── package-lock.json │ ├── post-login │ │ ├── package.json │ │ ├── index.js │ │ └── package-lock.json │ └── post-logout │ │ ├── package.json │ │ ├── index.js │ │ └── package-lock.json └── json │ ├── post-api-login │ ├── package.json │ ├── index.js │ └── package-lock.json │ └── post-api-logout │ ├── package.json │ ├── index.js │ └── package-lock.json ├── rollup.config.js ├── .arc ├── readme.md └── package.json /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react"] 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .cache/ 2 | .static/ 3 | node_modules/ 4 | src/shared/views/ 5 | -------------------------------------------------------------------------------- /src/views/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/html/get-index/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-get-index", 3 | "dependencies": { 4 | "@architect/functions": "^1.6.3" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/html/get-login/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-get-login", 3 | "dependencies": { 4 | "@architect/functions": "^1.6.3" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/html/post-login/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-post-login", 3 | "dependencies": { 4 | "@architect/functions": "^1.6.3" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/html/post-logout/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-post-logout", 3 | "dependencies": { 4 | "@architect/functions": "^1.6.3" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/json/post-api-login/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-post-api-login", 3 | "dependencies": { 4 | "@architect/functions": "^1.6.3" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/json/post-api-logout/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-post-api-logout", 3 | "dependencies": { 4 | "@architect/functions": "^1.6.3" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/json/post-api-logout/index.js: -------------------------------------------------------------------------------- 1 | var arc = require('@architect/functions') 2 | 3 | function route(req, res) { 4 | res({ 5 | session: {}, 6 | json: {ok:true} 7 | }) 8 | } 9 | 10 | exports.handler = arc.json.post(route) 11 | -------------------------------------------------------------------------------- /src/html/post-logout/index.js: -------------------------------------------------------------------------------- 1 | var arc = require('@architect/functions') 2 | 3 | function route(req, res) { 4 | res({ 5 | session: {}, 6 | location: req._url('/') 7 | }) 8 | } 9 | 10 | exports.handler = arc.html.post(route) 11 | -------------------------------------------------------------------------------- /src/views/components/nav-logged-out.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export default function NavLoggedOut(props) { 4 | return ( 5 | 9 | ) 10 | } 11 | -------------------------------------------------------------------------------- /src/views/client.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom' 3 | 4 | import './app.css' 5 | import App from './app' 6 | 7 | ReactDOM.render( 8 | , 12 | document.getElementById('root') 13 | ) 14 | -------------------------------------------------------------------------------- /src/views/pages/home.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export default function Home(props) { 4 | return ( 5 |
6 |

Home Page

7 |

You need to be logged in to see this.

8 | 14 |
15 | ) 16 | } 17 | -------------------------------------------------------------------------------- /src/json/post-api-login/index.js: -------------------------------------------------------------------------------- 1 | var arc = require('@architect/functions') 2 | 3 | function route(req, res) { 4 | var loggedIn = req.body.username=== 'admin' && 5 | req.body.password === 'admin' 6 | res({ 7 | session: { 8 | account: loggedIn, 9 | }, 10 | json: {ok: loggedIn} 11 | }) 12 | } 13 | 14 | exports.handler = arc.json.post(route) 15 | -------------------------------------------------------------------------------- /src/views/app.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: Roboto, 'Helvetica Neue', Arial, sans-serif; 5 | } 6 | 7 | .App { 8 | text-align: center; 9 | margin: 2rem auto; 10 | } 11 | 12 | img { 13 | height: 100px; 14 | } 15 | 16 | nav { 17 | clear: both; 18 | } 19 | 20 | nav a { 21 | padding: 10px; 22 | display: block; 23 | float: left; 24 | } 25 | -------------------------------------------------------------------------------- /src/html/post-login/index.js: -------------------------------------------------------------------------------- 1 | var arc = require('@architect/functions') 2 | 3 | function route(req, res) { 4 | 5 | var loggedIn = req.body.username === 'admin' && 6 | req.body.password === 'admin' 7 | res({ 8 | session: { 9 | account: loggedIn, 10 | }, 11 | location: req._url('/'), 12 | }) 13 | } 14 | 15 | exports.handler = arc.html.post(route) 16 | -------------------------------------------------------------------------------- /src/views/components/nav-logged-in.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export default function NavLoggedIn(props) { 4 | return ( 5 | 14 | ) 15 | } 16 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import babel from 'rollup-plugin-babel' 2 | import resolve from 'rollup-plugin-node-resolve' 3 | import commonjs from 'rollup-plugin-commonjs' 4 | 5 | export default { 6 | input: 'src/views/index.js', 7 | output: { 8 | file: 'src/shared/views/index.js' 9 | }, 10 | plugins: [ 11 | babel({ 12 | exclude: 'node_modules/**' 13 | }), 14 | resolve(), 15 | commonjs({ 16 | namedExports: { 17 | 'node_modules/react/index.js': ['Component'] 18 | } 19 | }), 20 | ], 21 | external: ['fs', 'path', 'stream'] 22 | } 23 | -------------------------------------------------------------------------------- /.arc: -------------------------------------------------------------------------------- 1 | @app 2 | parcel-arc 3 | 4 | # @static notes 5 | # - staging defines a staging bucket 6 | # - production defines a production bucket 7 | # - `npm run create` provisions two s3 buckets 8 | # - `npm run deploy` contents of .static are sync'd to staging bucket 9 | # - `ARC_DEPLOY=production npm run deploy` contents of .static are sync'd to production bucket 10 | @static 11 | staging parcel-test-staging 12 | production parcel-test-production 13 | 14 | # defines some basic "server" routes 15 | @html 16 | get / 17 | get /login 18 | post /logout 19 | post /login 20 | 21 | @json 22 | post /api/login 23 | post /api/logout 24 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | How this works: 2 | 3 | - src/views is a react app 4 | 5 | `npm run build` 6 | 1. compiles the react assets into clientside assets `.static` with Parcel 7 | 2. `.static` gets copied into `src/shared/views` 8 | 3. compiles the react assets into a Node module that exports a single function (in src/shared/views) that accepts an object `{path, state}` and returns an HTML string using Rollup 9 | 10 | Routes use the Node module in src/shared/views (by requireing it with `require('@architect/shared/views')` to prerender the React code. 11 | 12 | `npm run deploy` copies `.static` to s3 and deploys all the lambdas 13 | -------------------------------------------------------------------------------- /src/html/get-index/index.js: -------------------------------------------------------------------------------- 1 | var arc = require('@architect/functions') 2 | var render = require('@architect/shared/views') 3 | 4 | function route(req, res) { 5 | var path = req._url('/') 6 | var state = { 7 | loggedIn: req.session.account, 8 | urls: { 9 | home: req._url('/'), 10 | login: req._url('/login'), 11 | logout: req._url('/logout'), 12 | }, 13 | api:{ 14 | home: req._url('/api'), 15 | login: req._url('/api/login'), 16 | logout: req._url('/api/logout'), 17 | } 18 | } 19 | var html = render({path, state}) 20 | res({html}) 21 | } 22 | 23 | exports.handler = arc.html.get(route) 24 | -------------------------------------------------------------------------------- /src/views/index.js: -------------------------------------------------------------------------------- 1 | import fs from 'fs' 2 | import path from 'path' 3 | import React from 'react' 4 | import ReactDOMServer from 'react-dom/server' 5 | import App from './app' 6 | 7 | // cached tmpl 8 | var read = filename=> fs.readFileSync(path.join(__dirname, filename)).toString() 9 | var raw = read('index.html') 10 | 11 | // renders params 12 | // - path: req.path 13 | // - state: {} 14 | module.exports = function render(params) { 15 | var body = ReactDOMServer.renderToString() 16 | var initialState = ` 17 |
${body}
18 | ` 19 | var html = raw.replace('
', initialState) 20 | return html 21 | } 22 | -------------------------------------------------------------------------------- /src/views/pages/login.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export default function LoginForm(props) { 4 | return ( 5 |
9 |
17 |
25 | 29 |
30 | ) 31 | } 32 | -------------------------------------------------------------------------------- /src/html/get-login/index.js: -------------------------------------------------------------------------------- 1 | var arc = require('@architect/functions') 2 | var render = require('@architect/shared/views') 3 | 4 | function route(req, res) { 5 | if (req.session.account) { 6 | var location = req._url('/') 7 | res({location}) 8 | } 9 | else { 10 | var path = req._url('/login') 11 | var state = { 12 | loggedIn:false, 13 | urls: { 14 | home: req._url('/'), 15 | login: req._url('/login'), 16 | logout: req._url('/logout'), 17 | }, 18 | api:{ 19 | home: req._url('/api'), 20 | login: req._url('/api/login'), 21 | logout: req._url('/api/logout'), 22 | } 23 | } 24 | var html = render({path, state}) 25 | res({html}) 26 | } 27 | } 28 | 29 | exports.handler = arc.html.get(route) 30 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test-parcel", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "create": "AWS_PROFILE=smallwins AWS_REGION=us-east-2 arc-create", 8 | "deploy": "AWS_PROFILE=smallwins AWS_REGION=us-east-2 arc-deploy", 9 | "build": "parcel build src/views/index.html --public-url https://s3.us-east-2.amazonaws.com/parcel-test-staging --out-dir .static", 10 | "bundle": "npm run build && rm -rf src/shared/views && mkdir src/shared/views && mv .static/index.html src/shared/views/index.html && rollup -c --f cjs" 11 | }, 12 | "keywords": [], 13 | "author": "Brian LeRoux ", 14 | "license": "Apache-2.0", 15 | "devDependencies": { 16 | "@architect/workflows": "^2.2.2", 17 | "babel-cli": "^6.26.0", 18 | "babel-preset-env": "^1.6.1", 19 | "babel-preset-react": "^6.24.1", 20 | "parcel-bundler": "^1.6.1", 21 | "react": "^16.2.0", 22 | "react-dom": "^16.2.0", 23 | "rollup": "^0.56.1", 24 | "rollup-plugin-babel": "^3.0.3", 25 | "rollup-plugin-commonjs": "^8.3.0", 26 | "rollup-plugin-node-resolve": "^3.0.3" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/views/app.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react' 2 | import Home from './pages/home' 3 | import Login from './pages/login' 4 | import NavLoggedIn from './components/nav-logged-in' 5 | import NavLoggedOut from './components/nav-logged-out' 6 | 7 | class App extends Component { 8 | 9 | constructor(props) { 10 | super(props) 11 | this.state = props.state 12 | this.login = this.login.bind(this) 13 | this.logout = this.logout.bind(this) 14 | } 15 | 16 | login(event) { 17 | event.preventDefault() 18 | var self = this 19 | var data = new FormData(event.target) 20 | var body = {} 21 | for (var key of data.keys()) { 22 | body[key] = data.get(key) 23 | } 24 | fetch(this.state.api.login, { 25 | method: 'POST', 26 | credentials: 'same-origin', 27 | headers: { 28 | 'content-type': 'application/json' 29 | }, 30 | body: JSON.stringify(body), 31 | }).then(function _response(result) { 32 | return result.json() 33 | }).then(function _json(data) { 34 | self.setState({loggedIn:true}) 35 | history.pushState({}, '', self.state.urls.home) 36 | }).catch(function _fail(err) { 37 | self.setState({loggedIn:false}) 38 | console.log(err) 39 | }) 40 | } 41 | 42 | logout(event) { 43 | event.preventDefault() 44 | var self = this 45 | fetch(this.state.api.logout, { 46 | method: 'POST', 47 | credentials: 'same-origin', 48 | headers: { 49 | 'content-type': 'application/json' 50 | }, 51 | body: JSON.stringify({}), 52 | }).then(function _response(result) { 53 | return result.json() 54 | }).then(function _json(data) { 55 | self.setState({loggedIn:false}) 56 | history.pushState({}, '', self.state.urls.home) 57 | }).catch(function _fail(err) { 58 | console.log('failed to logout', err) 59 | }) 60 | } 61 | 62 | render() { 63 | return ( 64 |
65 |

Serverless Side Rendering Demo

66 | {this.state.loggedIn? : } 67 | {this.state.loggedIn? : } 68 |
69 | ) 70 | } 71 | } 72 | 73 | export default App 74 | -------------------------------------------------------------------------------- /src/html/get-index/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-get-index", 3 | "requires": true, 4 | "lockfileVersion": 1, 5 | "dependencies": { 6 | "@architect/functions": { 7 | "version": "1.6.3", 8 | "resolved": "https://registry.npmjs.org/@architect/functions/-/functions-1.6.3.tgz", 9 | "integrity": "sha512-75FFana6cHZoztd1usHvyzBr6CLnIMGUGijTl4De7DVBOvif5wRLMmeNwUTYJD43Z3Xs6YnOyukBP9eRlTFaxQ==", 10 | "requires": { 11 | "@architect/parser": "1.0.6", 12 | "@smallwins/err": "1.0.0", 13 | "@smallwins/lambda": "6.1.1", 14 | "@smallwins/validate": "4.3.0", 15 | "cookie": "0.3.1", 16 | "cookie-signature": "1.1.0", 17 | "csrf": "3.0.6", 18 | "is-plain-object": "2.0.4", 19 | "run-parallel": "1.1.7", 20 | "run-waterfall": "1.1.3", 21 | "serialize-error": "2.1.0", 22 | "uid-safe": "2.1.5" 23 | } 24 | }, 25 | "@architect/parser": { 26 | "version": "1.0.6", 27 | "resolved": "https://registry.npmjs.org/@architect/parser/-/parser-1.0.6.tgz", 28 | "integrity": "sha512-roNwGrgiTq6NfjBbFpaptEWSjxUTNeL3zloFxV0F504OrvDckV+q51VQ7Z3xvnrfxCBAIlP0RVYqEnuyf0GRFg==" 29 | }, 30 | "@smallwins/err": { 31 | "version": "1.0.0", 32 | "resolved": "https://registry.npmjs.org/@smallwins/err/-/err-1.0.0.tgz", 33 | "integrity": "sha1-tk2WSldWcGukV/Dhwtem7h2GZwA=", 34 | "requires": { 35 | "clean-stack": "1.3.0", 36 | "serialize-error": "2.1.0" 37 | } 38 | }, 39 | "@smallwins/lambda": { 40 | "version": "6.1.1", 41 | "resolved": "https://registry.npmjs.org/@smallwins/lambda/-/lambda-6.1.1.tgz", 42 | "integrity": "sha1-Y3D3o9IyFp0leOBG+SjxDgS8GPg=" 43 | }, 44 | "@smallwins/nodash": { 45 | "version": "1.0.0", 46 | "resolved": "https://registry.npmjs.org/@smallwins/nodash/-/nodash-1.0.0.tgz", 47 | "integrity": "sha1-5tqv7AImKNkVgyeOwxX1GYXQKeg=" 48 | }, 49 | "@smallwins/validate": { 50 | "version": "4.3.0", 51 | "resolved": "https://registry.npmjs.org/@smallwins/validate/-/validate-4.3.0.tgz", 52 | "integrity": "sha1-p+Ta0h9blozc0j/qj5VQbiswMWs=", 53 | "requires": { 54 | "@smallwins/nodash": "1.0.0" 55 | } 56 | }, 57 | "clean-stack": { 58 | "version": "1.3.0", 59 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", 60 | "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=" 61 | }, 62 | "cookie": { 63 | "version": "0.3.1", 64 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 65 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 66 | }, 67 | "cookie-signature": { 68 | "version": "1.1.0", 69 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.1.0.tgz", 70 | "integrity": "sha512-Alvs19Vgq07eunykd3Xy2jF0/qSNv2u7KDbAek9H5liV1UMijbqFs5cycZvv5dVsvseT/U4H8/7/w8Koh35C4A==" 71 | }, 72 | "csrf": { 73 | "version": "3.0.6", 74 | "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz", 75 | "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=", 76 | "requires": { 77 | "rndm": "1.2.0", 78 | "tsscmp": "1.0.5", 79 | "uid-safe": "2.1.4" 80 | }, 81 | "dependencies": { 82 | "uid-safe": { 83 | "version": "2.1.4", 84 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", 85 | "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=", 86 | "requires": { 87 | "random-bytes": "1.0.0" 88 | } 89 | } 90 | } 91 | }, 92 | "is-plain-object": { 93 | "version": "2.0.4", 94 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 95 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 96 | "requires": { 97 | "isobject": "3.0.1" 98 | } 99 | }, 100 | "isobject": { 101 | "version": "3.0.1", 102 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 103 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 104 | }, 105 | "random-bytes": { 106 | "version": "1.0.0", 107 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", 108 | "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" 109 | }, 110 | "rndm": { 111 | "version": "1.2.0", 112 | "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", 113 | "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" 114 | }, 115 | "run-parallel": { 116 | "version": "1.1.7", 117 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.7.tgz", 118 | "integrity": "sha512-nB641a6enJOh0fdsFHR9SiVCiOlAyjMplImDdjV3kWCzJZw9rwzvGwmpGuPmfX//Yxblh0pkzPcFcxA81iwmxA==" 119 | }, 120 | "run-waterfall": { 121 | "version": "1.1.3", 122 | "resolved": "https://registry.npmjs.org/run-waterfall/-/run-waterfall-1.1.3.tgz", 123 | "integrity": "sha1-2W/A9TYby9vUOFKdyKS0L8Z2ESM=" 124 | }, 125 | "serialize-error": { 126 | "version": "2.1.0", 127 | "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", 128 | "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" 129 | }, 130 | "tsscmp": { 131 | "version": "1.0.5", 132 | "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", 133 | "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" 134 | }, 135 | "uid-safe": { 136 | "version": "2.1.5", 137 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", 138 | "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", 139 | "requires": { 140 | "random-bytes": "1.0.0" 141 | } 142 | } 143 | } 144 | } 145 | -------------------------------------------------------------------------------- /src/html/get-login/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-get-login", 3 | "requires": true, 4 | "lockfileVersion": 1, 5 | "dependencies": { 6 | "@architect/functions": { 7 | "version": "1.6.3", 8 | "resolved": "https://registry.npmjs.org/@architect/functions/-/functions-1.6.3.tgz", 9 | "integrity": "sha512-75FFana6cHZoztd1usHvyzBr6CLnIMGUGijTl4De7DVBOvif5wRLMmeNwUTYJD43Z3Xs6YnOyukBP9eRlTFaxQ==", 10 | "requires": { 11 | "@architect/parser": "1.0.6", 12 | "@smallwins/err": "1.0.0", 13 | "@smallwins/lambda": "6.1.1", 14 | "@smallwins/validate": "4.3.0", 15 | "cookie": "0.3.1", 16 | "cookie-signature": "1.1.0", 17 | "csrf": "3.0.6", 18 | "is-plain-object": "2.0.4", 19 | "run-parallel": "1.1.7", 20 | "run-waterfall": "1.1.3", 21 | "serialize-error": "2.1.0", 22 | "uid-safe": "2.1.5" 23 | } 24 | }, 25 | "@architect/parser": { 26 | "version": "1.0.6", 27 | "resolved": "https://registry.npmjs.org/@architect/parser/-/parser-1.0.6.tgz", 28 | "integrity": "sha512-roNwGrgiTq6NfjBbFpaptEWSjxUTNeL3zloFxV0F504OrvDckV+q51VQ7Z3xvnrfxCBAIlP0RVYqEnuyf0GRFg==" 29 | }, 30 | "@smallwins/err": { 31 | "version": "1.0.0", 32 | "resolved": "https://registry.npmjs.org/@smallwins/err/-/err-1.0.0.tgz", 33 | "integrity": "sha1-tk2WSldWcGukV/Dhwtem7h2GZwA=", 34 | "requires": { 35 | "clean-stack": "1.3.0", 36 | "serialize-error": "2.1.0" 37 | } 38 | }, 39 | "@smallwins/lambda": { 40 | "version": "6.1.1", 41 | "resolved": "https://registry.npmjs.org/@smallwins/lambda/-/lambda-6.1.1.tgz", 42 | "integrity": "sha1-Y3D3o9IyFp0leOBG+SjxDgS8GPg=" 43 | }, 44 | "@smallwins/nodash": { 45 | "version": "1.0.0", 46 | "resolved": "https://registry.npmjs.org/@smallwins/nodash/-/nodash-1.0.0.tgz", 47 | "integrity": "sha1-5tqv7AImKNkVgyeOwxX1GYXQKeg=" 48 | }, 49 | "@smallwins/validate": { 50 | "version": "4.3.0", 51 | "resolved": "https://registry.npmjs.org/@smallwins/validate/-/validate-4.3.0.tgz", 52 | "integrity": "sha1-p+Ta0h9blozc0j/qj5VQbiswMWs=", 53 | "requires": { 54 | "@smallwins/nodash": "1.0.0" 55 | } 56 | }, 57 | "clean-stack": { 58 | "version": "1.3.0", 59 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", 60 | "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=" 61 | }, 62 | "cookie": { 63 | "version": "0.3.1", 64 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 65 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 66 | }, 67 | "cookie-signature": { 68 | "version": "1.1.0", 69 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.1.0.tgz", 70 | "integrity": "sha512-Alvs19Vgq07eunykd3Xy2jF0/qSNv2u7KDbAek9H5liV1UMijbqFs5cycZvv5dVsvseT/U4H8/7/w8Koh35C4A==" 71 | }, 72 | "csrf": { 73 | "version": "3.0.6", 74 | "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz", 75 | "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=", 76 | "requires": { 77 | "rndm": "1.2.0", 78 | "tsscmp": "1.0.5", 79 | "uid-safe": "2.1.4" 80 | }, 81 | "dependencies": { 82 | "uid-safe": { 83 | "version": "2.1.4", 84 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", 85 | "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=", 86 | "requires": { 87 | "random-bytes": "1.0.0" 88 | } 89 | } 90 | } 91 | }, 92 | "is-plain-object": { 93 | "version": "2.0.4", 94 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 95 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 96 | "requires": { 97 | "isobject": "3.0.1" 98 | } 99 | }, 100 | "isobject": { 101 | "version": "3.0.1", 102 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 103 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 104 | }, 105 | "random-bytes": { 106 | "version": "1.0.0", 107 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", 108 | "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" 109 | }, 110 | "rndm": { 111 | "version": "1.2.0", 112 | "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", 113 | "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" 114 | }, 115 | "run-parallel": { 116 | "version": "1.1.7", 117 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.7.tgz", 118 | "integrity": "sha512-nB641a6enJOh0fdsFHR9SiVCiOlAyjMplImDdjV3kWCzJZw9rwzvGwmpGuPmfX//Yxblh0pkzPcFcxA81iwmxA==" 119 | }, 120 | "run-waterfall": { 121 | "version": "1.1.3", 122 | "resolved": "https://registry.npmjs.org/run-waterfall/-/run-waterfall-1.1.3.tgz", 123 | "integrity": "sha1-2W/A9TYby9vUOFKdyKS0L8Z2ESM=" 124 | }, 125 | "serialize-error": { 126 | "version": "2.1.0", 127 | "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", 128 | "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" 129 | }, 130 | "tsscmp": { 131 | "version": "1.0.5", 132 | "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", 133 | "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" 134 | }, 135 | "uid-safe": { 136 | "version": "2.1.5", 137 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", 138 | "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", 139 | "requires": { 140 | "random-bytes": "1.0.0" 141 | } 142 | } 143 | } 144 | } 145 | -------------------------------------------------------------------------------- /src/html/post-login/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-post-login", 3 | "requires": true, 4 | "lockfileVersion": 1, 5 | "dependencies": { 6 | "@architect/functions": { 7 | "version": "1.6.3", 8 | "resolved": "https://registry.npmjs.org/@architect/functions/-/functions-1.6.3.tgz", 9 | "integrity": "sha512-75FFana6cHZoztd1usHvyzBr6CLnIMGUGijTl4De7DVBOvif5wRLMmeNwUTYJD43Z3Xs6YnOyukBP9eRlTFaxQ==", 10 | "requires": { 11 | "@architect/parser": "1.0.6", 12 | "@smallwins/err": "1.0.0", 13 | "@smallwins/lambda": "6.1.1", 14 | "@smallwins/validate": "4.3.0", 15 | "cookie": "0.3.1", 16 | "cookie-signature": "1.1.0", 17 | "csrf": "3.0.6", 18 | "is-plain-object": "2.0.4", 19 | "run-parallel": "1.1.7", 20 | "run-waterfall": "1.1.3", 21 | "serialize-error": "2.1.0", 22 | "uid-safe": "2.1.5" 23 | } 24 | }, 25 | "@architect/parser": { 26 | "version": "1.0.6", 27 | "resolved": "https://registry.npmjs.org/@architect/parser/-/parser-1.0.6.tgz", 28 | "integrity": "sha512-roNwGrgiTq6NfjBbFpaptEWSjxUTNeL3zloFxV0F504OrvDckV+q51VQ7Z3xvnrfxCBAIlP0RVYqEnuyf0GRFg==" 29 | }, 30 | "@smallwins/err": { 31 | "version": "1.0.0", 32 | "resolved": "https://registry.npmjs.org/@smallwins/err/-/err-1.0.0.tgz", 33 | "integrity": "sha1-tk2WSldWcGukV/Dhwtem7h2GZwA=", 34 | "requires": { 35 | "clean-stack": "1.3.0", 36 | "serialize-error": "2.1.0" 37 | } 38 | }, 39 | "@smallwins/lambda": { 40 | "version": "6.1.1", 41 | "resolved": "https://registry.npmjs.org/@smallwins/lambda/-/lambda-6.1.1.tgz", 42 | "integrity": "sha1-Y3D3o9IyFp0leOBG+SjxDgS8GPg=" 43 | }, 44 | "@smallwins/nodash": { 45 | "version": "1.0.0", 46 | "resolved": "https://registry.npmjs.org/@smallwins/nodash/-/nodash-1.0.0.tgz", 47 | "integrity": "sha1-5tqv7AImKNkVgyeOwxX1GYXQKeg=" 48 | }, 49 | "@smallwins/validate": { 50 | "version": "4.3.0", 51 | "resolved": "https://registry.npmjs.org/@smallwins/validate/-/validate-4.3.0.tgz", 52 | "integrity": "sha1-p+Ta0h9blozc0j/qj5VQbiswMWs=", 53 | "requires": { 54 | "@smallwins/nodash": "1.0.0" 55 | } 56 | }, 57 | "clean-stack": { 58 | "version": "1.3.0", 59 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", 60 | "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=" 61 | }, 62 | "cookie": { 63 | "version": "0.3.1", 64 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 65 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 66 | }, 67 | "cookie-signature": { 68 | "version": "1.1.0", 69 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.1.0.tgz", 70 | "integrity": "sha512-Alvs19Vgq07eunykd3Xy2jF0/qSNv2u7KDbAek9H5liV1UMijbqFs5cycZvv5dVsvseT/U4H8/7/w8Koh35C4A==" 71 | }, 72 | "csrf": { 73 | "version": "3.0.6", 74 | "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz", 75 | "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=", 76 | "requires": { 77 | "rndm": "1.2.0", 78 | "tsscmp": "1.0.5", 79 | "uid-safe": "2.1.4" 80 | }, 81 | "dependencies": { 82 | "uid-safe": { 83 | "version": "2.1.4", 84 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", 85 | "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=", 86 | "requires": { 87 | "random-bytes": "1.0.0" 88 | } 89 | } 90 | } 91 | }, 92 | "is-plain-object": { 93 | "version": "2.0.4", 94 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 95 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 96 | "requires": { 97 | "isobject": "3.0.1" 98 | } 99 | }, 100 | "isobject": { 101 | "version": "3.0.1", 102 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 103 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 104 | }, 105 | "random-bytes": { 106 | "version": "1.0.0", 107 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", 108 | "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" 109 | }, 110 | "rndm": { 111 | "version": "1.2.0", 112 | "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", 113 | "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" 114 | }, 115 | "run-parallel": { 116 | "version": "1.1.7", 117 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.7.tgz", 118 | "integrity": "sha512-nB641a6enJOh0fdsFHR9SiVCiOlAyjMplImDdjV3kWCzJZw9rwzvGwmpGuPmfX//Yxblh0pkzPcFcxA81iwmxA==" 119 | }, 120 | "run-waterfall": { 121 | "version": "1.1.3", 122 | "resolved": "https://registry.npmjs.org/run-waterfall/-/run-waterfall-1.1.3.tgz", 123 | "integrity": "sha1-2W/A9TYby9vUOFKdyKS0L8Z2ESM=" 124 | }, 125 | "serialize-error": { 126 | "version": "2.1.0", 127 | "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", 128 | "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" 129 | }, 130 | "tsscmp": { 131 | "version": "1.0.5", 132 | "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", 133 | "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" 134 | }, 135 | "uid-safe": { 136 | "version": "2.1.5", 137 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", 138 | "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", 139 | "requires": { 140 | "random-bytes": "1.0.0" 141 | } 142 | } 143 | } 144 | } 145 | -------------------------------------------------------------------------------- /src/html/post-logout/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-post-logout", 3 | "requires": true, 4 | "lockfileVersion": 1, 5 | "dependencies": { 6 | "@architect/functions": { 7 | "version": "1.6.3", 8 | "resolved": "https://registry.npmjs.org/@architect/functions/-/functions-1.6.3.tgz", 9 | "integrity": "sha512-75FFana6cHZoztd1usHvyzBr6CLnIMGUGijTl4De7DVBOvif5wRLMmeNwUTYJD43Z3Xs6YnOyukBP9eRlTFaxQ==", 10 | "requires": { 11 | "@architect/parser": "1.0.6", 12 | "@smallwins/err": "1.0.0", 13 | "@smallwins/lambda": "6.1.1", 14 | "@smallwins/validate": "4.3.0", 15 | "cookie": "0.3.1", 16 | "cookie-signature": "1.1.0", 17 | "csrf": "3.0.6", 18 | "is-plain-object": "2.0.4", 19 | "run-parallel": "1.1.7", 20 | "run-waterfall": "1.1.3", 21 | "serialize-error": "2.1.0", 22 | "uid-safe": "2.1.5" 23 | } 24 | }, 25 | "@architect/parser": { 26 | "version": "1.0.6", 27 | "resolved": "https://registry.npmjs.org/@architect/parser/-/parser-1.0.6.tgz", 28 | "integrity": "sha512-roNwGrgiTq6NfjBbFpaptEWSjxUTNeL3zloFxV0F504OrvDckV+q51VQ7Z3xvnrfxCBAIlP0RVYqEnuyf0GRFg==" 29 | }, 30 | "@smallwins/err": { 31 | "version": "1.0.0", 32 | "resolved": "https://registry.npmjs.org/@smallwins/err/-/err-1.0.0.tgz", 33 | "integrity": "sha1-tk2WSldWcGukV/Dhwtem7h2GZwA=", 34 | "requires": { 35 | "clean-stack": "1.3.0", 36 | "serialize-error": "2.1.0" 37 | } 38 | }, 39 | "@smallwins/lambda": { 40 | "version": "6.1.1", 41 | "resolved": "https://registry.npmjs.org/@smallwins/lambda/-/lambda-6.1.1.tgz", 42 | "integrity": "sha1-Y3D3o9IyFp0leOBG+SjxDgS8GPg=" 43 | }, 44 | "@smallwins/nodash": { 45 | "version": "1.0.0", 46 | "resolved": "https://registry.npmjs.org/@smallwins/nodash/-/nodash-1.0.0.tgz", 47 | "integrity": "sha1-5tqv7AImKNkVgyeOwxX1GYXQKeg=" 48 | }, 49 | "@smallwins/validate": { 50 | "version": "4.3.0", 51 | "resolved": "https://registry.npmjs.org/@smallwins/validate/-/validate-4.3.0.tgz", 52 | "integrity": "sha1-p+Ta0h9blozc0j/qj5VQbiswMWs=", 53 | "requires": { 54 | "@smallwins/nodash": "1.0.0" 55 | } 56 | }, 57 | "clean-stack": { 58 | "version": "1.3.0", 59 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", 60 | "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=" 61 | }, 62 | "cookie": { 63 | "version": "0.3.1", 64 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 65 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 66 | }, 67 | "cookie-signature": { 68 | "version": "1.1.0", 69 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.1.0.tgz", 70 | "integrity": "sha512-Alvs19Vgq07eunykd3Xy2jF0/qSNv2u7KDbAek9H5liV1UMijbqFs5cycZvv5dVsvseT/U4H8/7/w8Koh35C4A==" 71 | }, 72 | "csrf": { 73 | "version": "3.0.6", 74 | "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz", 75 | "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=", 76 | "requires": { 77 | "rndm": "1.2.0", 78 | "tsscmp": "1.0.5", 79 | "uid-safe": "2.1.4" 80 | }, 81 | "dependencies": { 82 | "uid-safe": { 83 | "version": "2.1.4", 84 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", 85 | "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=", 86 | "requires": { 87 | "random-bytes": "1.0.0" 88 | } 89 | } 90 | } 91 | }, 92 | "is-plain-object": { 93 | "version": "2.0.4", 94 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 95 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 96 | "requires": { 97 | "isobject": "3.0.1" 98 | } 99 | }, 100 | "isobject": { 101 | "version": "3.0.1", 102 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 103 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 104 | }, 105 | "random-bytes": { 106 | "version": "1.0.0", 107 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", 108 | "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" 109 | }, 110 | "rndm": { 111 | "version": "1.2.0", 112 | "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", 113 | "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" 114 | }, 115 | "run-parallel": { 116 | "version": "1.1.7", 117 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.7.tgz", 118 | "integrity": "sha512-nB641a6enJOh0fdsFHR9SiVCiOlAyjMplImDdjV3kWCzJZw9rwzvGwmpGuPmfX//Yxblh0pkzPcFcxA81iwmxA==" 119 | }, 120 | "run-waterfall": { 121 | "version": "1.1.3", 122 | "resolved": "https://registry.npmjs.org/run-waterfall/-/run-waterfall-1.1.3.tgz", 123 | "integrity": "sha1-2W/A9TYby9vUOFKdyKS0L8Z2ESM=" 124 | }, 125 | "serialize-error": { 126 | "version": "2.1.0", 127 | "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", 128 | "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" 129 | }, 130 | "tsscmp": { 131 | "version": "1.0.5", 132 | "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", 133 | "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" 134 | }, 135 | "uid-safe": { 136 | "version": "2.1.5", 137 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", 138 | "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", 139 | "requires": { 140 | "random-bytes": "1.0.0" 141 | } 142 | } 143 | } 144 | } 145 | -------------------------------------------------------------------------------- /src/json/post-api-login/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-post-api-login", 3 | "requires": true, 4 | "lockfileVersion": 1, 5 | "dependencies": { 6 | "@architect/functions": { 7 | "version": "1.6.3", 8 | "resolved": "https://registry.npmjs.org/@architect/functions/-/functions-1.6.3.tgz", 9 | "integrity": "sha512-75FFana6cHZoztd1usHvyzBr6CLnIMGUGijTl4De7DVBOvif5wRLMmeNwUTYJD43Z3Xs6YnOyukBP9eRlTFaxQ==", 10 | "requires": { 11 | "@architect/parser": "1.0.6", 12 | "@smallwins/err": "1.0.0", 13 | "@smallwins/lambda": "6.1.1", 14 | "@smallwins/validate": "4.3.0", 15 | "cookie": "0.3.1", 16 | "cookie-signature": "1.1.0", 17 | "csrf": "3.0.6", 18 | "is-plain-object": "2.0.4", 19 | "run-parallel": "1.1.7", 20 | "run-waterfall": "1.1.3", 21 | "serialize-error": "2.1.0", 22 | "uid-safe": "2.1.5" 23 | } 24 | }, 25 | "@architect/parser": { 26 | "version": "1.0.6", 27 | "resolved": "https://registry.npmjs.org/@architect/parser/-/parser-1.0.6.tgz", 28 | "integrity": "sha512-roNwGrgiTq6NfjBbFpaptEWSjxUTNeL3zloFxV0F504OrvDckV+q51VQ7Z3xvnrfxCBAIlP0RVYqEnuyf0GRFg==" 29 | }, 30 | "@smallwins/err": { 31 | "version": "1.0.0", 32 | "resolved": "https://registry.npmjs.org/@smallwins/err/-/err-1.0.0.tgz", 33 | "integrity": "sha1-tk2WSldWcGukV/Dhwtem7h2GZwA=", 34 | "requires": { 35 | "clean-stack": "1.3.0", 36 | "serialize-error": "2.1.0" 37 | } 38 | }, 39 | "@smallwins/lambda": { 40 | "version": "6.1.1", 41 | "resolved": "https://registry.npmjs.org/@smallwins/lambda/-/lambda-6.1.1.tgz", 42 | "integrity": "sha1-Y3D3o9IyFp0leOBG+SjxDgS8GPg=" 43 | }, 44 | "@smallwins/nodash": { 45 | "version": "1.0.0", 46 | "resolved": "https://registry.npmjs.org/@smallwins/nodash/-/nodash-1.0.0.tgz", 47 | "integrity": "sha1-5tqv7AImKNkVgyeOwxX1GYXQKeg=" 48 | }, 49 | "@smallwins/validate": { 50 | "version": "4.3.0", 51 | "resolved": "https://registry.npmjs.org/@smallwins/validate/-/validate-4.3.0.tgz", 52 | "integrity": "sha1-p+Ta0h9blozc0j/qj5VQbiswMWs=", 53 | "requires": { 54 | "@smallwins/nodash": "1.0.0" 55 | } 56 | }, 57 | "clean-stack": { 58 | "version": "1.3.0", 59 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", 60 | "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=" 61 | }, 62 | "cookie": { 63 | "version": "0.3.1", 64 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 65 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 66 | }, 67 | "cookie-signature": { 68 | "version": "1.1.0", 69 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.1.0.tgz", 70 | "integrity": "sha512-Alvs19Vgq07eunykd3Xy2jF0/qSNv2u7KDbAek9H5liV1UMijbqFs5cycZvv5dVsvseT/U4H8/7/w8Koh35C4A==" 71 | }, 72 | "csrf": { 73 | "version": "3.0.6", 74 | "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz", 75 | "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=", 76 | "requires": { 77 | "rndm": "1.2.0", 78 | "tsscmp": "1.0.5", 79 | "uid-safe": "2.1.4" 80 | }, 81 | "dependencies": { 82 | "uid-safe": { 83 | "version": "2.1.4", 84 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", 85 | "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=", 86 | "requires": { 87 | "random-bytes": "1.0.0" 88 | } 89 | } 90 | } 91 | }, 92 | "is-plain-object": { 93 | "version": "2.0.4", 94 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 95 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 96 | "requires": { 97 | "isobject": "3.0.1" 98 | } 99 | }, 100 | "isobject": { 101 | "version": "3.0.1", 102 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 103 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 104 | }, 105 | "random-bytes": { 106 | "version": "1.0.0", 107 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", 108 | "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" 109 | }, 110 | "rndm": { 111 | "version": "1.2.0", 112 | "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", 113 | "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" 114 | }, 115 | "run-parallel": { 116 | "version": "1.1.7", 117 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.7.tgz", 118 | "integrity": "sha512-nB641a6enJOh0fdsFHR9SiVCiOlAyjMplImDdjV3kWCzJZw9rwzvGwmpGuPmfX//Yxblh0pkzPcFcxA81iwmxA==" 119 | }, 120 | "run-waterfall": { 121 | "version": "1.1.3", 122 | "resolved": "https://registry.npmjs.org/run-waterfall/-/run-waterfall-1.1.3.tgz", 123 | "integrity": "sha1-2W/A9TYby9vUOFKdyKS0L8Z2ESM=" 124 | }, 125 | "serialize-error": { 126 | "version": "2.1.0", 127 | "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", 128 | "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" 129 | }, 130 | "tsscmp": { 131 | "version": "1.0.5", 132 | "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", 133 | "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" 134 | }, 135 | "uid-safe": { 136 | "version": "2.1.5", 137 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", 138 | "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", 139 | "requires": { 140 | "random-bytes": "1.0.0" 141 | } 142 | } 143 | } 144 | } 145 | -------------------------------------------------------------------------------- /src/json/post-api-logout/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-arc-post-api-logout", 3 | "requires": true, 4 | "lockfileVersion": 1, 5 | "dependencies": { 6 | "@architect/functions": { 7 | "version": "1.6.3", 8 | "resolved": "https://registry.npmjs.org/@architect/functions/-/functions-1.6.3.tgz", 9 | "integrity": "sha512-75FFana6cHZoztd1usHvyzBr6CLnIMGUGijTl4De7DVBOvif5wRLMmeNwUTYJD43Z3Xs6YnOyukBP9eRlTFaxQ==", 10 | "requires": { 11 | "@architect/parser": "1.0.6", 12 | "@smallwins/err": "1.0.0", 13 | "@smallwins/lambda": "6.1.1", 14 | "@smallwins/validate": "4.3.0", 15 | "cookie": "0.3.1", 16 | "cookie-signature": "1.1.0", 17 | "csrf": "3.0.6", 18 | "is-plain-object": "2.0.4", 19 | "run-parallel": "1.1.7", 20 | "run-waterfall": "1.1.3", 21 | "serialize-error": "2.1.0", 22 | "uid-safe": "2.1.5" 23 | } 24 | }, 25 | "@architect/parser": { 26 | "version": "1.0.6", 27 | "resolved": "https://registry.npmjs.org/@architect/parser/-/parser-1.0.6.tgz", 28 | "integrity": "sha512-roNwGrgiTq6NfjBbFpaptEWSjxUTNeL3zloFxV0F504OrvDckV+q51VQ7Z3xvnrfxCBAIlP0RVYqEnuyf0GRFg==" 29 | }, 30 | "@smallwins/err": { 31 | "version": "1.0.0", 32 | "resolved": "https://registry.npmjs.org/@smallwins/err/-/err-1.0.0.tgz", 33 | "integrity": "sha1-tk2WSldWcGukV/Dhwtem7h2GZwA=", 34 | "requires": { 35 | "clean-stack": "1.3.0", 36 | "serialize-error": "2.1.0" 37 | } 38 | }, 39 | "@smallwins/lambda": { 40 | "version": "6.1.1", 41 | "resolved": "https://registry.npmjs.org/@smallwins/lambda/-/lambda-6.1.1.tgz", 42 | "integrity": "sha1-Y3D3o9IyFp0leOBG+SjxDgS8GPg=" 43 | }, 44 | "@smallwins/nodash": { 45 | "version": "1.0.0", 46 | "resolved": "https://registry.npmjs.org/@smallwins/nodash/-/nodash-1.0.0.tgz", 47 | "integrity": "sha1-5tqv7AImKNkVgyeOwxX1GYXQKeg=" 48 | }, 49 | "@smallwins/validate": { 50 | "version": "4.3.0", 51 | "resolved": "https://registry.npmjs.org/@smallwins/validate/-/validate-4.3.0.tgz", 52 | "integrity": "sha1-p+Ta0h9blozc0j/qj5VQbiswMWs=", 53 | "requires": { 54 | "@smallwins/nodash": "1.0.0" 55 | } 56 | }, 57 | "clean-stack": { 58 | "version": "1.3.0", 59 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", 60 | "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=" 61 | }, 62 | "cookie": { 63 | "version": "0.3.1", 64 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 65 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 66 | }, 67 | "cookie-signature": { 68 | "version": "1.1.0", 69 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.1.0.tgz", 70 | "integrity": "sha512-Alvs19Vgq07eunykd3Xy2jF0/qSNv2u7KDbAek9H5liV1UMijbqFs5cycZvv5dVsvseT/U4H8/7/w8Koh35C4A==" 71 | }, 72 | "csrf": { 73 | "version": "3.0.6", 74 | "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz", 75 | "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=", 76 | "requires": { 77 | "rndm": "1.2.0", 78 | "tsscmp": "1.0.5", 79 | "uid-safe": "2.1.4" 80 | }, 81 | "dependencies": { 82 | "uid-safe": { 83 | "version": "2.1.4", 84 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", 85 | "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=", 86 | "requires": { 87 | "random-bytes": "1.0.0" 88 | } 89 | } 90 | } 91 | }, 92 | "is-plain-object": { 93 | "version": "2.0.4", 94 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 95 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 96 | "requires": { 97 | "isobject": "3.0.1" 98 | } 99 | }, 100 | "isobject": { 101 | "version": "3.0.1", 102 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 103 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 104 | }, 105 | "random-bytes": { 106 | "version": "1.0.0", 107 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", 108 | "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" 109 | }, 110 | "rndm": { 111 | "version": "1.2.0", 112 | "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", 113 | "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" 114 | }, 115 | "run-parallel": { 116 | "version": "1.1.7", 117 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.7.tgz", 118 | "integrity": "sha512-nB641a6enJOh0fdsFHR9SiVCiOlAyjMplImDdjV3kWCzJZw9rwzvGwmpGuPmfX//Yxblh0pkzPcFcxA81iwmxA==" 119 | }, 120 | "run-waterfall": { 121 | "version": "1.1.3", 122 | "resolved": "https://registry.npmjs.org/run-waterfall/-/run-waterfall-1.1.3.tgz", 123 | "integrity": "sha1-2W/A9TYby9vUOFKdyKS0L8Z2ESM=" 124 | }, 125 | "serialize-error": { 126 | "version": "2.1.0", 127 | "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", 128 | "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" 129 | }, 130 | "tsscmp": { 131 | "version": "1.0.5", 132 | "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", 133 | "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" 134 | }, 135 | "uid-safe": { 136 | "version": "2.1.5", 137 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", 138 | "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", 139 | "requires": { 140 | "random-bytes": "1.0.0" 141 | } 142 | } 143 | } 144 | } 145 | --------------------------------------------------------------------------------