Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
0049b6a
Docs build fixes for 1.792
nicjansma Feb 6, 2024
85fd17c
BFCache: NotRestoredReasons API change to final shape
nicjansma Apr 5, 2024
79042f5
Loader Snippet: Append to BODY if available
nicjansma Sep 4, 2024
1f68faf
ResTiming: Added contentType, deliveryType, renderBlockingStatus, res…
nicjansma Oct 1, 2024
7c39fbd
PaintTiming: Reset LCP data on new events
nicjansma Oct 1, 2024
e05c9b5
Tests: Test fixes
nicjansma Oct 23, 2024
c4639e7
BW: Added testing for bandwidth plugin
eoinf321 Oct 30, 2024
c53ed59
Lint: New ESLint rules
nicjansma Nov 18, 2024
107adc3
Misc: Spelling fixes
nicjansma Nov 18, 2024
df9d351
EventTiming: Include Input and Processing times
nicjansma Nov 16, 2024
09e1499
Build: Switch npm run commands to use local node_modules/.bin/
nicjansma Nov 16, 2024
5b34ae3
Continuity: Read ead buffered Long Tasks
nicjansma Nov 16, 2024
f0bf42a
Loader Snippet v16 final
nicjansma Nov 11, 2024
52ee659
Lint: Template rebuilds post-merge
nicjansma Nov 25, 2024
b526645
Tests: Tweak numbers for intermittently failing tests
nicjansma Nov 19, 2024
2334a42
Boomerang: Smarter defaults for 2024+
nicjansma Nov 17, 2024
affa21e
Boomerang: Ensure the beacon URL 'u' is the same as used for later
nicjansma Nov 25, 2024
2738178
Boomerang: Prerendered Support Part 3
nicjansma Nov 16, 2024
0683bfd
BFCache: Don't include LCP metric if not supported by browser
nicjansma Apr 2, 2025
f0a6649
BOOMR: BOOMR.utils.arrayFind allow reverse search
bluesmoon Nov 5, 2025
5aefb07
Continuity: Fix TTFI when EventTiming plugin is missing
nicjansma Nov 14, 2025
fa0262f
.github: Run bower-install
nicjansma Mar 13, 2026
acef406
.github: Run bower-install for e2e jobs
nicjansma Mar 13, 2026
05e524d
.github: Refactor Github Actions to work
nicjansma Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 48 additions & 21 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,9 @@
"no-spaced-func": "error",
"no-undef-init": "error",
"no-unused-expressions": "error",
"no-use-before-define": ["error", { "functions": false }],
"no-use-before-define": ["error",
{ "functions": false }
],
"no-with": "error",
"comma-spacing": "error",
"curly": ["error", "all"],
Expand All @@ -77,46 +79,74 @@
"keyword-spacing": "error",
"no-mixed-spaces-and-tabs": "error",
"quotes": ["error", "double", "avoid-escape"],
"dot-notation": ["error", {"allowKeywords": false}],
"dot-notation": ["error",
{ "allowKeywords": false}
],
"space-unary-ops": "error",
"key-spacing": ["error", {"beforeColon": false, "afterColon": true, "mode": "minimum"}],
"key-spacing": ["error",
{ "beforeColon": false, "afterColon": true, "mode": "minimum" }
],
"no-empty": "error",
"brace-style": ["error", "stroustrup", { "allowSingleLine": false }],
"semi-spacing": ["error", {"before": false, "after": true}],
"indent": ["error", 2, {"VariableDeclarator": "first", "MemberExpression": 1, "CallExpression": {"arguments": 1}}],
"brace-style": ["error", "stroustrup",
{ "allowSingleLine": false }
],
"semi-spacing": ["error",
{ "before": false, "after": true }
],
"indent": ["error", 2,
{ "VariableDeclarator": "first", "MemberExpression": 1, "CallExpression": { "arguments": 1 } }
],
"space-before-function-paren": ["error", "never"],
"no-trailing-spaces": ["error", { "skipBlankLines": false }],
"no-trailing-spaces": ["error",
{"skipBlankLines": false }
],
"linebreak-style": ["error", "unix"],
"comma-dangle": ["error", "never"],
"operator-linebreak": ["error", "after"],
"space-in-parens": ["error", "never"],
"no-debugger": "error",
"block-spacing": "error",
"lines-around-comment": ["error", { allowBlockStart: true, allowObjectStart: true, ignorePattern: "BEGIN_|END_|SOASTA PRIVATE" }],
"no-inline-comments": ["error", { "ignorePattern": "^ ?(BEGIN_|END_|fails|keep)" } ],
"lines-around-comment": ["error",
{ "allowBlockStart": true, "allowObjectStart": true, "ignorePattern": "BEGIN_|END_|SOASTA PRIVATE" }
],
"no-inline-comments": ["error",
{ "ignorePattern": "^ ?(BEGIN_|END_|fails|keep)" }
],
"newline-after-var": ["error", "always"],
"newline-before-return": "error",
"max-len": ["error", 120],
"no-irregular-whitespace": "error",
"no-multiple-empty-lines": ["error", { "max": 1} ],
"no-multiple-empty-lines": ["error",
{ "max": 1 }
],
"padded-blocks": ["error", "never"],
"one-var-declaration-per-line": "error",
"padding-line-between-statements": ["error",
{ blankLine: "always", prev: "block-like", next: "if" },
{ blankLine: "always", prev: "expression", next: "if" },
{ blankLine: "always", prev: "var", next: "if" },
{ blankLine: "always", prev: "block-like", next: "var" },
{ blankLine: "always", prev: "try", next: "*" },
{ blankLine: "always", prev: "block-like", next: "expression" },
{ blankLine: "always", prev: "*", next: "function" }
{ "blankLine": "always", "prev": "block-like", "next": "if" },
{ "blankLine": "always", "prev": "expression", "next": "if" },
{ "blankLine": "always", "prev": "var", "next": "if" },
{ "blankLine": "always", "prev": "block-like", "next": "var" },
{ "blankLine": "always", "prev": "try", "next": "*" },
{ "blankLine": "always", "prev": "block-like", "next": "expression" },
{ "blankLine": "always", "prev": "*", "next": "function" },
{ "blankLine": "always", "prev": "*", "next": "block" },
{ "blankLine": "always", "prev": "block", "next": "*" },
{ "blankLine": "always", "prev": "*", "next": "block-like" },
{ "blankLine": "always", "prev": "block-like", "next": "*" },
{ "blankLine": "always", "prev": "*", "next": "return" }
],
"object-curly-spacing": ["error", "always"],
"array-bracket-spacing": ["error", "never"],
"no-multi-spaces": ["error",
{ "exceptions": { "VariableDeclarator": true, "Property": true } }
],

//
// To enable soon
//

//"require-jsdoc": "error",
//"valid-jsdoc": "error",
// "valid-jsdoc": "error",

//
// Disabled rules
Expand All @@ -139,8 +169,5 @@

// We delete some global vars for compat with older IE versions
"no-delete-var": 0,

// We use spaces for alignment in many places
"no-multi-spaces": 0
}
}
207 changes: 207 additions & 0 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
- run: npm ci --no-audit --prefer-offline
- run: npm run postinstall-dev
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run unit-test
Expand All @@ -49,13 +50,55 @@ jobs:
env:
CI_NODE_INDEX: 0
CI_NODE_TOTAL: 5
DEBUG: 1
steps:
#
# Checkout code
#
- uses: actions/checkout@v2

#
# Setup Node.js 24 and Chrome for installing dependencies and setting up chromedriver
#
- name: Use Node.js 24 for installs and Chrome setup
uses: actions/setup-node@v1
with:
node-version: 24
- uses: browser-actions/setup-chrome@v2
id: setup-chrome
with:
chrome-version: 145
install-chromedriver: true
install-dependencies: true
- name: Get Chrome Version
run: |
${{ steps.setup-chrome.outputs.chrome-path }} --version
- name: Update PATH
run: |
sudo ln -sf ${{ steps.setup-chrome.outputs.chrome-path }} /usr/bin/google-chrome

#
# Setup java
#
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'

#
# Setup Node.js 12 for running tests
#
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}

#
# Install dependencies, setup hosts and run tests
#
- run: npm ci --no-audit --prefer-offline
- run: npm run postinstall-dev
- run: echo "" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run e2e-test
Expand All @@ -69,12 +112,53 @@ jobs:
CI_NODE_INDEX: 1
CI_NODE_TOTAL: 5
steps:
#
# Checkout code
#
- uses: actions/checkout@v2

#
# Setup Node.js 24 and Chrome for installing dependencies and setting up chromedriver
#
- name: Use Node.js 24 for installs and Chrome setup
uses: actions/setup-node@v1
with:
node-version: 24
- uses: browser-actions/setup-chrome@v2
id: setup-chrome
with:
chrome-version: 145
install-chromedriver: true
install-dependencies: true
- name: Get Chrome Version
run: |
${{ steps.setup-chrome.outputs.chrome-path }} --version
- name: Update PATH
run: |
sudo ln -sf ${{ steps.setup-chrome.outputs.chrome-path }} /usr/bin/google-chrome

#
# Setup java
#
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'

#
# Setup Node.js 12 for running tests
#
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}

#
# Install dependencies, setup hosts and run tests
#
- run: npm ci --no-audit --prefer-offline
- run: npm run postinstall-dev
- run: echo "" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run e2e-test
Expand All @@ -88,12 +172,53 @@ jobs:
CI_NODE_INDEX: 2
CI_NODE_TOTAL: 5
steps:
#
# Checkout code
#
- uses: actions/checkout@v2

#
# Setup Node.js 24 and Chrome for installing dependencies and setting up chromedriver
#
- name: Use Node.js 24 for installs and Chrome setup
uses: actions/setup-node@v1
with:
node-version: 24
- uses: browser-actions/setup-chrome@v2
id: setup-chrome
with:
chrome-version: 145
install-chromedriver: true
install-dependencies: true
- name: Get Chrome Version
run: |
${{ steps.setup-chrome.outputs.chrome-path }} --version
- name: Update PATH
run: |
sudo ln -sf ${{ steps.setup-chrome.outputs.chrome-path }} /usr/bin/google-chrome

#
# Setup java
#
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'

#
# Setup Node.js 12 for running tests
#
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}

#
# Install dependencies, setup hosts and run tests
#
- run: npm ci --no-audit --prefer-offline
- run: npm run postinstall-dev
- run: echo "" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run e2e-test
Expand All @@ -107,12 +232,53 @@ jobs:
CI_NODE_INDEX: 3
CI_NODE_TOTAL: 5
steps:
#
# Checkout code
#
- uses: actions/checkout@v2

#
# Setup Node.js 24 and Chrome for installing dependencies and setting up chromedriver
#
- name: Use Node.js 24 for installs and Chrome setup
uses: actions/setup-node@v1
with:
node-version: 24
- uses: browser-actions/setup-chrome@v2
id: setup-chrome
with:
chrome-version: 145
install-chromedriver: true
install-dependencies: true
- name: Get Chrome Version
run: |
${{ steps.setup-chrome.outputs.chrome-path }} --version
- name: Update PATH
run: |
sudo ln -sf ${{ steps.setup-chrome.outputs.chrome-path }} /usr/bin/google-chrome

#
# Setup java
#
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'

#
# Setup Node.js 12 for running tests
#
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}

#
# Install dependencies, setup hosts and run tests
#
- run: npm ci --no-audit --prefer-offline
- run: npm run postinstall-dev
- run: echo "" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run e2e-test
Expand All @@ -126,12 +292,53 @@ jobs:
CI_NODE_INDEX: 4
CI_NODE_TOTAL: 5
steps:
#
# Checkout code
#
- uses: actions/checkout@v2

#
# Setup Node.js 24 and Chrome for installing dependencies and setting up chromedriver
#
- name: Use Node.js 24 for installs and Chrome setup
uses: actions/setup-node@v1
with:
node-version: 24
- uses: browser-actions/setup-chrome@v2
id: setup-chrome
with:
chrome-version: 145
install-chromedriver: true
install-dependencies: true
- name: Get Chrome Version
run: |
${{ steps.setup-chrome.outputs.chrome-path }} --version
- name: Update PATH
run: |
sudo ln -sf ${{ steps.setup-chrome.outputs.chrome-path }} /usr/bin/google-chrome

#
# Setup java
#
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'

#
# Setup Node.js 12 for running tests
#
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}

#
# Install dependencies, setup hosts and run tests
#
- run: npm ci --no-audit --prefer-offline
- run: npm run postinstall-dev
- run: echo "" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test.local" | sudo tee -a /etc/hosts
- run: echo "127.0.0.1 boomerang-test2.local" | sudo tee -a /etc/hosts
- run: npm run e2e-test
Loading
Loading