Skip to content
This repository has been archived by the owner on May 3, 2024. It is now read-only.

Feat/optional intl polyfill #1256

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 1 addition & 2 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
one-app-team-review-requested:
- changed-files:
- any-glob-to-any-file: "*/**"
- '**/*'
6 changes: 3 additions & 3 deletions .github/workflows/on-pr-and-trunk_codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql/codeql-config.yml
Expand All @@ -46,7 +46,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@v2

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
Expand All @@ -60,4 +60,4 @@ jobs:
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v2
3 changes: 1 addition & 2 deletions .github/workflows/on-pr_pr-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ jobs:
configuration-path: .github/pr-labeler.yml # optional, .github/pr-labeler.yml is the default value
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v4
- uses: actions/labeler@v5
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
32 changes: 0 additions & 32 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,6 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [6.9.2](https://github.com/americanexpress/one-app/compare/v6.9.1...v6.9.2) (2024-01-23)


### Bug Fixes

* **cdnCache:** make clear cache message generic ([#1248](https://github.com/americanexpress/one-app/issues/1248)) ([cac2e81](https://github.com/americanexpress/one-app/commit/cac2e81d633f1a0a051c9b1f864d9819f219e68f))
* **deps:** revert proxy agent ([#1249](https://github.com/americanexpress/one-app/issues/1249)) ([badbd98](https://github.com/americanexpress/one-app/commit/badbd98459dfab8db3765f554beeeda96782ce64))
* **errorHandler:** application errors would result in a 200 response ([#1243](https://github.com/americanexpress/one-app/issues/1243)) ([26a7740](https://github.com/americanexpress/one-app/commit/26a77403ced6fc11fd581788dba32d5e2d866bcb))
* **ssrServer:** fastify scope resulted in hooks being called more than once ([#1242](https://github.com/americanexpress/one-app/issues/1242)) ([2d84d6a](https://github.com/americanexpress/one-app/commit/2d84d6a628799e75d1412226edeeeef6ce1e71c2))


## [6.9.1](https://github.com/americanexpress/one-app/compare/v6.9.0...v6.9.1) (2024-01-22)


### Bug Fixes

* **proxy:** fix proxy configuration ([dd89ecd](https://github.com/americanexpress/one-app/commit/dd89ecd771647e85d17e964e3f6704b0d304a243))


# [6.9.0](https://github.com/americanexpress/one-app/compare/v6.8.3...v6.9.0) (2024-01-17)


### Bug Fixes

* **devCdn:** handle different module files ([48aa35f](https://github.com/americanexpress/one-app/commit/48aa35fc73c718f87531822e2cba754100993799))


### Features

* **otel:** log notice to STDOUT when using OTel ([#1215](https://github.com/americanexpress/one-app/issues/1215)) ([b4bcf21](https://github.com/americanexpress/one-app/commit/b4bcf2189e99c08ca6f8a4dad577047d9e73ffc0))


## [6.8.3](https://github.com/americanexpress/one-app/compare/v6.8.2...v6.8.3) (2023-12-06)


Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
</h1>

![One App Docker Release](https://github.com/americanexpress/one-app/actions/workflows/release-step-4_automatic_docker-prod-build-and-publish.yml/badge.svg)
![One App Integration Tests](https://github.com/americanexpress/one-app/actions/workflows/on-pr_one-app-integration-tests.yml/badge.svg)
![One App Unit and Lint Tests](https://github.com/americanexpress/one-app/actions/workflows/on-pr-and-trunk_one-app-unit-and-lint-tests.yml/badge.svg)
![One App Integration Tests](https://github.com/americanexpress/one-app/workflows/One%20App%20Integration%20Tests/badge.svg)
![One App Unit and Lint Tests](https://github.com/americanexpress/one-app/workflows/One%20App%20Unit%20and%20Lint%20Tests/badge.svg)

One App is a fresh take on web application development. It consists of a
[Node.js](https://nodejs.org) server that serves up a single page app built using [React] components
Expand Down
4 changes: 2 additions & 2 deletions __performance__/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ You can now view the [Grafana metrics on localhost:3030](http://localhost:3030/d
In another new window from within `one-app/__performance__` run the following:

```bash
docker compose -f docker-compose.yml -f docker-compose.prod-sample.yml run k6 run --insecure-skip-tls-verify /scripts/smoke.js
docker-compose -f docker-compose.yml -f docker-compose.prod-sample.yml run k6 run --insecure-skip-tls-verify /scripts/smoke.js
```

Each file under `__perforamance__/scripts` correlates to a different test:
Expand Down Expand Up @@ -137,7 +137,7 @@ You can now view the [Grafana metrics on localhost:3030](http://localhost:3030/d
In another new window from within `one-app/__performance__` run the following:

```bash
docker compose run -e TARGET_URL=http://host.docker.internal:3000/success k6 run /scripts/smoke.js
docker-compose run -e TARGET_URL=http://host.docker.internal:3000/success k6 run /scripts/smoke.js
```

Replace the `TARGET_URL` value with your intended target domain.
Expand Down
6 changes: 3 additions & 3 deletions __performance__/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ services:

# receives one-app internals metrics
prometheus:
image: prom/prometheus:v2.49.1
image: prom/prometheus:latest
networks:
- one-app-performance
volumes:
Expand All @@ -26,7 +26,7 @@ services:

# graphing of metrics
grafana:
image: grafana/grafana:10.0.10
image: grafana/grafana:latest
networks:
- one-app-performance
ports:
Expand All @@ -43,7 +43,7 @@ services:

# runs performance scripts
k6:
image: grafana/k6:0.48.0
image: loadimpact/k6:latest
networks:
- one-app-performance
ports:
Expand Down
5 changes: 1 addition & 4 deletions __tests__/integration/helpers/testRunner.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,6 @@ const setUpTestRunner = async ({
'selenium-chrome': {
ports: [
`${seleniumServerPort}:4444`,
'7901:7900',
'5901:5900',
],
},
...oneAppLocalPortToUse && {
Expand All @@ -67,7 +65,7 @@ const setUpTestRunner = async ({

fs.writeFileSync(pathToDockerComposeTestFile, yaml.dump(testDockerComposeFileContents));

const dockerComposeUpCommand = `docker compose -f ${pathToDockerComposeTestFile} up --abort-on-container-exit --force-recreate`;
const dockerComposeUpCommand = `docker-compose -f ${pathToDockerComposeTestFile} up --abort-on-container-exit --force-recreate`;
const dockerComposeUpProcess = childProcess.spawn(`${dockerComposeUpCommand}`, { shell: true });
const serverStartupTimeout = 90000;

Expand Down Expand Up @@ -105,7 +103,6 @@ const setUpTestRunner = async ({
path: '/wd/hub',
port: seleniumServerPort,
capabilities: {
acceptInsecureCerts: true,
'goog:chromeOptions': {
...!oneAppLocalPortToUse && process.env.HTTPS_PROXY
&& { args: [`--proxy-server=${process.env.HTTPS_PROXY}`] },
Expand Down
6 changes: 3 additions & 3 deletions __tests__/integration/one-app.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ describe('Tests that require Docker setup', () => {
},
});

expect(response.status).toBe(404);
expect(response.status).toBe(200);
// preflight-only headers
const rawHeaders = response.headers.raw();
expect(rawHeaders).not.toHaveProperty('access-control-max-age');
Expand Down Expand Up @@ -599,7 +599,7 @@ describe('Tests that require Docker setup', () => {
{
level: 'SEVERE',
message: expect.stringMatching(
/https:\/\/one-app:8443\/demo\/healthy-frank - Failed to find a valid digest in the 'integrity' attribute for resource 'https:\/\/sample-cdn\.frank\/modules\/.+\/healthy-frank\/0\.0\.0\/healthy-frank.browser.js' with computed SHA-384 integrity '.+'\. The resource has been blocked\./
/https:\/\/one-app:8443\/demo\/healthy-frank - Failed to find a valid digest in the 'integrity' attribute for resource 'https:\/\/sample-cdn\.frank\/modules\/.+\/healthy-frank\/0\.0\.0\/healthy-frank.browser.js' with computed SHA-256 integrity '.+'\. The resource has been blocked\./
),
source: 'security',
timestamp: expect.any(Number),
Expand Down Expand Up @@ -1711,7 +1711,7 @@ describe('Tests that can run against either local Docker setup or remote One App
'accept-language': 'en-US,en;q=0.9',
host: expect.any(String),
'user-agent':
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36',
},
method: 'GET',
originalUrl: '/vitruvius',
Expand Down
17 changes: 17 additions & 0 deletions __tests__/server/config/env/runTime.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ describe('runTime', () => {
'ONE_CLIENT_ROOT_MODULE_NAME',
'ONE_ENABLE_POST_TO_MODULE_ROUTES',
'ONE_MAX_POST_REQUEST_PAYLOAD',
'ONE_CONFIG_USE_NATIVE_POLYFILL',
].forEach((name) => {
origEnvVarVals[name] = process.env[name];
});
Expand Down Expand Up @@ -547,4 +548,20 @@ describe('runTime', () => {
expect(otelServiceName.defaultValue).toBe('One App');
});
});

describe('ONE_CONFIG_USE_NATIVE_POLYFILL', () => {
const useNativePolyfill = getEnvVarConfig('ONE_CONFIG_USE_NATIVE_POLYFILL');

it('should have a default value of false', () => {
expect(useNativePolyfill.defaultValue).toBe('false');
});

it('should normalise the value to false when not explicitly true', () => {
expect(useNativePolyfill.normalize('Value')).toBe('false');
expect(useNativePolyfill.normalize('VALUE')).toBe('false');
expect(useNativePolyfill.normalize('true')).toBe('true');
expect(useNativePolyfill.normalize('TRUE')).toBe('true');
expect(useNativePolyfill.normalize('FALSE')).toBe('false');
});
});
});
Loading
Loading