mirror of
https://github.com/actions/configure-pages.git
synced 2026-03-29 09:24:52 +00:00
Compare commits
40 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2ce6d5eaa1 | ||
|
|
bb6976f8d1 | ||
|
|
f2098a32c3 | ||
|
|
7fa35a05fd | ||
|
|
c3113876b0 | ||
|
|
af5f3c3f72 | ||
|
|
ad83b485e7 | ||
|
|
a84400a87f | ||
|
|
7a0a617c8a | ||
|
|
062df390be | ||
|
|
7619de7040 | ||
|
|
66e9ac3c2e | ||
|
|
4012a9fa87 | ||
|
|
4a12ff50fb | ||
|
|
a07391ec25 | ||
|
|
2491ca8488 | ||
|
|
875ec87ff9 | ||
|
|
4eadc891b5 | ||
|
|
c4feb8d01e | ||
|
|
1f9ca39237 | ||
|
|
1cefe6fc7c | ||
|
|
25a1ec8799 | ||
|
|
b9c4ac6c14 | ||
|
|
6e4f93b15d | ||
|
|
069c984c5e | ||
|
|
b030b061cb | ||
|
|
45efe60937 | ||
|
|
35c001ded6 | ||
|
|
27457957e6 | ||
|
|
7ec0edaa8e | ||
|
|
d48340abcd | ||
|
|
f53b57ff56 | ||
|
|
6d1d650751 | ||
|
|
61fd3a3cc1 | ||
|
|
0ec542a837 | ||
|
|
3a90973fd3 | ||
|
|
dc5b850bfd | ||
|
|
9a141972ca | ||
|
|
7d9bb68583 | ||
|
|
ec022f4ae9 |
17
.eslintrc.json
Normal file
17
.eslintrc.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"env": {
|
||||
"commonjs": true,
|
||||
"es2021": true,
|
||||
"node": true,
|
||||
"jest": true
|
||||
},
|
||||
"plugins": ["github"],
|
||||
"extends": ["eslint:recommended", "prettier", "plugin:github/internal"],
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 12
|
||||
},
|
||||
"rules": {
|
||||
"semi": ["error", "never"]
|
||||
},
|
||||
"ignorePatterns": ["/dist/", "/src/fixtures/", "/src/blank-configurations/"]
|
||||
}
|
||||
42
.github/release-drafter.yml
vendored
42
.github/release-drafter.yml
vendored
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name-template: "v$RESOLVED_VERSION"
|
||||
tag-template: "v$RESOLVED_VERSION"
|
||||
name-template: 'v$RESOLVED_VERSION'
|
||||
tag-template: 'v$RESOLVED_VERSION'
|
||||
template: |
|
||||
# Changelog
|
||||
|
||||
@@ -8,33 +8,33 @@ template: |
|
||||
|
||||
See details of [all code changes](https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION) since previous release.
|
||||
categories:
|
||||
- title: "🚀 Features"
|
||||
- title: '🚀 Features'
|
||||
labels:
|
||||
- "feature"
|
||||
- "enhancement"
|
||||
- title: "🐛 Bug Fixes"
|
||||
- 'feature'
|
||||
- 'enhancement'
|
||||
- title: '🐛 Bug Fixes'
|
||||
labels:
|
||||
- "fix"
|
||||
- "bugfix"
|
||||
- "bug"
|
||||
- title: "🧰 Maintenance"
|
||||
- 'fix'
|
||||
- 'bugfix'
|
||||
- 'bug'
|
||||
- title: '🧰 Maintenance'
|
||||
labels:
|
||||
- "infrastructure"
|
||||
- "automation"
|
||||
- "documentation"
|
||||
- title: "🏎 Performance"
|
||||
label: "performance"
|
||||
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
|
||||
- 'infrastructure'
|
||||
- 'automation'
|
||||
- 'documentation'
|
||||
- title: '🏎 Performance'
|
||||
label: 'performance'
|
||||
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
|
||||
version-resolver:
|
||||
major:
|
||||
labels:
|
||||
- "type: breaking"
|
||||
- 'type: breaking'
|
||||
minor:
|
||||
labels:
|
||||
- "type: enhancement"
|
||||
- 'type: enhancement'
|
||||
patch:
|
||||
labels:
|
||||
- "type: bug"
|
||||
- "type: maintenance"
|
||||
- "type: documentation"
|
||||
- 'type: bug'
|
||||
- 'type: maintenance'
|
||||
- 'type: documentation'
|
||||
default: patch
|
||||
|
||||
5
.github/workflows/check-formatting.yml
vendored
5
.github/workflows/check-formatting.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: Checking formatting
|
||||
name: Check formatting
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -17,11 +17,12 @@ concurrency:
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 2
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Node.JS
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16.x
|
||||
|
||||
35
.github/workflows/lint.yml
vendored
Normal file
35
.github/workflows/lint.yml
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
name: Lint code
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
# This allows a subsequently queued workflow run to interrupt previous runs
|
||||
concurrency:
|
||||
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 2
|
||||
steps:
|
||||
- name: Check out repo
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Run linter
|
||||
run: npm run lint:check
|
||||
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@@ -1,11 +1,11 @@
|
||||
name: Release
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
types: [released]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
TAG_NAME:
|
||||
description: "Tag name that the major tag will point to"
|
||||
description: 'Tag name that the major tag will point to'
|
||||
required: true
|
||||
|
||||
env:
|
||||
|
||||
5
.prettierignore
Normal file
5
.prettierignore
Normal file
@@ -0,0 +1,5 @@
|
||||
# Ignore build artifacts
|
||||
/dist/
|
||||
|
||||
# Ignore all Markdown files
|
||||
*.md
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
A GitHub Action to enable Pages and extract various metadata about a site. It can also be used to configure various static site generators we support as [starter workflows][starter-workflows].
|
||||
|
||||
See [`set-pages-path.js`](src/set-pages-path.js) for more details on how we configure static site generators to work "out of the box" with GitHub Pages.
|
||||
See [`set-pages-config.js`](src/set-pages-config.js) for more details on how we configure static site generators to work "out of the box" with GitHub Pages.
|
||||
|
||||
# Usage
|
||||
|
||||
@@ -26,7 +26,7 @@ The scripts and documentation in this project are released under the [MIT Licens
|
||||
|
||||
<!-- references -->
|
||||
[starter-workflows]: https://github.com/actions/starter-workflows/tree/main/pages
|
||||
[release-list]: /releases
|
||||
[release-list]: https://github.com/actions/configure-pages/releases
|
||||
[draft-release]: .github/workflows/draft-release.yml
|
||||
[release]: .github/workflows/release.yml
|
||||
[release-workflow-runs]: /actions/workflows/release.yml
|
||||
[release-workflow-runs]: https://github.com/actions/configure-pages/actions/workflows/release.yml
|
||||
|
||||
@@ -21,10 +21,10 @@ inputs:
|
||||
required: false
|
||||
outputs:
|
||||
base_url:
|
||||
description: 'GitHub Pages site full base URL. Examples: "https://octocat.github.io/my-repo/", "https://octocat.github.io/", "https://www.example.com/"'
|
||||
description: 'GitHub Pages site full base URL. Examples: "https://octocat.github.io/my-repo", "https://octocat.github.io", "https://www.example.com"'
|
||||
origin:
|
||||
description: 'GitHub Pages site origin. Examples: "https://octocat.github.io", "https://www.example.com"'
|
||||
host:
|
||||
description: 'GitHub Pages site host. Examples: "octocat.github.io", "www.example.com"'
|
||||
base_path:
|
||||
description: 'GitHub Pages site full base path. Examples: "/my-repo/" or "/"'
|
||||
description: 'GitHub Pages site full base path. Examples: "/my-repo" or ""'
|
||||
|
||||
935
dist/index.js
vendored
935
dist/index.js
vendored
File diff suppressed because it is too large
Load Diff
2
dist/index.js.map
vendored
2
dist/index.js.map
vendored
File diff suppressed because one or more lines are too long
13
dist/licenses.txt
vendored
13
dist/licenses.txt
vendored
@@ -608,3 +608,16 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
uuid
|
||||
MIT
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2010-2020 Robert Kieffer and other contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
3887
package-lock.json
generated
3887
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
18
package.json
18
package.json
@@ -5,9 +5,12 @@
|
||||
"description": "A GitHub Action to enable Pages and extract various metadata about a site. It can also be used to configure various static site generators we support as starter workflows.",
|
||||
"main": "./dist/index.js",
|
||||
"scripts": {
|
||||
"format": "prettier --write 'src/**/*.js'",
|
||||
"format:check": "prettier --check 'src/**/*.js'",
|
||||
"prepare": "npm run format && ncc build src/index.js -o dist --source-map --license licenses.txt",
|
||||
"all": "npm run format && npm run lint && npm run prepare && npm run test",
|
||||
"format": "prettier --write .",
|
||||
"format:check": "prettier --check .",
|
||||
"lint": "DEBUG=eslint:cli-engine eslint --fix .",
|
||||
"lint:check": "DEBUG=eslint:cli-engine eslint .",
|
||||
"prepare": "ncc build src/index.js -o dist --source-map --license licenses.txt",
|
||||
"test": "jest"
|
||||
},
|
||||
"repository": {
|
||||
@@ -21,14 +24,15 @@
|
||||
},
|
||||
"homepage": "https://github.com/actions/configure-pages#readme",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.8.2",
|
||||
"@actions/core": "^1.9.1",
|
||||
"axios": "^0.27.2",
|
||||
"axios-retry": "^3.2.5",
|
||||
"espree": "^9.3.2",
|
||||
"string-format": "^1.0.0"
|
||||
"espree": "^9.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vercel/ncc": "^0.34.0",
|
||||
"eslint": "^8.23.1",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-github": "^4.3.7",
|
||||
"jest": "^28.1.1",
|
||||
"prettier": "^2.7.1"
|
||||
}
|
||||
|
||||
@@ -33,21 +33,17 @@ async function enablePagesSite({ repositoryNwo, githubToken }) {
|
||||
}
|
||||
|
||||
async function getPagesSite({ repositoryNwo, githubToken }) {
|
||||
try {
|
||||
const pagesEndpoint = `${getApiBaseUrl()}/repos/${repositoryNwo}/pages`
|
||||
const pagesEndpoint = `${getApiBaseUrl()}/repos/${repositoryNwo}/pages`
|
||||
|
||||
const response = await axios.get(pagesEndpoint, {
|
||||
headers: {
|
||||
Accept: 'application/vnd.github.v3+json',
|
||||
Authorization: `Bearer ${githubToken}`
|
||||
}
|
||||
})
|
||||
const response = await axios.get(pagesEndpoint, {
|
||||
headers: {
|
||||
Accept: 'application/vnd.github.v3+json',
|
||||
Authorization: `Bearer ${githubToken}`
|
||||
}
|
||||
})
|
||||
|
||||
const pageObject = response.data
|
||||
return pageObject
|
||||
} catch (error) {
|
||||
throw error
|
||||
}
|
||||
const pageObject = response.data
|
||||
return pageObject
|
||||
}
|
||||
|
||||
async function findOrCreatePagesSite({ repositoryNwo, githubToken, enablement = true }) {
|
||||
|
||||
@@ -184,11 +184,12 @@ class ConfigParser {
|
||||
throw 'Could not find a configuration object in the configuration file'
|
||||
}
|
||||
|
||||
// A property may be nested in the configuration file. Split the property name with `.`
|
||||
// A property may be nested in the configuration file. Split the property name with '.'
|
||||
// then walk the configuration object one property at a time.
|
||||
var depth = 0
|
||||
const properties = propertyName.split('.')
|
||||
var lastNode = configurationObject
|
||||
// eslint-disable-next-line no-constant-condition
|
||||
while (true) {
|
||||
// Find the node for the current property
|
||||
var propertyNode = this.findProperty(lastNode, properties[depth])
|
||||
@@ -265,7 +266,7 @@ class ConfigParser {
|
||||
}
|
||||
|
||||
// Logging
|
||||
core.info(`Injection successful, new configuration:`)
|
||||
core.info('Injection successful, new configuration:')
|
||||
core.info(this.configuration)
|
||||
|
||||
// Finally write the new configuration in the file
|
||||
|
||||
@@ -14,79 +14,79 @@ const cases = [
|
||||
//
|
||||
{
|
||||
property: 'property',
|
||||
source: `export default {}`,
|
||||
expected: `export default { property: "value" }`
|
||||
source: 'export default {}',
|
||||
expected: 'export default { property: "value" }'
|
||||
},
|
||||
{
|
||||
property: 'property',
|
||||
source: `export default { property: 0 }`, // property exists and is a number
|
||||
expected: `export default { property: "value" }`
|
||||
source: 'export default { property: 0 }', // property exists and is a number
|
||||
expected: 'export default { property: "value" }'
|
||||
},
|
||||
{
|
||||
property: 'property',
|
||||
source: `export default { property: false }`, // property exists and is a boolean
|
||||
expected: `export default { property: "value" }`
|
||||
source: 'export default { property: false }', // property exists and is a boolean
|
||||
expected: 'export default { property: "value" }'
|
||||
},
|
||||
{
|
||||
property: 'property',
|
||||
source: `export default { property: "test" }`, // property exists and is a string
|
||||
expected: `export default { property: "value" }`
|
||||
source: 'export default { property: "test" }', // property exists and is a string
|
||||
expected: 'export default { property: "value" }'
|
||||
},
|
||||
{
|
||||
property: 'property',
|
||||
source: `export default { property: [1,2] }`, // property exists and is an array
|
||||
expected: `export default { property: "value" }`
|
||||
source: 'export default { property: [1,2] }', // property exists and is an array
|
||||
expected: 'export default { property: "value" }'
|
||||
},
|
||||
{
|
||||
property: 'property',
|
||||
source: `export default { property: null }`, // property exists and is null
|
||||
expected: `export default { property: "value" }`
|
||||
source: 'export default { property: null }', // property exists and is null
|
||||
expected: 'export default { property: "value" }'
|
||||
},
|
||||
{
|
||||
property: 'property',
|
||||
source: `export default { property: {}}`, // property exists and is an object
|
||||
expected: `export default { property: "value" }`
|
||||
source: 'export default { property: { } }', // property exists and is an object
|
||||
expected: 'export default { property: "value" }'
|
||||
},
|
||||
|
||||
// Deep properties (injection 1)
|
||||
{
|
||||
property: 'property.b.c',
|
||||
source: `export default {}`,
|
||||
expected: `export default { property: { b: { c: "value" }}}`
|
||||
source: 'export default {}',
|
||||
expected: 'export default { property: { b: { c: "value" } } }'
|
||||
},
|
||||
{
|
||||
property: 'property.b.c',
|
||||
source: `export default { property: 0 }`, // property exists and is a number
|
||||
expected: `export default { property: { b: { c: "value" }}}`
|
||||
source: 'export default { property: 0 }', // property exists and is a number
|
||||
expected: 'export default { property: { b: { c: "value" } } }'
|
||||
},
|
||||
{
|
||||
property: 'property.b.c',
|
||||
source: `export default { property: {}}`, // property exists and is an object
|
||||
expected: `export default { property: { b: { c: "value" }}}`
|
||||
source: 'export default { property: { } }', // property exists and is an object
|
||||
expected: 'export default { property: { b: { c: "value" } } }'
|
||||
},
|
||||
|
||||
// Deep properties (injection 2)
|
||||
{
|
||||
property: 'property.b.c',
|
||||
source: `export default { property: { b: 0 }}`, // property exists and is a number
|
||||
expected: `export default { property: { b: { c: "value" }}}`
|
||||
source: 'export default { property: { b: 0 } }', // property exists and is a number
|
||||
expected: 'export default { property: { b: { c: "value" } } }'
|
||||
},
|
||||
{
|
||||
property: 'property.b.c',
|
||||
source: `export default { property: { b: {}}}`, // property exists and is an object
|
||||
expected: `export default { property: { b: { c: "value" }}}`
|
||||
source: 'export default { property: { b: { } } }', // property exists and is an object
|
||||
expected: 'export default { property: { b: { c: "value" } } }'
|
||||
},
|
||||
{
|
||||
property: 'property.b.c',
|
||||
source: `export default { property: { b: { hello: 123}}}`, // property exists and is a non-empty object
|
||||
expected: `export default { property: { b: { c: "value", hello: 123 }}}`
|
||||
source: 'export default { property: { b: { hello: 123 } } }', // property exists and is a non-empty object
|
||||
expected: 'export default { property: { b: { c: "value", hello: 123 } } }'
|
||||
},
|
||||
|
||||
// Deep properties (existing properties)
|
||||
{
|
||||
property: 'a1.a2',
|
||||
source: `export default { a2: false, a1: { a3: [12]}}`, // property exists and is a non-empty object
|
||||
expected: `export default { a2: false, a1: { a2: "value", a3: [12]}}`
|
||||
source: 'export default { a2: false, a1: { a3: [12] } }', // property exists and is a non-empty object
|
||||
expected: 'export default { a2: false, a1: { a2: "value", a3: [12] } }'
|
||||
},
|
||||
|
||||
//
|
||||
@@ -94,23 +94,23 @@ const cases = [
|
||||
//
|
||||
{
|
||||
property: 'property',
|
||||
source: `const config = {}; export default config`,
|
||||
expected: `const config = { property: "value"}; export default config`
|
||||
source: 'const config = {}; export default config',
|
||||
expected: 'const config = { property: "value"}; export default config'
|
||||
},
|
||||
{
|
||||
property: 'property',
|
||||
source: `var config = {}; export default config`,
|
||||
expected: `var config = { property: "value"}; export default config`
|
||||
source: 'var config = {}; export default config',
|
||||
expected: 'var config = { property: "value"}; export default config'
|
||||
},
|
||||
{
|
||||
property: 'a.b.c',
|
||||
source: `var config = {}; export default config`,
|
||||
expected: `var config = { a: { b: { c: "value"}}}; export default config`
|
||||
source: 'var config = {}; export default config',
|
||||
expected: 'var config = { a: { b: { c: "value" } } }; export default config'
|
||||
},
|
||||
{
|
||||
property: 'a.b.c',
|
||||
source: `var config = { a: { b: [], c: "hello"}}; export default config`,
|
||||
expected: `var config = { a: { b: { c: "value"}, c: "hello"}}; export default config`
|
||||
source: 'var config = { a: { b: [], c: "hello" } }; export default config',
|
||||
expected: 'var config = { a: { b: { c: "value"}, c: "hello" } }; export default config'
|
||||
},
|
||||
|
||||
//
|
||||
@@ -118,18 +118,18 @@ const cases = [
|
||||
//
|
||||
{
|
||||
property: 'property',
|
||||
source: `module.exports = {}`,
|
||||
expected: `module.exports = { property: "value"}`
|
||||
source: 'module.exports = {}',
|
||||
expected: 'module.exports = { property: "value"}'
|
||||
},
|
||||
{
|
||||
property: 'property',
|
||||
source: `module.exports = { p1: 0}`,
|
||||
expected: `module.exports = { property: "value", p1: 0}`
|
||||
source: 'module.exports = { p1: 0}',
|
||||
expected: 'module.exports = { property: "value", p1: 0}'
|
||||
},
|
||||
{
|
||||
property: 'a.b.c',
|
||||
source: `module.exports = { p1: 0}`,
|
||||
expected: `module.exports = { a: { b: { c: "value" }}, p1: 0}`
|
||||
source: 'module.exports = { p1: 0}',
|
||||
expected: 'module.exports = { a: { b: { c: "value" } }, p1: 0}'
|
||||
},
|
||||
|
||||
//
|
||||
@@ -137,23 +137,23 @@ const cases = [
|
||||
//
|
||||
{
|
||||
property: 'property',
|
||||
source: `const config = {}; module.exports = config`,
|
||||
expected: `const config = { property: "value"}; module.exports = config`
|
||||
source: 'const config = {}; module.exports = config',
|
||||
expected: 'const config = { property: "value"}; module.exports = config'
|
||||
},
|
||||
{
|
||||
property: 'property',
|
||||
source: `var config = {}; module.exports = config`,
|
||||
expected: `var config = { property: "value"}; module.exports = config`
|
||||
source: 'var config = {}; module.exports = config',
|
||||
expected: 'var config = { property: "value"}; module.exports = config'
|
||||
},
|
||||
{
|
||||
property: 'a.b.c',
|
||||
source: `var config = {}; module.exports = config`,
|
||||
expected: `var config = { a: { b: { c: "value"}}}; module.exports = config`
|
||||
source: 'var config = {}; module.exports = config',
|
||||
expected: 'var config = { a: { b: { c: "value" } } }; module.exports = config'
|
||||
},
|
||||
{
|
||||
property: 'a.b.c',
|
||||
source: `var config = { a: { b: [], c: "hello"}}; module.exports = config`,
|
||||
expected: `var config = { a: { b: { c: "value"}, c: "hello"}}; module.exports = config`
|
||||
source: 'var config = { a: { b: [], c: "hello" } }; module.exports = config',
|
||||
expected: 'var config = { a: { b: { c: "value"}, c: "hello" } }; module.exports = config'
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// Default Pages configuration for Gatsby
|
||||
module.exports = { pathPrefix: '/docs/' }
|
||||
module.exports = { siteMetadata: { siteUrl: 'https://configure-pages.github.io' }, pathPrefix: '/docs/' }
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
module.exports = {
|
||||
siteMetadata: {
|
||||
title: `My Gatsby Site`,
|
||||
siteUrl: `https://www.yourdomain.tld`,
|
||||
title: 'My Gatsby Site'
|
||||
},
|
||||
plugins: [],
|
||||
}
|
||||
plugins: []
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
module.exports = {
|
||||
pathPrefix: "/docs/",
|
||||
pathPrefix: '/docs/',
|
||||
siteMetadata: {
|
||||
title: `My Gatsby Site`,
|
||||
siteUrl: `https://www.yourdomain.tld`,
|
||||
siteUrl: 'https://configure-pages.github.io',
|
||||
title: 'My Gatsby Site'
|
||||
},
|
||||
plugins: [],
|
||||
}
|
||||
plugins: []
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
module.exports = {
|
||||
pathPrefix: '/docs/',
|
||||
siteMetadata: {
|
||||
title: `My Gatsby Site`,
|
||||
siteUrl: `https://www.yourdomain.tld`
|
||||
siteUrl: 'https://configure-pages.github.io',
|
||||
title: 'My Gatsby Site'
|
||||
},
|
||||
plugins: []
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
export default {
|
||||
pathPrefix: "/docs/",
|
||||
pathPrefix: '/docs/',
|
||||
siteMetadata: {
|
||||
title: `My Gatsby Site`,
|
||||
siteUrl: `https://www.yourdomain.tld`,
|
||||
siteUrl: 'https://configure-pages.github.io',
|
||||
title: 'My Gatsby Site'
|
||||
},
|
||||
plugins: [],
|
||||
}
|
||||
plugins: []
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
module.exports = {
|
||||
siteMetadata: {
|
||||
title: `My Gatsby Site`,
|
||||
siteUrl: `https://www.yourdomain.tld`
|
||||
title: 'My Gatsby Site'
|
||||
},
|
||||
plugins: []
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
export default {
|
||||
siteMetadata: {
|
||||
title: `My Gatsby Site`,
|
||||
siteUrl: `https://www.yourdomain.tld`,
|
||||
title: 'My Gatsby Site'
|
||||
},
|
||||
plugins: [],
|
||||
}
|
||||
plugins: []
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
reactStrictMode: true,
|
||||
swcMinify: true,
|
||||
swcMinify: true
|
||||
}
|
||||
|
||||
module.exports = nextConfig
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
experimental: {images: {unoptimized: true}},
|
||||
experimental: { images: { unoptimized: true } },
|
||||
basePath: '/docs',
|
||||
reactStrictMode: true,
|
||||
swcMinify: true
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
experimental: {images: {unoptimized: true}},
|
||||
experimental: { images: { unoptimized: true } },
|
||||
basePath: '/docs',
|
||||
reactStrictMode: true,
|
||||
swcMinify: true
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
reactStrictMode: true,
|
||||
swcMinify: true,
|
||||
swcMinify: true
|
||||
}
|
||||
|
||||
export default nextConfig
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
const getAllDynamicRoute = async function() {
|
||||
const getAllDynamicRoute = async function () {
|
||||
const routes = await (async () => {
|
||||
return ['/posts/hello-world', '/posts/hello-again'];
|
||||
})();
|
||||
return routes;
|
||||
};
|
||||
return ['/posts/hello-world', '/posts/hello-again']
|
||||
})()
|
||||
return routes
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
mode: 'universal',
|
||||
generate: {
|
||||
async routes () {
|
||||
return getAllDynamicRoute();
|
||||
async routes() {
|
||||
return getAllDynamicRoute()
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
const getAllDynamicRoute = async function() {
|
||||
const getAllDynamicRoute = async function () {
|
||||
const routes = await (async () => {
|
||||
return ['/posts/hello-world', '/posts/hello-again'];
|
||||
})();
|
||||
return routes;
|
||||
};
|
||||
return ['/posts/hello-world', '/posts/hello-again']
|
||||
})()
|
||||
return routes
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
target: 'static',
|
||||
router: {base: '/docs/'},
|
||||
router: { base: '/docs/' },
|
||||
mode: 'universal',
|
||||
generate: {
|
||||
async routes () {
|
||||
return getAllDynamicRoute();
|
||||
async routes() {
|
||||
return getAllDynamicRoute()
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
const getAllDynamicRoute = async function() {
|
||||
const getAllDynamicRoute = async function () {
|
||||
const routes = await (async () => {
|
||||
return ['/posts/hello-world', '/posts/hello-again'];
|
||||
})();
|
||||
return routes;
|
||||
};
|
||||
return ['/posts/hello-world', '/posts/hello-again']
|
||||
})()
|
||||
return routes
|
||||
}
|
||||
|
||||
export default {
|
||||
target: 'static',
|
||||
router: {base: '/docs/'},
|
||||
router: { base: '/docs/' },
|
||||
mode: 'universal',
|
||||
generate: {
|
||||
async routes () {
|
||||
return getAllDynamicRoute();
|
||||
async routes() {
|
||||
return getAllDynamicRoute()
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
const getAllDynamicRoute = async function() {
|
||||
const getAllDynamicRoute = async function () {
|
||||
const routes = await (async () => {
|
||||
return ['/posts/hello-world', '/posts/hello-again'];
|
||||
})();
|
||||
return routes;
|
||||
};
|
||||
return ['/posts/hello-world', '/posts/hello-again']
|
||||
})()
|
||||
return routes
|
||||
}
|
||||
|
||||
export default {
|
||||
mode: 'universal',
|
||||
generate: {
|
||||
async routes () {
|
||||
return getAllDynamicRoute();
|
||||
async routes() {
|
||||
return getAllDynamicRoute()
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,31 +14,24 @@ module.exports = {
|
||||
{ hid: 'description', name: 'description', content: '' },
|
||||
{ name: 'format-detection', content: 'telephone=no' }
|
||||
],
|
||||
link: [
|
||||
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
|
||||
]
|
||||
link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }]
|
||||
},
|
||||
|
||||
// Global CSS: https://go.nuxtjs.dev/config-css
|
||||
css: [
|
||||
],
|
||||
css: [],
|
||||
|
||||
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
|
||||
plugins: [
|
||||
],
|
||||
plugins: [],
|
||||
|
||||
// Auto import components: https://go.nuxtjs.dev/config-components
|
||||
components: true,
|
||||
|
||||
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
|
||||
buildModules: [
|
||||
],
|
||||
buildModules: [],
|
||||
|
||||
// Modules: https://go.nuxtjs.dev/config-modules
|
||||
modules: [
|
||||
],
|
||||
modules: [],
|
||||
|
||||
// Build Configuration: https://go.nuxtjs.dev/config-build
|
||||
build: {
|
||||
}
|
||||
}
|
||||
build: {}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
module.exports = {
|
||||
// Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode
|
||||
target: 'static',
|
||||
router: { base: "/docs/" },
|
||||
router: { base: '/docs/' },
|
||||
ssr: false,
|
||||
|
||||
// Global page headers: https://go.nuxtjs.dev/config-head
|
||||
@@ -16,31 +16,24 @@ module.exports = {
|
||||
{ hid: 'description', name: 'description', content: '' },
|
||||
{ name: 'format-detection', content: 'telephone=no' }
|
||||
],
|
||||
link: [
|
||||
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
|
||||
]
|
||||
link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }]
|
||||
},
|
||||
|
||||
// Global CSS: https://go.nuxtjs.dev/config-css
|
||||
css: [
|
||||
],
|
||||
css: [],
|
||||
|
||||
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
|
||||
plugins: [
|
||||
],
|
||||
plugins: [],
|
||||
|
||||
// Auto import components: https://go.nuxtjs.dev/config-components
|
||||
components: true,
|
||||
|
||||
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
|
||||
buildModules: [
|
||||
],
|
||||
buildModules: [],
|
||||
|
||||
// Modules: https://go.nuxtjs.dev/config-modules
|
||||
modules: [
|
||||
],
|
||||
modules: [],
|
||||
|
||||
// Build Configuration: https://go.nuxtjs.dev/config-build
|
||||
build: {
|
||||
}
|
||||
}
|
||||
build: {}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
export default {
|
||||
// Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode
|
||||
target: 'static',
|
||||
router: { base: "/docs/" },
|
||||
router: { base: '/docs/' },
|
||||
ssr: false,
|
||||
|
||||
// Global page headers: https://go.nuxtjs.dev/config-head
|
||||
@@ -16,31 +16,24 @@ export default {
|
||||
{ hid: 'description', name: 'description', content: '' },
|
||||
{ name: 'format-detection', content: 'telephone=no' }
|
||||
],
|
||||
link: [
|
||||
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
|
||||
]
|
||||
link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }]
|
||||
},
|
||||
|
||||
// Global CSS: https://go.nuxtjs.dev/config-css
|
||||
css: [
|
||||
],
|
||||
css: [],
|
||||
|
||||
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
|
||||
plugins: [
|
||||
],
|
||||
plugins: [],
|
||||
|
||||
// Auto import components: https://go.nuxtjs.dev/config-components
|
||||
components: true,
|
||||
|
||||
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
|
||||
buildModules: [
|
||||
],
|
||||
buildModules: [],
|
||||
|
||||
// Modules: https://go.nuxtjs.dev/config-modules
|
||||
modules: [
|
||||
],
|
||||
modules: [],
|
||||
|
||||
// Build Configuration: https://go.nuxtjs.dev/config-build
|
||||
build: {
|
||||
}
|
||||
}
|
||||
build: {}
|
||||
}
|
||||
|
||||
@@ -14,31 +14,24 @@ export default {
|
||||
{ hid: 'description', name: 'description', content: '' },
|
||||
{ name: 'format-detection', content: 'telephone=no' }
|
||||
],
|
||||
link: [
|
||||
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
|
||||
]
|
||||
link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }]
|
||||
},
|
||||
|
||||
// Global CSS: https://go.nuxtjs.dev/config-css
|
||||
css: [
|
||||
],
|
||||
css: [],
|
||||
|
||||
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
|
||||
plugins: [
|
||||
],
|
||||
plugins: [],
|
||||
|
||||
// Auto import components: https://go.nuxtjs.dev/config-components
|
||||
components: true,
|
||||
|
||||
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
|
||||
buildModules: [
|
||||
],
|
||||
buildModules: [],
|
||||
|
||||
// Modules: https://go.nuxtjs.dev/config-modules
|
||||
modules: [
|
||||
],
|
||||
modules: [],
|
||||
|
||||
// Build Configuration: https://go.nuxtjs.dev/config-build
|
||||
build: {
|
||||
}
|
||||
}
|
||||
build: {}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import adapter from '@sveltejs/adapter-auto'
|
||||
|
||||
export default {
|
||||
kit: {
|
||||
prerender: { origin: 'https://configure-pages.github.io' },
|
||||
paths: { base: '/docs' },
|
||||
adapter: adapter()
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import adapter from '@sveltejs/adapter-auto'
|
||||
/** @type {import('@sveltejs/kit').Config} */
|
||||
const config = {
|
||||
kit: {
|
||||
prerender: { origin: 'https://configure-pages.github.io' },
|
||||
paths: { base: '/docs' },
|
||||
adapter: adapter()
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ const core = require('@actions/core')
|
||||
const { getContext } = require('./context')
|
||||
|
||||
const { findOrCreatePagesSite } = require('./api-client')
|
||||
const { setPagesPath } = require('./set-pages-path')
|
||||
const { setPagesConfig } = require('./set-pages-config')
|
||||
const outputPagesBaseUrl = require('./output-pages-base-url')
|
||||
|
||||
async function main() {
|
||||
@@ -15,7 +15,7 @@ async function main() {
|
||||
const siteUrl = new URL(pageObject.html_url)
|
||||
|
||||
if (staticSiteGenerator) {
|
||||
setPagesPath({ staticSiteGenerator, generatorConfigFile, path: siteUrl.pathname })
|
||||
setPagesConfig({ staticSiteGenerator, generatorConfigFile, siteUrl })
|
||||
}
|
||||
outputPagesBaseUrl(siteUrl)
|
||||
core.exportVariable('GITHUB_PAGES', 'true')
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
const core = require('@actions/core')
|
||||
const removeTrailingSlash = require('./remove-trailing-slash')
|
||||
|
||||
function outputPagesBaseUrl(siteUrl) {
|
||||
core.setOutput('base_url', siteUrl.href)
|
||||
// Many static site generators do not want the trailing slash, and it is much easier to add than remove in a workflow
|
||||
const baseUrl = removeTrailingSlash(siteUrl.href)
|
||||
const basePath = removeTrailingSlash(siteUrl.pathname)
|
||||
|
||||
core.setOutput('base_url', baseUrl)
|
||||
core.setOutput('origin', siteUrl.origin)
|
||||
core.setOutput('host', siteUrl.host)
|
||||
core.setOutput('base_path', siteUrl.pathname)
|
||||
core.setOutput('base_path', basePath)
|
||||
}
|
||||
|
||||
module.exports = outputPagesBaseUrl
|
||||
|
||||
@@ -23,10 +23,10 @@ describe('outputPagesBaseUrl', () => {
|
||||
|
||||
outputPagesBaseUrl(new URL(baseUrl))
|
||||
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_url', baseUrl)
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_url', 'https://octocat.github.io')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('origin', 'https://octocat.github.io')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('host', 'octocat.github.io')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_path', '/')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_path', '')
|
||||
})
|
||||
|
||||
it('gets expected outputs for project site', async () => {
|
||||
@@ -34,10 +34,10 @@ describe('outputPagesBaseUrl', () => {
|
||||
|
||||
outputPagesBaseUrl(new URL(baseUrl))
|
||||
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_url', baseUrl)
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_url', 'https://octocat.github.io/my-repo')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('origin', 'https://octocat.github.io')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('host', 'octocat.github.io')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_path', '/my-repo/')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_path', '/my-repo')
|
||||
})
|
||||
|
||||
it('gets expected outputs for site with custom domain name', async () => {
|
||||
@@ -45,9 +45,9 @@ describe('outputPagesBaseUrl', () => {
|
||||
|
||||
outputPagesBaseUrl(new URL(baseUrl))
|
||||
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_url', baseUrl)
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_url', 'https://www.example.com')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('origin', 'https://www.example.com')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('host', 'www.example.com')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_path', '/')
|
||||
expect(core.setOutput).toHaveBeenCalledWith('base_path', '')
|
||||
})
|
||||
})
|
||||
|
||||
3
src/remove-trailing-slash.js
Normal file
3
src/remove-trailing-slash.js
Normal file
@@ -0,0 +1,3 @@
|
||||
module.exports = function removeTrailingSlash(str) {
|
||||
return str.endsWith('/') ? str.slice(0, -1) : str
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
const core = require('@actions/core')
|
||||
const { ConfigParser } = require('./config-parser')
|
||||
const removeTrailingSlash = require('./remove-trailing-slash')
|
||||
|
||||
// Return the settings to be passed to a {ConfigParser} for a given static site generator,
|
||||
// optional configuration file path, and a Pages path value to inject
|
||||
function getConfigParserSettings({ staticSiteGenerator, generatorConfigFile, path }) {
|
||||
// optional configuration file path, and a Pages siteUrl value to inject
|
||||
function getConfigParserSettings({ staticSiteGenerator, generatorConfigFile, siteUrl }) {
|
||||
let { pathname: path, origin } = siteUrl
|
||||
|
||||
switch (staticSiteGenerator) {
|
||||
case 'nuxt':
|
||||
return {
|
||||
@@ -20,9 +23,7 @@ function getConfigParserSettings({ staticSiteGenerator, generatorConfigFile, pat
|
||||
}
|
||||
case 'next':
|
||||
// Next does not want a trailing slash
|
||||
if (path.endsWith('/')) {
|
||||
path = path.slice(0, -1)
|
||||
}
|
||||
path = removeTrailingSlash(path)
|
||||
|
||||
return {
|
||||
configurationFile: generatorConfigFile || './next.config.js',
|
||||
@@ -42,21 +43,23 @@ function getConfigParserSettings({ staticSiteGenerator, generatorConfigFile, pat
|
||||
blankConfigurationFile: `${__dirname}/blank-configurations/gatsby.js`,
|
||||
properties: {
|
||||
// Configure a path prefix
|
||||
pathPrefix: path
|
||||
pathPrefix: path,
|
||||
// Configure a site url
|
||||
'siteMetadata.siteUrl': origin
|
||||
}
|
||||
}
|
||||
case 'sveltekit':
|
||||
// SvelteKit does not want a trailing slash
|
||||
if (path.endsWith('/')) {
|
||||
path = path.slice(0, -1)
|
||||
}
|
||||
path = removeTrailingSlash(path)
|
||||
|
||||
return {
|
||||
configurationFile: generatorConfigFile || './svelte.config.js',
|
||||
blankConfigurationFile: `${__dirname}/blank-configurations/sveltekit.js`,
|
||||
properties: {
|
||||
// Configure a base path
|
||||
'kit.paths.base': path
|
||||
'kit.paths.base': path,
|
||||
// Configure a prerender origin
|
||||
'kit.prerender.origin': origin
|
||||
}
|
||||
}
|
||||
default:
|
||||
@@ -65,18 +68,18 @@ function getConfigParserSettings({ staticSiteGenerator, generatorConfigFile, pat
|
||||
}
|
||||
|
||||
// Inject Pages configuration in a given static site generator's configuration file
|
||||
function setPagesPath({ staticSiteGenerator, generatorConfigFile, path }) {
|
||||
function setPagesConfig({ staticSiteGenerator, generatorConfigFile, siteUrl }) {
|
||||
try {
|
||||
// Parse the configuration file and try to inject the Pages configuration in it
|
||||
const settings = getConfigParserSettings({ staticSiteGenerator, generatorConfigFile, path })
|
||||
const settings = getConfigParserSettings({ staticSiteGenerator, generatorConfigFile, siteUrl })
|
||||
new ConfigParser(settings).injectAll()
|
||||
} catch (error) {
|
||||
// Logging
|
||||
core.warning(
|
||||
`We were unable to determine how to inject the site metadata into your config. Generated URLs may be incorrect. The base URL for this site should be ${path}. Please ensure your framework is configured to generate relative links appropriately.`,
|
||||
`We were unable to determine how to inject the site metadata into your config. Generated URLs may be incorrect. The base URL for this site should be ${siteUrl}. Please ensure your framework is configured to generate relative links appropriately.`,
|
||||
error
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { getConfigParserSettings, setPagesPath }
|
||||
module.exports = { getConfigParserSettings, setPagesConfig }
|
||||
@@ -2,7 +2,7 @@ const fs = require('fs')
|
||||
const path = require('path')
|
||||
const core = require('@actions/core')
|
||||
|
||||
const { getConfigParserSettings } = require('./set-pages-path')
|
||||
const { getConfigParserSettings } = require('./set-pages-config')
|
||||
const { ConfigParser } = require('./config-parser')
|
||||
const { getTempFolder, compareFiles } = require('./test-helpers')
|
||||
|
||||
@@ -32,6 +32,9 @@ describe('configParser', () => {
|
||||
// Get fixture files, excluding expected results
|
||||
const configurationFiles = fs.readdirSync(fixtureFolder).filter(filename => !filename.includes('.expected.'))
|
||||
|
||||
// Create test siteUrl
|
||||
const siteUrl = new URL('https://configure-pages.github.io/docs/')
|
||||
|
||||
// Iterate over the fixtures, outputting to default configuration file path
|
||||
const defaultFileExtension = '.js'
|
||||
configurationFiles
|
||||
@@ -48,7 +51,7 @@ describe('configParser', () => {
|
||||
}
|
||||
|
||||
// Get settings for the static site generator
|
||||
const settings = getConfigParserSettings({ staticSiteGenerator, path: '/docs/' })
|
||||
const settings = getConfigParserSettings({ staticSiteGenerator, siteUrl })
|
||||
// Update the settings
|
||||
settings.configurationFile = fixtureTargetFile
|
||||
// Do the injection
|
||||
@@ -84,7 +87,7 @@ describe('configParser', () => {
|
||||
const settings = getConfigParserSettings({
|
||||
staticSiteGenerator,
|
||||
generatorConfigFile: fixtureTargetFile,
|
||||
path: '/docs/'
|
||||
siteUrl
|
||||
})
|
||||
|
||||
// Do the injection
|
||||
Reference in New Issue
Block a user