1 | 'use strict'
|
2 |
|
3 | const { isTruthy } = require('./utils/remove_falsy')
|
4 |
|
5 |
|
6 | const UI_ORIGIN = 'ui'
|
7 | const CONFIG_ORIGIN = 'config'
|
8 | const DEFAULT_ORIGIN = 'default'
|
9 | const INLINE_ORIGIN = 'inline'
|
10 |
|
11 |
|
12 |
|
13 | const addOrigins = function (config, origin) {
|
14 | const configA = addBuildCommandOrigin({ config, origin })
|
15 | const configB = addBuildPublishOrigin({ config: configA, origin })
|
16 | const configC = addConfigPluginOrigin({ config: configB, origin })
|
17 | const configD = addHeadersOrigin({ config: configC, origin })
|
18 | const configE = addRedirectsOrigin({ config: configD, origin })
|
19 | return configE
|
20 | }
|
21 |
|
22 | const addBuildCommandOrigin = function ({ config, config: { build = {} }, origin }) {
|
23 | return isTruthy(build.command) ? { ...config, build: { ...build, commandOrigin: origin } } : config
|
24 | }
|
25 |
|
26 | const addBuildPublishOrigin = function ({ config, config: { build = {} }, origin }) {
|
27 | return isTruthy(build.publish) ? { ...config, build: { ...build, publishOrigin: origin } } : config
|
28 | }
|
29 |
|
30 | const addConfigPluginOrigin = function ({ config, config: { plugins }, origin }) {
|
31 | return Array.isArray(plugins) ? { ...config, plugins: plugins.map((plugin) => ({ ...plugin, origin })) } : config
|
32 | }
|
33 |
|
34 | const addHeadersOrigin = function ({ config, config: { headers }, origin }) {
|
35 | return isTruthy(headers) ? { ...config, headersOrigin: origin } : config
|
36 | }
|
37 |
|
38 | const addRedirectsOrigin = function ({ config, config: { redirects }, origin }) {
|
39 | return isTruthy(redirects) ? { ...config, redirectsOrigin: origin } : config
|
40 | }
|
41 |
|
42 | module.exports = { addOrigins, UI_ORIGIN, CONFIG_ORIGIN, DEFAULT_ORIGIN, INLINE_ORIGIN }
|