├── .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 |
9 | - Parcel
10 | - Babel
11 | - React
12 | - Rollup
13 |
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 |
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 |
--------------------------------------------------------------------------------