mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
task: Yarn v4 (#7457)
Moves to Yarn v4 --------- Co-authored-by: Alvin Bryan <107407814+alvinometric@users.noreply.github.com>
This commit is contained in:
parent
82822a735b
commit
f4e3388606
@ -11,3 +11,7 @@
|
||||
!README.md
|
||||
!frontend
|
||||
frontend/node_modules
|
||||
!.yarn/**
|
||||
!.yarnrc.yml
|
||||
!frontend/.yarn/**
|
||||
node_modules
|
||||
|
6
.github/workflows/build.yaml
vendored
6
.github/workflows/build.yaml
vendored
@ -40,7 +40,11 @@ jobs:
|
||||
with:
|
||||
node-version: 20.x
|
||||
cache: 'yarn'
|
||||
- run: yarn install --frozen-lockfile --ignore-scripts
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
- run: yarn install --immutable
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
- run: yarn lint
|
||||
- run: yarn build:backend
|
||||
- run: yarn run test:report # This adds test results as github check to the workflow
|
||||
|
2
.github/workflows/build_coverage.yaml
vendored
2
.github/workflows/build_coverage.yaml
vendored
@ -39,6 +39,8 @@ jobs:
|
||||
with:
|
||||
node-version: 20.x
|
||||
cache: 'yarn'
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
- run: yarn
|
||||
- run: yarn build:frontend:if-needed
|
||||
- run: yarn run test:coverage
|
||||
|
47
.github/workflows/build_docker_prs.yaml
vendored
Normal file
47
.github/workflows/build_docker_prs.yaml
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
name: PR -> Docker build
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
version: [ 20.14.0-alpine ]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Setup QEmu
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Docker meta configuration
|
||||
uses: docker/metadata-action@v5
|
||||
id: meta
|
||||
with:
|
||||
images: |
|
||||
unleashorg/unleash-server
|
||||
tags: |
|
||||
# only enabled for workflow dispatch except main (assume its a release):
|
||||
type=semver,pattern={{ version }},enable=${{ github.event_name == 'workflow_dispatch' && github.ref != 'refs/heads/main' }},value=${{ inputs.version }}
|
||||
type=semver,pattern={{ major }}.{{ minor }},enable=${{ github.event_name == 'workflow_dispatch' && github.ref != 'refs/heads/main' }},value=${{ inputs.version }}
|
||||
type=semver,pattern={{ major }},enable=${{ github.event_name == 'workflow_dispatch' && github.ref != 'refs/heads/main' }},value=${{ inputs.version }}
|
||||
# only enabled in main:
|
||||
type=edge,prefix=main-,suffix=-${{ matrix.version }},enable=${{ github.ref == 'refs/heads/main' }}
|
||||
# only enabled on workflow_dispatch:
|
||||
type=sha,suffix=-${{ matrix.version }},enable=${{ github.event_name == 'workflow_dispatch' }}
|
||||
- name: Login to docker hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Build tag and push image to Docker hub
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: false
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
build-args: NODE_VERSION=${{ matrix.version }}
|
4
.github/workflows/build_frontend_prs.yml
vendored
4
.github/workflows/build_frontend_prs.yml
vendored
@ -19,8 +19,10 @@ jobs:
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20.x
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
- run: yarn --immutable
|
||||
- run: yarn run lint:material:icons
|
||||
- run: yarn --frozen-lockfile
|
||||
- run: yarn run lint:check
|
||||
- run: yarn run test
|
||||
- run: yarn run ts:check # TODO: optimize
|
||||
|
2
.github/workflows/build_prs_jest_report.yaml
vendored
2
.github/workflows/build_prs_jest_report.yaml
vendored
@ -37,6 +37,8 @@ jobs:
|
||||
with:
|
||||
node-version: 20.x
|
||||
cache: 'yarn'
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
- name: Tests on 20.x
|
||||
id: coverage
|
||||
uses: ArtiomTr/jest-coverage-report-action@v2
|
||||
|
6
.github/workflows/docker_publish.yaml
vendored
6
.github/workflows/docker_publish.yaml
vendored
@ -19,7 +19,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
version: [20.13.1-alpine]
|
||||
version: [ 20.14.0-alpine ]
|
||||
steps:
|
||||
- name: Checkout tag v${{ inputs.version }}
|
||||
if: ${{ inputs.version != '' }}
|
||||
@ -53,10 +53,6 @@ jobs:
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Build frontend
|
||||
run: |
|
||||
yarn --cwd ./frontend install
|
||||
yarn build:frontend
|
||||
- name: Build tag and push image to Docker hub
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
|
3
.github/workflows/e2e.frontend.yaml
vendored
3
.github/workflows/e2e.frontend.yaml
vendored
@ -20,9 +20,10 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Run Cypress
|
||||
uses: cypress-io/github-action@v5
|
||||
uses: cypress-io/github-action@v6
|
||||
with:
|
||||
working-directory: frontend
|
||||
env: AUTH_USER=admin,AUTH_PASSWORD=unleash4all
|
||||
config: baseUrl=${{ github.event.deployment_status.target_url }}
|
||||
spec: cypress/integration/${{ matrix.test }}
|
||||
install-command: yarn --immutable
|
||||
|
@ -35,6 +35,8 @@ jobs:
|
||||
cache-dependency-path: |
|
||||
current/yarn.lock
|
||||
main/yarn.lock
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
- name: Compare errors if enabling strictNullChecks
|
||||
env:
|
||||
URL: ${{ github.event.pull_request.comments_url }}
|
||||
@ -50,9 +52,9 @@ jobs:
|
||||
YARN_1="yarn --mutex network --cwd ./current"
|
||||
YARN_2="yarn --mutex network --cwd ./main"
|
||||
|
||||
$YARN_1 install --ignore-scripts &> /dev/null && $YARN_1 build:backend --strictNullChecks true 2> .stderr-current > .out-current &
|
||||
$YARN_1 install &> /dev/null && $YARN_1 build:backend --strictNullChecks true 2> .stderr-current > .out-current &
|
||||
pid1=$!
|
||||
$YARN_2 install --ignore-scripts &> /dev/null && $YARN_2 build:backend --strictNullChecks true 2> .stderr-main > .out-main &
|
||||
$YARN_2 install &> /dev/null && $YARN_2 build:backend --strictNullChecks true 2> .stderr-main > .out-main &
|
||||
pid2=$!
|
||||
|
||||
# wait for the processes that are expected to fail
|
||||
|
13
.github/workflows/notify_enterprise.yaml
vendored
13
.github/workflows/notify_enterprise.yaml
vendored
@ -12,12 +12,15 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [20.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Use Node.js 20
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20.x
|
||||
cache: 'yarn'
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
- name: Trigger sync
|
||||
uses: actions/github-script@v7
|
||||
env:
|
||||
@ -42,7 +45,7 @@ jobs:
|
||||
- name: Build static assets
|
||||
run: |
|
||||
cd frontend
|
||||
yarn install --frozen-lockfile
|
||||
yarn install --immutable
|
||||
yarn build
|
||||
- uses: aws-actions/configure-aws-credentials@v2
|
||||
with:
|
||||
|
16
.github/workflows/publish-new-version.yaml
vendored
16
.github/workflows/publish-new-version.yaml
vendored
@ -6,7 +6,7 @@ concurrency:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
id-token: write
|
||||
id-token: write
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@ -30,7 +30,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [20.x]
|
||||
node-version: [ 20.x ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@ -66,10 +66,12 @@ jobs:
|
||||
else
|
||||
echo "No changes to CHANGELOG.md"
|
||||
fi
|
||||
- run: yarn install --frozen-lockfile --ignore-scripts
|
||||
- run: yarn install --immutable
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
- name: npm version
|
||||
run: |
|
||||
npm version ${{ github.event.inputs.version }} --ignore-scripts
|
||||
npm version ${{ github.event.inputs.version }}
|
||||
git push origin ${{ github.ref_name }}
|
||||
git push --tags
|
||||
env:
|
||||
@ -104,8 +106,10 @@ jobs:
|
||||
run: git checkout origin/${{ github.ref_name }} -- CHANGELOG.md
|
||||
- name: lint
|
||||
run: |
|
||||
yarn install --frozen-lockfile --ignore-scripts
|
||||
yarn install --immutable
|
||||
yarn lint:fix
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
- name: push changes
|
||||
run: |
|
||||
git add package.json CHANGELOG.md
|
||||
@ -118,7 +122,7 @@ jobs:
|
||||
secrets: inherit
|
||||
with:
|
||||
version: ${{ github.event.inputs.version }}
|
||||
|
||||
|
||||
publish-npm:
|
||||
needs: build
|
||||
uses: ./.github/workflows/release.yaml
|
||||
|
4
.github/workflows/release.yaml
vendored
4
.github/workflows/release.yaml
vendored
@ -25,9 +25,11 @@ jobs:
|
||||
node-version: 20.x
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
cache: 'yarn'
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
- name: Build
|
||||
run: |
|
||||
yarn install --frozen-lockfile
|
||||
yarn install --immutable
|
||||
- name: Publish to npm
|
||||
run: |
|
||||
LATEST=$(npm show unleash-server version)
|
||||
|
14
.github/workflows/validate-migrations.yaml
vendored
14
.github/workflows/validate-migrations.yaml
vendored
@ -18,8 +18,8 @@ jobs:
|
||||
- name: Use Node.js 20.x
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20.x
|
||||
cache: 'yarn'
|
||||
node-version: 20.x
|
||||
cache: 'yarn'
|
||||
- name: Start database
|
||||
working-directory: test-migrations
|
||||
run: docker compose up db -d --wait -t 90
|
||||
@ -29,16 +29,18 @@ jobs:
|
||||
# add some data with terraform
|
||||
- name: Apply migrations
|
||||
env:
|
||||
DATABASE_URL: postgres://postgres:unleash@localhost:5432/unleash
|
||||
DATABASE_SSL: false
|
||||
DATABASE_URL: postgres://postgres:unleash@localhost:5432/unleash
|
||||
DATABASE_SSL: false
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
run: |
|
||||
yarn install --frozen-lockfile --ignore-scripts
|
||||
yarn install --immutable
|
||||
yarn db-migrate up
|
||||
# run ui tests against previous version of Unleash
|
||||
- name: Run Cypress
|
||||
uses: cypress-io/github-action@v5
|
||||
uses: cypress-io/github-action@v6
|
||||
with:
|
||||
working-directory: frontend
|
||||
env: AUTH_USER=admin,AUTH_PASSWORD=unleash4all
|
||||
config: baseUrl=http://localhost:4242
|
||||
spec: cypress/oss/**/*.spec.ts
|
||||
install-command: yarn --immutable
|
||||
|
21
.gitignore
vendored
21
.gitignore
vendored
@ -70,3 +70,24 @@ reports/jest-junit.xml
|
||||
!.yarn/releases
|
||||
!.yarn/sdks
|
||||
!.yarn/versions
|
||||
frontend/.yarn/*
|
||||
!frontend/.yarn/patches
|
||||
!frontend/.yarn/plugins
|
||||
!frontend/.yarn/releases
|
||||
!frontend/.yarn/sdks
|
||||
!frontend/.yarn/versions
|
||||
|
||||
docker/.yarn/*
|
||||
!docker/.yarn/patches
|
||||
!docker/.yarn/plugins
|
||||
!docker/.yarn/releases
|
||||
!docker/.yarn/sdks
|
||||
!docker/.yarn/versions
|
||||
|
||||
website/.yarn/*
|
||||
!website/.yarn/patches
|
||||
!website/.yarn/plugins
|
||||
!website/.yarn/releases
|
||||
!website/.yarn/sdks
|
||||
!website/.yarn/versions
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env sh
|
||||
. "$(dirname -- "$0")/_/husky.sh"
|
||||
|
||||
npx lint-staged
|
||||
yarn dlx lint-staged
|
||||
|
||||
node .husky/update-openapi-spec-list.js
|
||||
|
||||
|
1
.npmignore
Normal file
1
.npmignore
Normal file
@ -0,0 +1 @@
|
||||
**.test.js
|
894
.yarn/releases/yarn-4.3.1.cjs
vendored
Executable file
894
.yarn/releases/yarn-4.3.1.cjs
vendored
Executable file
File diff suppressed because one or more lines are too long
3
.yarnrc.yml
Normal file
3
.yarnrc.yml
Normal file
@ -0,0 +1,3 @@
|
||||
nodeLinker: node-modules
|
||||
|
||||
yarnPath: .yarn/releases/yarn-4.3.1.cjs
|
@ -7,6 +7,9 @@ Before you begin:
|
||||
- Have you read the [code of conduct](CODE_OF_CONDUCT.md)?
|
||||
- Check out the [existing issues](https://github.com/unleash/Unleash/issues)
|
||||
- Browse the [developer-guide](./website/docs/contributing/developer-guide.md) for tips on environment setup, running the tests, and running Unleash from source.
|
||||
- You need
|
||||
- Node 20
|
||||
- corepack enabled `corepack enable`
|
||||
|
||||
### Don't see your issue? Open one
|
||||
|
||||
|
@ -6,9 +6,9 @@ WORKDIR /unleash
|
||||
|
||||
COPY . /unleash
|
||||
|
||||
RUN yarn config set network-timeout 300000
|
||||
RUN corepack enable
|
||||
|
||||
RUN yarn install --frozen-lockfile --ignore-scripts && yarn prepare:backend && yarn local:package
|
||||
RUN yarn install --immutable && yarn prepare:backend && yarn local:package
|
||||
|
||||
# frontend/build should already exist (it needs to be built in the local filesystem but in case of a fresh build we'll build it here)
|
||||
RUN yarn build:frontend:if-needed
|
||||
@ -17,7 +17,7 @@ RUN mkdir -p /unleash/build/frontend && mv /unleash/frontend/build /unleash/buil
|
||||
|
||||
WORKDIR /unleash/docker
|
||||
|
||||
RUN yarn install --frozen-lockfile --production=true
|
||||
RUN yarn workspaces focus -A --production
|
||||
|
||||
FROM node:$NODE_VERSION
|
||||
|
||||
|
@ -53,7 +53,9 @@
|
||||
"src/test/examples/*.json",
|
||||
".docusaurus",
|
||||
"coverage",
|
||||
"CHANGELOG.md"
|
||||
"CHANGELOG.md",
|
||||
"./package.json",
|
||||
"./frontend/package.json"
|
||||
]
|
||||
},
|
||||
"organizeImports": {
|
||||
@ -74,7 +76,9 @@
|
||||
"coverage",
|
||||
"website/build",
|
||||
"website/global.js",
|
||||
".docusaurus"
|
||||
".docusaurus",
|
||||
"./package.json",
|
||||
"./frontend/package.json"
|
||||
],
|
||||
"indentWidth": 4
|
||||
},
|
||||
|
894
docker/.yarn/releases/yarn-4.3.1.cjs
vendored
Executable file
894
docker/.yarn/releases/yarn-4.3.1.cjs
vendored
Executable file
File diff suppressed because one or more lines are too long
1
docker/.yarnrc.yml
Normal file
1
docker/.yarnrc.yml
Normal file
@ -0,0 +1 @@
|
||||
yarnPath: .yarn/releases/yarn-4.3.1.cjs
|
@ -14,15 +14,9 @@
|
||||
"dependencies": {
|
||||
"unleash-server": "file:../build"
|
||||
},
|
||||
"version": "5.12.4",
|
||||
"resolutions": {
|
||||
"async": "^3.2.4",
|
||||
"db-migrate/rc/minimist": "^1.2.5",
|
||||
"es5-ext": "0.10.64",
|
||||
"knex/liftoff/object.map/**/kind-of": "^6.0.3",
|
||||
"knex/liftoff/findup-sync/micromatc/kind-of": "^6.0.3",
|
||||
"knex/liftoff/findup-sync/micromatc/nanomatch/kind-of": "^6.0.3",
|
||||
"knex/liftoff/findup-sync/micromatch/define-property/**/kind-of": "^6.0.3",
|
||||
"node-forge": "^1.0.0",
|
||||
"set-value": "^4.0.1",
|
||||
"ansi-regex": "^5.0.1",
|
||||
@ -39,5 +33,7 @@
|
||||
"ssh2": "^1.4.0",
|
||||
"json-schema": "^0.4.0",
|
||||
"semver": "^7.5.3"
|
||||
}
|
||||
},
|
||||
"version": "6.0.1",
|
||||
"packageManager": "yarn@4.3.1"
|
||||
}
|
||||
|
9393
docker/yarn.lock
9393
docker/yarn.lock
File diff suppressed because it is too large
Load Diff
1
frontend/.npmignore
Normal file
1
frontend/.npmignore
Normal file
@ -0,0 +1 @@
|
||||
**.test.js
|
894
frontend/.yarn/releases/yarn-4.3.1.cjs
vendored
Executable file
894
frontend/.yarn/releases/yarn-4.3.1.cjs
vendored
Executable file
File diff suppressed because one or more lines are too long
3
frontend/.yarnrc.yml
Normal file
3
frontend/.yarnrc.yml
Normal file
@ -0,0 +1,3 @@
|
||||
nodeLinker: node-modules
|
||||
|
||||
yarnPath: .yarn/releases/yarn-4.3.1.cjs
|
@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
if grep -R --include="*.js" --include="*.jsx" --include="*.ts" --include="*.tsx" "from '@mui/icons-material'" src; then
|
||||
echo "Prohibited import from '@mui/icons-material' found. Use default imports referencing the file instead of the
|
||||
global package. Example: import Delete from '@mui/icons-material/Delete';'"
|
||||
|
@ -2,7 +2,10 @@
|
||||
"name": "unleash-frontend-local",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"files": ["index.js", "build"],
|
||||
"files": [
|
||||
"index.js",
|
||||
"build"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
@ -16,9 +19,9 @@
|
||||
"start:demo2": "UNLEASH_API=https://sandbox.getunleash.io/ UNLEASH_BASE_PATH=/demo2/ yarn run start",
|
||||
"start:enterprise": "UNLEASH_API=https://unleash.herokuapp.com VITE_TEST_REDIRECT=true yarn run start",
|
||||
"start:demo": "UNLEASH_BASE_PATH=/demo/ UNLEASH_API=https://app.unleash-hosted.com/ yarn run start",
|
||||
"test": "NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" vitest run",
|
||||
"test:snapshot": "NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" yarn test -u",
|
||||
"test:watch": "NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" vitest watch",
|
||||
"test": "NODE_OPTIONS=\"${NODE_OPTIONS:-0} --no-experimental-fetch\" vitest run",
|
||||
"test:snapshot": "NODE_OPTIONS=\"${NODE_OPTIONS:-0} --no-experimental-fetch\" yarn test -u",
|
||||
"test:watch": "NODE_OPTIONS=\"${NODE_OPTIONS:-0} --no-experimental-fetch\" vitest watch",
|
||||
"lint:material:icons": "./check-imports.rc",
|
||||
"lint": "biome lint src --apply",
|
||||
"lint:check": "biome check src",
|
||||
@ -142,11 +145,16 @@
|
||||
}
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [">0.2%", "not dead", "not op_mini all"],
|
||||
"production": [
|
||||
">0.2%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
}
|
||||
},
|
||||
"packageManager": "yarn@4.3.1"
|
||||
}
|
||||
|
@ -165,7 +165,7 @@ describe('NewFeatureStrategyCreate', () => {
|
||||
|
||||
expect(screen.getByText(expectedSegmentName)).toBeInTheDocument();
|
||||
expect(screen.getByText(expectedConstraintValue)).toBeInTheDocument();
|
||||
});
|
||||
}, 10000);
|
||||
|
||||
test('should change variants settings', async () => {
|
||||
const { expectedVariantName } = setupComponent();
|
||||
|
17511
frontend/yarn.lock
17511
frontend/yarn.lock
File diff suppressed because it is too large
Load Diff
48
package.json
48
package.json
@ -15,6 +15,7 @@
|
||||
"docs",
|
||||
"frontend/build",
|
||||
"frontend/build/*",
|
||||
"frontend/build/**/*",
|
||||
"frontend/index.js",
|
||||
"frontend/package.json"
|
||||
],
|
||||
@ -36,21 +37,18 @@
|
||||
"copy-templates": "copyfiles -u 1 src/mailtemplates/**/*.mustache dist/",
|
||||
"build:backend": "tsc --pretty --strictNullChecks false",
|
||||
"build:frontend": "yarn --cwd ./frontend run build",
|
||||
"build:frontend:if-needed": "if [ ! -d ./frontend/build ]; then yarn install --cwd ./frontend --frozen-lockfile --ignore-scripts && yarn build:frontend; fi",
|
||||
"build": "concurrently \"yarn:copy-templates\" \"yarn:build:frontend\" \"yarn:build:backend\"",
|
||||
"build:frontend:if-needed": "./scripts/build-frontend-if-needed.sh",
|
||||
"build": "yarn run clean && concurrently \"yarn:copy-templates\" \"yarn:build:frontend\" \"yarn:build:backend\"",
|
||||
"dev:backend": "TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"",
|
||||
"dev:frontend": "wait-on tcp:4242 && yarn --cwd ./frontend run dev",
|
||||
"dev": "concurrently \"yarn:dev:backend\" \"yarn:dev:frontend\"",
|
||||
"prepare:backend": "concurrently \"yarn:copy-templates\" \"yarn:build:backend\"",
|
||||
"prestart:dev": "yarn run clean",
|
||||
"start:dev": "TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"",
|
||||
"start:dev": "yarn run clean && TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"",
|
||||
"db-migrate": "db-migrate --migrations-dir ./src/migrations",
|
||||
"lint": "biome check .",
|
||||
"lint:fix": "biome check . --write",
|
||||
"local:package": "del-cli --force build && mkdir build && cp -r dist docs CHANGELOG.md LICENSE README.md package.json build",
|
||||
"prebuild:watch": "yarn run clean",
|
||||
"build:watch": "tsc -w --strictNullChecks false",
|
||||
"prebuild": "yarn run clean",
|
||||
"build:watch": "yarn run clean && tsc -w --strictNullChecks false",
|
||||
"prepare": "husky && yarn --cwd ./frontend install && if [ ! -d ./dist ]; then yarn build; fi",
|
||||
"test": "NODE_ENV=test PORT=4243 node --trace-warnings node_modules/.bin/jest",
|
||||
"test:unit": "NODE_ENV=test PORT=4243 jest --testPathIgnorePatterns=src/test/e2e --testPathIgnorePatterns=dist",
|
||||
@ -64,7 +62,8 @@
|
||||
"seed:serve": "UNLEASH_DATABASE_NAME=unleash_test UNLEASH_DATABASE_SCHEMA=seed yarn run start:dev",
|
||||
"clean": "del-cli --force dist",
|
||||
"preversion": "./scripts/check-release.sh",
|
||||
"heroku-postbuild": "cd frontend && yarn && yarn build"
|
||||
"heroku-postbuild": "cd frontend && yarn && yarn build",
|
||||
"prepack": "./scripts/prepack.sh"
|
||||
},
|
||||
"jest-junit": {
|
||||
"suiteName": "Unleash Unit Tests",
|
||||
@ -82,7 +81,9 @@
|
||||
"testTimeout": 10000,
|
||||
"globalSetup": "./scripts/jest-setup.js",
|
||||
"transform": {
|
||||
"^.+\\.tsx?$": ["@swc/jest"]
|
||||
"^.+\\.tsx?$": [
|
||||
"@swc/jest"
|
||||
]
|
||||
},
|
||||
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
|
||||
"testPathIgnorePatterns": [
|
||||
@ -91,7 +92,13 @@
|
||||
"/frontend/",
|
||||
"/website/"
|
||||
],
|
||||
"moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json"],
|
||||
"moduleFileExtensions": [
|
||||
"ts",
|
||||
"tsx",
|
||||
"js",
|
||||
"jsx",
|
||||
"json"
|
||||
],
|
||||
"coveragePathIgnorePatterns": [
|
||||
"/node_modules/",
|
||||
"/dist/",
|
||||
@ -166,6 +173,7 @@
|
||||
"@apidevtools/swagger-parser": "10.1.0",
|
||||
"@babel/core": "7.24.7",
|
||||
"@biomejs/biome": "1.8.1",
|
||||
"@cyclonedx/yarn-plugin-cyclonedx": "^1.0.0-rc.7",
|
||||
"@swc/core": "1.6.3",
|
||||
"@swc/jest": "0.2.36",
|
||||
"@types/bcryptjs": "2.4.6",
|
||||
@ -214,12 +222,7 @@
|
||||
},
|
||||
"resolutions": {
|
||||
"async": "^3.2.4",
|
||||
"db-migrate/rc/minimist": "^1.2.5",
|
||||
"es5-ext": "0.10.64",
|
||||
"knex/liftoff/object.map/**/kind-of": "^6.0.3",
|
||||
"knex/liftoff/findup-sync/micromatc/kind-of": "^6.0.3",
|
||||
"knex/liftoff/findup-sync/micromatc/nanomatch/kind-of": "^6.0.3",
|
||||
"knex/liftoff/findup-sync/micromatch/define-property/**/kind-of": "^6.0.3",
|
||||
"node-forge": "^1.0.0",
|
||||
"set-value": "^4.0.1",
|
||||
"ansi-regex": "^5.0.1",
|
||||
@ -232,8 +235,15 @@
|
||||
"tough-cookie": "4.1.4"
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{js,ts}": ["biome check --write --no-errors-on-unmatched"],
|
||||
"*.{jsx,tsx}": ["biome check --write --no-errors-on-unmatched"],
|
||||
"*.json": ["biome format --write --no-errors-on-unmatched"]
|
||||
}
|
||||
"*.{js,ts}": [
|
||||
"biome check --write --no-errors-on-unmatched"
|
||||
],
|
||||
"*.{jsx,tsx}": [
|
||||
"biome check --write --no-errors-on-unmatched"
|
||||
],
|
||||
"*.json": [
|
||||
"biome format --write --no-errors-on-unmatched"
|
||||
]
|
||||
},
|
||||
"packageManager": "yarn@4.3.1"
|
||||
}
|
||||
|
4
scripts/build-frontend-if-needed.sh
Executable file
4
scripts/build-frontend-if-needed.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
if [ ! -d ./frontend/build ]; then
|
||||
yarn --cwd ./frontend install --immutable && yarn build:frontend;
|
||||
fi
|
2
scripts/prepack.sh
Executable file
2
scripts/prepack.sh
Executable file
@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env sh
|
||||
yarn --cwd ./frontend install && if [ ! -d ./dist ]; then yarn build; fi
|
@ -46,7 +46,7 @@ default:
|
||||
.PHONY: prepare
|
||||
prepare:
|
||||
@echo "Preparing the environment..."
|
||||
@yarn --cwd .. install --frozen-lockfile --ignore-scripts
|
||||
@yarn --cwd .. install --frozen-lockfile
|
||||
|
||||
|
||||
.PHONY: apply-migrations
|
||||
|
894
website/.yarn/releases/yarn-4.3.1.cjs
vendored
Executable file
894
website/.yarn/releases/yarn-4.3.1.cjs
vendored
Executable file
File diff suppressed because one or more lines are too long
1
website/.yarnrc.yml
Normal file
1
website/.yarnrc.yml
Normal file
@ -0,0 +1 @@
|
||||
yarnPath: .yarn/releases/yarn-4.3.1.cjs
|
@ -16,9 +16,10 @@ We have created a set of ADRs to help guide the development of the backend:
|
||||
Before developing on this project you will need two things:
|
||||
|
||||
- PostgreSQL 14.x or newer
|
||||
- Node.js 14.x or newer
|
||||
- Node.js 20.x or newer
|
||||
|
||||
```sh
|
||||
corepack enable
|
||||
yarn install
|
||||
yarn dev
|
||||
```
|
||||
|
@ -4,7 +4,7 @@ title: Front end
|
||||
|
||||
## Frontend overview
|
||||
|
||||
The frontend is written in react/typescript. It's is a single page application that communicates with the backend via a REST API. The frontend is built using vite and served by the backend.
|
||||
The frontend is written in react/typescript. It's a single page application that communicates with the backend via a REST API. The frontend is built using vite and served by the backend.
|
||||
|
||||
## ADRs
|
||||
|
||||
|
@ -54,7 +54,11 @@
|
||||
"semver": "^7.5.3"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [">0.5%", "not dead", "not op_mini all"],
|
||||
"production": [
|
||||
">0.5%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
@ -70,5 +74,6 @@
|
||||
"react-router": "6.23.1",
|
||||
"replace-in-file": "7.2.0",
|
||||
"typescript": "5.4.5"
|
||||
}
|
||||
},
|
||||
"packageManager": "yarn@4.3.1"
|
||||
}
|
||||
|
28831
website/yarn.lock
28831
website/yarn.lock
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user