Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nx merge #2099

Merged
merged 57 commits into from
Nov 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
69b5a9e
chore: init NX manager
Hyperkid123 Oct 7, 2024
cfb1c35
chore(types): define nx project
Hyperkid123 Oct 7, 2024
cc910c2
chore(config-utils): define nx project
Hyperkid123 Oct 7, 2024
de1cab6
chore(executors): add builds-styles executor
Hyperkid123 Oct 7, 2024
16cafa7
chore(executors): add build-packages executor
Hyperkid123 Oct 9, 2024
817bf69
chore(executors): add transform scss executor
Hyperkid123 Oct 9, 2024
89a13db
chore(utils): change to nx project
Hyperkid123 Oct 9, 2024
3c62308
fix(executors): scss importer for inner dependencies
Hyperkid123 Oct 10, 2024
8befda3
fix: build task dependencies
Hyperkid123 Oct 10, 2024
5a5cac8
chore(components): move to NX manager
Hyperkid123 Oct 10, 2024
13dabc7
fix(utils): remove circular notifications dependency
Hyperkid123 Oct 10, 2024
d62ea25
chore(notifications): move to NX workspaces
Hyperkid123 Oct 10, 2024
a17a1ed
chore(tsc-transform-imports): move to NX workspaces
Hyperkid123 Oct 10, 2024
4c3fe3f
chore(translations): move to NX workspaces
Hyperkid123 Oct 10, 2024
618720f
chore(testing): move to NX workspaces
Hyperkid123 Oct 10, 2024
709b0aa
chore(chrome): move to NX workspaces
Hyperkid123 Oct 10, 2024
f1ac63a
chore(charts): move to NX workspaces
Hyperkid123 Oct 10, 2024
6617a06
chore(rule-components): move to NX workspaces
Hyperkid123 Oct 10, 2024
11f2513
chore(remediations): move to NX workspaces
Hyperkid123 Oct 10, 2024
5c84166
chore(advisor-components): move to NX workspaces
Hyperkid123 Oct 10, 2024
4935d2d
fix: packages build output config
Hyperkid123 Oct 10, 2024
dbca0ba
chore: stabilize global build
Hyperkid123 Oct 10, 2024
60d8345
chore: move demo app
Hyperkid123 Oct 10, 2024
ba9c571
chore(docs): move relevent docs a remove rest
Hyperkid123 Oct 10, 2024
523fac4
chore: update dependencies
Hyperkid123 Oct 10, 2024
4c47786
chore: fix issuea after dependency updates
Hyperkid123 Oct 10, 2024
f4b6b3b
chore: skip charts build
Hyperkid123 Oct 10, 2024
4205be2
chore: enable nx linting
Hyperkid123 Oct 11, 2024
95a8241
fix(executors): invalid module relative path
Hyperkid123 Oct 11, 2024
f1b3c15
chore: enable unit testing
Hyperkid123 Oct 11, 2024
9397695
chore: enable cypress component testing
Hyperkid123 Oct 14, 2024
6303378
chore(ci): use correct npm scripts
Hyperkid123 Oct 14, 2024
3e8aedd
fix(cypress): resolve local scss packages to source files
Hyperkid123 Oct 15, 2024
4918d29
chore: simplify build task config
Hyperkid123 Oct 15, 2024
3e50c3a
fix(tests): use correct nx tasks for global unit tests script
Hyperkid123 Oct 17, 2024
6f29ad9
chore: setup gh actions ci workflow
Hyperkid123 Oct 18, 2024
78e7685
chore: remove travis worflow
Hyperkid123 Oct 18, 2024
dcabdd0
chore: setup husky and commitlint
Hyperkid123 Oct 25, 2024
78ff361
chore: run checks before pushing changes
Hyperkid123 Oct 25, 2024
5e4fe60
chore: add commitlint to CI check
Hyperkid123 Oct 25, 2024
b34dfe7
chore: enable circular dependency check
Hyperkid123 Oct 25, 2024
e77f113
chore: fix circular dependency issues across packages
Hyperkid123 Oct 25, 2024
99f6881
chore: add contribution guide
Hyperkid123 Oct 31, 2024
380724e
chore(eslint): add to nx build
Hyperkid123 Oct 29, 2024
9d93cf5
chore: remove charts and pdf generator packages
Hyperkid123 Oct 29, 2024
67cd9b8
chore: remove unused files
Hyperkid123 Oct 29, 2024
650e74f
chore: document pdf generator and charts replacements
Hyperkid123 Oct 29, 2024
d7102bd
chore: remove obsolete packages
Hyperkid123 Oct 31, 2024
3ef2fe4
chore(release): publish 1.0.22-0
Hyperkid123 Oct 25, 2024
d093be3
chore: setup nx release
Hyperkid123 Oct 25, 2024
a579a13
chore: setup independent package versioning
Hyperkid123 Nov 7, 2024
e4a8085
chore: setup github releases executor
Hyperkid123 Nov 7, 2024
bb28068
chore: setup nx npm deploy executor
Hyperkid123 Nov 7, 2024
bf5669e
chore: fix config utils test path
Hyperkid123 Nov 18, 2024
7bb60f5
chore: add missing config-utilities package to build path
Hyperkid123 Nov 18, 2024
76f1ccd
chore: document modules breaking changes
Hyperkid123 Nov 18, 2024
db0ce42
chore: fix config package test TS path definitions
Hyperkid123 Nov 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
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
Loading