gatsby-plugin-netlify-redirect
Version:
A Gatsby plugin which generates a _headers file for netlify
49 lines (43 loc) • 2.11 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.PAGE_DATA_DIR = exports.HEADER_COMMENT = exports.COMMON_BUNDLES = exports.ROOT_WILDCARD = exports.LINK_REGEX = exports.CACHING_HEADERS = exports.IMMUTABLE_CACHING_HEADER = exports.SECURITY_HEADERS = exports.DEFAULT_OPTIONS = exports.NETLIFY_HEADERS_FILENAME = exports.BUILD_CSS_STAGE = exports.BUILD_HTML_STAGE = void 0;
var _lodash = _interopRequireDefault(require("lodash"));
// Gatsby values
const BUILD_HTML_STAGE = `build-html`;
exports.BUILD_HTML_STAGE = BUILD_HTML_STAGE;
const BUILD_CSS_STAGE = `build-css`; // Plugin values
exports.BUILD_CSS_STAGE = BUILD_CSS_STAGE;
const NETLIFY_HEADERS_FILENAME = `_headers`;
exports.NETLIFY_HEADERS_FILENAME = NETLIFY_HEADERS_FILENAME;
const DEFAULT_OPTIONS = {
headers: {},
mergeSecurityHeaders: true,
mergeLinkHeaders: true,
mergeCachingHeaders: true,
transformHeaders: _lodash.default.identity,
// optional transform for manipulating headers for sorting, etc
generateMatchPathRewrites: true // generate rewrites for client only paths
};
exports.DEFAULT_OPTIONS = DEFAULT_OPTIONS;
const SECURITY_HEADERS = {
"/*": [`X-Frame-Options: DENY`, `X-XSS-Protection: 1; mode=block`, `X-Content-Type-Options: nosniff`, `Referrer-Policy: same-origin`]
};
exports.SECURITY_HEADERS = SECURITY_HEADERS;
const IMMUTABLE_CACHING_HEADER = `Cache-Control: public, max-age=31536000, immutable`;
exports.IMMUTABLE_CACHING_HEADER = IMMUTABLE_CACHING_HEADER;
const CACHING_HEADERS = {
"/static/*": [IMMUTABLE_CACHING_HEADER],
"/sw.js": [`Cache-Control: no-cache`]
};
exports.CACHING_HEADERS = CACHING_HEADERS;
const LINK_REGEX = /^(Link: <\/)(.+)(>;.+)/;
exports.LINK_REGEX = LINK_REGEX;
const ROOT_WILDCARD = `/*`;
exports.ROOT_WILDCARD = ROOT_WILDCARD;
const COMMON_BUNDLES = [`commons`, `app`];
exports.COMMON_BUNDLES = COMMON_BUNDLES;
const HEADER_COMMENT = `## Created with gatsby-plugin-netlify`;
exports.HEADER_COMMENT = HEADER_COMMENT;
const PAGE_DATA_DIR = `page-data/`;
exports.PAGE_DATA_DIR = PAGE_DATA_DIR;