UNPKG

793 BJavaScriptView Raw
1'use strict'
2
3const { resolve } = require('path')
4
5const { parseAllRedirects } = require('netlify-redirect-parser')
6
7const { warnRedirectsParsing } = require('./log/messages')
8
9// Retrieve path to `_redirects` file (even if it does not exist yet)
10const getRedirectsPath = function ({ build: { publish } }) {
11 return resolve(publish, REDIRECTS_FILENAME)
12}
13
14const REDIRECTS_FILENAME = '_redirects'
15
16// Add `config.redirects`
17const addRedirects = async function ({ redirects: configRedirects, ...config }, redirectsPath, logs) {
18 const { redirects, errors } = await parseAllRedirects({
19 redirectsFiles: [redirectsPath],
20 configRedirects,
21 minimal: true,
22 })
23 warnRedirectsParsing(logs, errors)
24 return { ...config, redirects }
25}
26
27module.exports = { getRedirectsPath, addRedirects }