Skip to content

Commit

Permalink
Merge pull request #2099 from Hyperkid123/nx-merge
Browse files Browse the repository at this point in the history
Nx merge
  • Loading branch information
Hyperkid123 authored Nov 18, 2024
2 parents 7b58162 + db0ce42 commit 79f8524
Show file tree
Hide file tree
Showing 879 changed files with 52,147 additions and 109,338 deletions.
6 changes: 6 additions & 0 deletions .commitlintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports ={
extends: ['@commitlint/config-conventional'],
// Ignore rules can be found here
// https://github.com/conventional-changelog/commitlint/blob/master/%40commitlint/is-ignored/src/defaults.ts
defaultIgnores: true,
}
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ packages/*/**/*.js
packages/create-crc-app/templates/fec.config.js

src/SmartComponents/SamplePage/

node_modules
70 changes: 45 additions & 25 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,32 +1,21 @@
const path = require('path');
const rulesDirPlugin = require('eslint-plugin-rulesdir');
const { env } = require('process');
rulesDirPlugin.RULES_DIR = path.resolve(__dirname, './packages/eslint-config/lib/rules');

module.exports = {
plugins: ['rulesdir', 'import'],
extends: path.resolve(__dirname, './packages/eslint-config/index.js'),
root: true,
ignorePatterns: ['**/*', '!.eslintrc.js'],
plugins: ['@nx', 'prettier'],
extends: ['plugin:prettier/recommended', 'plugin:json/recommended', path.resolve(__dirname, './packages/eslint-config/index.js')],
globals: {
insights: 'readonly',
},
rules: {
'no-prototype-builtins': 'off',
'import/prefer-default-export': ['error'],
'sort-imports': [
2,
{
ignoreDeclarationSort: true,
},
],
'react/no-unknown-property': ['error', { ignore: ['widget-type', 'widget-id', 'page-type', 'ouiaId'] }],
'rulesdir/forbid-pf-relative-imports': 1,
},
overrides: [
{
files: ['packages/**/src/**/*.ts', 'packages/**/src/**/*.tsx', 'packages/types/*.ts'],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
extends: ['plugin:@typescript-eslint/recommended'],
files: ['*.ts', '*.tsx', '*.js', '*.jsx'],
rules: {
'@nx/enforce-module-boundaries': 'off',
'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': ['error'],
'react/prop-types': 'off',
Expand All @@ -35,15 +24,46 @@ module.exports = {
},
},
{
files: [
'packages/pdf-generator/src/**/*.js',
'packages/**/src/**/*__mock__*/**/*.js',
'packages/**/src/**/*__mocks__*/**/*.js',
'packages/create-crc-app/**/*.js',
],
files: ['*.ts', '*.tsx'],
extends: ['plugin:@nx/typescript'],
rules: {
'react/react-in-jsx-scope': 'off',
'react/prop-types': 'off',
'no-prototype-builtins': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
},
},
{
files: ['*.js', '*.jsx'],
extends: ['plugin:@nx/javascript'],
rules: {
'import/prefer-default-export': 'off',
'no-prototype-builtins': 'off',
'react/react-in-jsx-scope': 'off',
},
},
{
files: ['*.spec.ts', '*.spec.tsx', '*.spec.js', '*.spec.jsx', '*.test.ts', '*.test.tsx', '*.test.js', '*.test.jsx'],
env: {
jest: true,
},
rules: {},
},
{
files: ['*.ct.js', '*.ct.jsx', '*.ct.ts', '*.ct.tsx', '*.cy.js', '*.cy.jsx', '*.cy.ts', '*.cy.tsx'],
extends: ['plugin:cypress/recommended'],
},
],
rules: {
'@nx/dependency-checks': 'off',
'no-prototype-builtins': 'off',
'sort-imports': [
2,
{
ignoreDeclarationSort: true,
},
],
'react/no-unknown-property': ['error', { ignore: ['widget-type', 'widget-id', 'page-type', 'ouiaId'] }],
'rulesdir/forbid-pf-relative-imports': 1,
'@typescript-eslint/ban-ts-comment': 'off',
},
};
16 changes: 16 additions & 0 deletions .github/actions/cache/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Node modules cache
description: Retrieve and cache project node_modules
runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
# cache node modules for all jobs to use
- uses: actions/cache@v4
id: node_modules-cache
with:
path: |
**/node_modules
key: install-cache-${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
11 changes: 11 additions & 0 deletions .github/actions/cypress-cache/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Cypress runner cache
description: Retrieve and cache the cypress runner
runs:
using: "composite"
steps:
# cache cypress runner
- uses: actions/cache@v4
id: cypress-cache
with:
path: ~/.cache/Cypress
key: cypress-runner-cache-${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
122 changes: 122 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: Frontend components CI pipeline
on:
pull_request:
branches:
- master
- nx
push:
branches:
- master
- nx

jobs:
install:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: nrwl/nx-set-shas@v4
- uses: './.github/actions/cache'
- uses: './.github/actions/cypress-cache'
- name: Install dependencies
run: npm i
build:
runs-on: ubuntu-latest
needs: install
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Use Node.js 20.x
uses: actions/setup-node@v3
with:
node-version: 20.x
- uses: nrwl/nx-set-shas@v4
- uses: './.github/actions/cache'
- name: Build
run: npm run build
unit-test:
runs-on: ubuntu-latest
needs: [install]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Use Node.js 20.x
uses: actions/setup-node@v3
with:
node-version: 20.x
- uses: nrwl/nx-set-shas@v4
- uses: './.github/actions/cache'
- name: Run unit tests
run: npm run test:unit
component-test:
runs-on: ubuntu-latest
needs: install
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: nrwl/nx-set-shas@v4
- uses: './.github/actions/cache'
- uses: './.github/actions/cypress-cache'
- name: Install deps
shell: bash
run: npm i
- name: Run component tests
uses: cypress-io/github-action@v6
with:
command: npx nx affected -t test:component --exclude=demo --configuration=ci --parallel=1
lint:
runs-on: ubuntu-latest
needs: install
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: nrwl/nx-set-shas@v4
- uses: './.github/actions/cache'
- name: Lint
run: npx nx affected -t test:lint --exclude=demo
commitlint:
needs: [install]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: './.github/actions/cache'
- name: install
shell: bash
run: npm i
- name: Validate current commit on push
shell: bash
if: github.event_name == 'push'
run: npx commitlint --last --verbose
- name: Validate PR commits
shell: bash
if: github.event_name == 'pull_request'
run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose
check-circular-imports:
runs-on: ubuntu-latest
needs: install
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: './.github/actions/cache'
- name: install
shell: bash
run: npm i
- uses: nrwl/nx-set-shas@v4
- uses: './.github/actions/cache'
- name: Check circular imports
run: npx nx affected -t test:circular-dependencies --exclude=demo
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,11 @@ packages/**/.cache

# Ibutsu test reports
ibutsu-report



.nx/cache
.nx/workspace-data
tmp

packages/docs/pages/fec
1 change: 1 addition & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx --no-install commitlint --edit $1
4 changes: 4 additions & 0 deletions .husky/pre-push
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
npx --no-install nx affected -t lint
npx --no-install nx affected -t test:unit --exclude=demo
npx --no-install nx affected -t test:component --exclude=demo --parallel=1
npx --no-install nx affected -t build --exclude=demo
18 changes: 0 additions & 18 deletions .travis.yml

This file was deleted.

28 changes: 28 additions & 0 deletions .verdaccio/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# path to a directory with all packages
storage: ../tmp/local-registry/storage

# a list of other known repositories we can talk to
uplinks:
npmjs:
url: https://registry.npmjs.org/
maxage: 60m

packages:
'**':
# give all users (including non-authenticated users) full access
# because it is a local registry
access: $all
publish: $all
unpublish: $all

# if package is not available locally, proxy requests to npm registry
proxy: npmjs

# log settings
logs:
type: stdout
format: pretty
level: warn

publish:
allow_offline: true # set offline to true to allow publish offline
Loading

0 comments on commit 79f8524

Please sign in to comment.