Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
8f2b632
Merge common and platform-specific SDKs into a single NPM package (so…
adams85 Aug 27, 2024
cffad1c
Merge common and platform-specific SDKs into a single NPM package (sa…
adams85 Aug 27, 2024
07e52d6
Attempt at fixing tests
adams85 Aug 27, 2024
99d5a20
Add sonarcloud analysis / coverage report upload
z4kn4fein Aug 28, 2024
34b1a24
Update package.json
z4kn4fein Aug 28, 2024
a129298
Fix package.json scripts
adams85 Aug 28, 2024
4a3c077
Upload coverage report as artifact
z4kn4fein Aug 28, 2024
e275bba
Update js-sdk-ci.yml
z4kn4fein Aug 28, 2024
68b7552
Update nyc
z4kn4fein Aug 28, 2024
5c9e786
Add extensions using the build script
adams85 Aug 28, 2024
5a8a77a
Test the actually distributed code
adams85 Aug 29, 2024
580dd28
Fix formatting
adams85 Aug 29, 2024
90343be
Minor correction
adams85 Aug 28, 2024
8e0d4a6
Fix CI
adams85 Aug 29, 2024
9c34929
Attempt at fixing code coverage
adams85 Aug 29, 2024
4805ea8
Update js-sdk-ci.yml
z4kn4fein Aug 30, 2024
a53c874
Upgrade actions/checkout, actions/setup-node to the latest version, a…
adams85 Aug 30, 2024
c808feb
Add support for Deno
adams85 Aug 29, 2024
94598db
Minor corrections
adams85 Sep 2, 2024
a655a70
Remove unused file
adams85 Sep 2, 2024
72c2bde
Automatic test discovery on all platforms
adams85 Sep 6, 2024
7e679bd
Make auto polling loop fault-tolerant + make timing more accurate
adams85 Sep 5, 2024
2aa2fbc
Check for expiration on every iteration in Auto Polling mode + allow …
adams85 Sep 5, 2024
861c7d7
Fix NPM package security issues
adams85 Oct 8, 2024
73aa4e3
Add support for Deno 2.0
adams85 Oct 11, 2024
5c7786e
Revise package.json & recreate package-lock.json
adams85 Oct 11, 2024
cdc6c5c
Add TypeScript compatibility check
adams85 Oct 12, 2024
801be47
Add checks for Node.js 22
adams85 Oct 12, 2024
d56fc0c
Minor improvement to README.md
adams85 Oct 15, 2024
69d7f1d
Requested changes (rearrange README.md header)
adams85 Nov 7, 2024
a57c8b9
Adjust repo name
adams85 Nov 7, 2024
6b286f6
Show install instructions in order of relevancy
adams85 Nov 7, 2024
13cabee
Add compatibility info about TypeScript
adams85 Nov 7, 2024
bdf5447
Implement query string flag override
adams85 Nov 7, 2024
d2d913a
Fix key naming in setting maps
adams85 Nov 7, 2024
814d221
Use native EventEmitter in Node + cleanup ConfigCatKernel usage in tests
adams85 Nov 7, 2024
b3ece8e
Reduce bundle size by using const enums
adams85 Nov 8, 2024
a59d206
Fix integration test setup
adams85 Nov 8, 2024
e3965aa
Improve module naming
adams85 Nov 8, 2024
bedd87b
Fix node warning
adams85 Nov 8, 2024
2dff95b
Readd accidentally ignored files
adams85 Nov 8, 2024
a3a9908
npm run lint:fix
adams85 Nov 8, 2024
359852a
Fix typo
adams85 Nov 8, 2024
bc1fce7
Set package version to 0.0.1
adams85 Nov 8, 2024
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
7 changes: 5 additions & 2 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
build/
coverage/
deno.d.ts
dist/
extra-checks/
lib/
node_modules/
src/Semver.ts
samples/
src/lib.*.d.ts
src/Hash.ts
src/lib.*.d.ts
src/Semver.ts
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
enable-beta-ecosystems: true
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
88 changes: 0 additions & 88 deletions .github/workflows/common-js-ci.yml

This file was deleted.

247 changes: 247 additions & 0 deletions .github/workflows/js-sdk-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,247 @@
name: JS SDK CI

on:
schedule:
- cron: '0 0 * * *'
push:
branches: [ master ]
tags: [ 'v[0-9]+.[0-9]+.[0-9]+' ]
pull_request:
branches: [ master ]

workflow_dispatch:

jobs:
check-ts-compat:
runs-on: ubuntu-latest
name: TypeScript v4.0.2 compatibility check
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 18

- name: Install dependencies & build
run: npm install

- name: Run check
run: npm run check:ts-compat

test-node:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [14.x, 16.x, 18.x, 20.x, 22.x]
os: [ubuntu-latest, windows-latest, macOS-latest]
exclude:
- node-version: 14.x
os: macOS-latest
name: Node.js ${{ matrix.node-version }} (${{ matrix.os }}) test
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Install dependencies & build
run: npm install

- name: Test
run: npm run test:node

test-browser-chrome:
runs-on: ubuntu-latest
strategy:
matrix:
chrome: ["beta", "stable"]
name: Browser - Chrome ${{ matrix.chrome }} test
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 14

- name: Setup chrome
uses: browser-actions/setup-chrome@latest
with:
chrome-version: ${{ matrix.chrome }}

- name: Install dependencies & build
run: npm install

- name: Test
run: CHROME_BIN=$(which chrome) npm run test:browser:chrome

test-browser-chromium:
runs-on: ubuntu-20.04
strategy:
matrix:
chrome: ["520847", "612434", "722278"]
name: Browser - Chromium ${{ matrix.chrome }} test
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 14

- name: Setup chrome
uses: browser-actions/setup-chrome@latest
with:
chrome-version: ${{ matrix.chrome }}

- name: Install dependencies & build
run: npm install

- name: Test
run: CHROMIUM_BIN=$(which chrome) npm run test:browser:chromium

test-browser-firefox:
runs-on: ubuntu-latest
strategy:
matrix:
firefox: ["84.0", "latest-beta", "latest"]
name: Browser - Firefox ${{ matrix.firefox }} test
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 14

- name: Setup firefox
uses: browser-actions/setup-firefox@latest
with:
firefox-version: ${{ matrix.firefox }}

- name: Install dependencies & build
run: npm install

- name: Test
run: npm run test:browser:firefox

test-chromium-extension-chrome:
runs-on: ubuntu-latest
strategy:
matrix:
chrome: ["beta", "stable"]
name: Chromium Extension - Chrome ${{ matrix.chrome }} test
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 14

- name: Setup chrome
uses: browser-actions/setup-chrome@latest
with:
chrome-version: ${{ matrix.chrome }}

- name: Install dependencies & build
run: npm install

- name: Test
run: CHROME_BIN=$(which chrome) npm run test:chromium-extension:chrome

test-chromium-extension-chromium:
runs-on: ubuntu-20.04
strategy:
matrix:
chrome: ["612434", "722278"]
name: Chromium Extension - Chromium ${{ matrix.chrome }} test
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 14

- name: Setup chrome
uses: browser-actions/setup-chrome@latest
with:
chrome-version: ${{ matrix.chrome }}

- name: Install dependencies & build
run: npm install

- name: Test
run: CHROMIUM_BIN=$(which chrome) npm run test:chromium-extension:chromium

test-deno:
runs-on: ${{ matrix.os }}
strategy:
matrix:
deno-version: [~1.31, ~1.46, vx.x.x]
os: [ubuntu-latest, windows-latest, macOS-latest]
name: Deno ${{ matrix.deno-version }} (${{ matrix.os }}) test
steps:
- uses: actions/checkout@v4

- uses: denoland/setup-deno@v2
with:
deno-version: ${{ matrix.deno-version }}

- name: Install dependencies & build
run: npm install

- name: Test
run: npm run test:deno

coverage:
needs: [
check-ts-compat,
test-node,
test-browser-chrome, test-browser-chromium, test-browser-firefox,
test-chromium-extension-chrome, test-chromium-extension-chromium,
test-deno
]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 14

- name: Install dependencies & build
run: npm install

- name: Test
run: npm run coverage

- name: Upload coverage folder
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: coverage

- name: SonarCloud Scan
uses: SonarSource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

publish:
needs: coverage
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags')
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 14
registry-url: 'https://registry.npmjs.org'

- name: Install dependencies
run: npm install

- name: 🚀Publish
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_API_KEY }}
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,8 @@ typings/
.env

lib/
dist/
.idea/

.parcel-cache/
deno.lock
deno.import-map.json
Loading
Loading