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

MERGING release/24.04 into main #74

Merged
merged 115 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
4574cac
CM-24: Create frontend for "Individual" entity (#1)
sniedzielski May 22, 2023
4d54009
hotfix: fix ci and cd
sniedzielski May 29, 2023
d59a552
Merge pull request #2 from openimis/hotfix-ci-cd
sniedzielski May 29, 2023
410c8f7
CM-24: remove additional field displaying on Individual page
sniedzielski May 30, 2023
9b854e1
Merge pull request #3 from openimis/CM-24
sniedzielski May 30, 2023
127528b
CM-24: change uuids to ids
jdolkowski May 30, 2023
b767ac7
Merge pull request #4 from openimis/CM-24
sniedzielski May 30, 2023
293f685
CM-116: Added eslint and fixed workflow
dborowiecki Jun 1, 2023
3a4d05a
Merge pull request #5 from openimis/feature/CM-116
sniedzielski Jun 2, 2023
0b1150e
CM-24: addressing issues and improving user experience of individuals…
olewandowski1 Jun 12, 2023
0939cb5
CM-106: add benefit plans panel to individual (#8)
jdolkowski Jun 12, 2023
89bf417
Added coreMIS deployment
dborowiecki Jun 12, 2023
9cd49e5
CM-114: add groups display page (#6)
jdolkowski Jun 12, 2023
6829e9a
CM-105: add export funcionality to groups
jdolkowski Jun 14, 2023
12ca3cd
CM-105: fix imports
jdolkowski Jun 14, 2023
98c7b2e
CM-108: add group detail view (#10)
jdolkowski Jun 15, 2023
693ebe2
CM-105: merge with develop
jdolkowski Jun 15, 2023
a701b10
Merge pull request #12 from openimis/feature/CM-105
sniedzielski Jun 15, 2023
de5d2da
CM-108: address comments from last PR (#13)
jdolkowski Jun 15, 2023
adbb1a1
CM-121: address QA points (#15)
jdolkowski Jun 16, 2023
278df44
CM-29: add export funcionality to individuals (#14)
jdolkowski Jun 16, 2023
38b545c
CM-110: export necessary actions to create benefit package page for g…
olewandowski1 Jun 17, 2023
176de2d
CM-29: fix export query names (#16)
jdolkowski Jun 17, 2023
9d18190
CM-105: fix downloads (#19)
jdolkowski Jun 20, 2023
d48e162
CM-108: reset cache on unmount (#18)
jdolkowski Jun 21, 2023
a7ff0ba
CM-48: add roles to individuals in groups (#20)
jdolkowski Jul 5, 2023
e3b3572
CM-48: fix QA issues (#21)
jdolkowski Jul 6, 2023
fc68e04
CM-217: use searcher for individuals/groups (#22)
olewandowski1 Jul 18, 2023
9d92755
CM-158: fix download and switching tabs (#23)
jdolkowski Jul 19, 2023
4bc4c27
CM-202: removal of BenefitPlansListTab, using it via contribution log…
olewandowski1 Jul 19, 2023
82cb584
CM-134: use id in mutation labels to avoid mutation errors (#25)
olewandowski1 Jul 24, 2023
6712ab6
Update README.md
jdolkowski Jul 26, 2023
9d068ab
CM-295: display group head (#26)
jdolkowski Oct 2, 2023
5e020bb
CM-333: filter individuals by group id (#27)
jdolkowski Oct 3, 2023
cd08122
CM-296: add custom filtering to individuals and groups (#28)
jdolkowski Oct 4, 2023
b7a75ef
add-sonar-ci: add sonar files (#29)
jdolkowski Oct 11, 2023
6619ae4
CM-381: added changelog for individual
sniedzielski Dec 27, 2023
78c6125
CM-381: added filtering in changelog
sniedzielski Dec 27, 2023
71af2b0
CM-380: add update individual task table (#31)
jdolkowski Dec 28, 2023
efa319f
CM-381: improving UI of changelog
sniedzielski Dec 28, 2023
7450a50
CM-381: fixed conflicts
sniedzielski Dec 28, 2023
a89928a
CM-406: add change log fe for group (#33)
jdolkowski Dec 29, 2023
a2e6329
CM-381: merged from develop
sniedzielski Dec 29, 2023
a220dad
CM-381: changed cache filter keys for history
sniedzielski Dec 29, 2023
387742e
Merge pull request #32 from openimis/feature/CM-381
jdolkowski Dec 29, 2023
0409574
CM-406: add change log fe for group (#34)
jdolkowski Dec 30, 2023
41704d5
CM-406: get head from jsonExt (#35)
jdolkowski Jan 3, 2024
d0eb0c7
CM-359: allow to choose columns to be exported (#30)
jdolkowski Jan 4, 2024
1ac979e
CM-404: move individual to another group (#36)
jdolkowski Jan 5, 2024
8cf0be1
CM-405: add tasks on frontend (#37)
jdolkowski Jan 9, 2024
35790d2
CM-408: display members in task (#38)
jdolkowski Jan 9, 2024
96c0932
CM-406: add user updated (#39)
jdolkowski Jan 10, 2024
9e85dce
CM-396: added Tasks tab for Individual and Group
sniedzielski Jan 10, 2024
64aba29
CM-396: improving finding contribution
sniedzielski Jan 10, 2024
ac5c3f0
CM-406: add new filters for history (#42)
jdolkowski Jan 12, 2024
1659441
CM-359: update individual searcher to support selection of fields fro…
jdolkowski Jan 12, 2024
963cdc9
Merge pull request #40 from openimis/feature/CM-396
jdolkowski Jan 12, 2024
16d5809
CM-465: move individual to new group (#43)
jdolkowski Jan 19, 2024
8871be0
hackaton
sniedzielski Jan 25, 2024
7f030b6
hackaton
sniedzielski Jan 25, 2024
ab90cb2
hackaton2
sniedzielski Jan 25, 2024
9abbfac
hackaton3
sniedzielski Jan 25, 2024
0b10b2b
hackaton: refactor UI
sniedzielski Jan 29, 2024
8e6408a
CM-458: adjust group create task display (#44)
jdolkowski Jan 29, 2024
33f56b6
merge with develop
Jan 30, 2024
6856ed6
CM-501: adjust frontend to individual custom filters (#45)
jdolkowski Feb 8, 2024
ab1a669
prepare to merge from hackaton
sniedzielski Feb 15, 2024
ac00fbf
CM-711: added enrollment form based on selection of filters in backend
sniedzielski Feb 15, 2024
7933801
CM-711: added status for enrollment process
sniedzielski Feb 15, 2024
d7efa24
CM-711: added summary of selection for enrollment
sniedzielski Feb 16, 2024
0f0a4c4
CM-711: renamed advanced filter file
sniedzielski Feb 16, 2024
1f64040
CM-711L added button to finalize enrollment selection
sniedzielski Feb 16, 2024
567c031
CM-711: added mutation to confirm enrollment process
sniedzielski Feb 16, 2024
3af9f25
CM-711: final adjustments in frontend for this feature
sniedzielski Feb 19, 2024
b8495df
Merge pull request #46 from openimis/feature/CM-711
jdolkowski Feb 19, 2024
d7f205d
CM-711: fixing enrollment mutation log
sniedzielski Feb 19, 2024
89a4efa
Merge branch 'develop' of https://github.com/openimis/openimis-fe-ind…
sniedzielski Feb 19, 2024
ad85fd8
Merge pull request #47 from openimis/feature/CM-711
jdolkowski Feb 19, 2024
0bfffae
CM-549: fix task tab in group page (#48)
jdolkowski Feb 20, 2024
b7faace
CM-729: added individual upload history dialog (#49)
sniedzielski Feb 22, 2024
f9f3d6a
CM-729: added user upload and sort by date created DESC (#50)
sniedzielski Feb 27, 2024
d4df357
CM-715: added benefits tab
sniedzielski Feb 29, 2024
98928b0
CM-715: added benefits tab (#51)
sniedzielski Mar 1, 2024
8c0ba30
CM-738: added possibility to preview individual
sniedzielski Mar 4, 2024
3f8f224
Merge branch 'develop' of https://github.com/openimis/openimis-fe-ind…
sniedzielski Mar 4, 2024
660c6c1
CM-738: added check to not perform preview when no selected individua…
sniedzielski Mar 4, 2024
7d4b1ae
Merge branch 'feature/CM-738' of https://github.com/openimis/openimis…
sniedzielski Mar 4, 2024
a41cd8c
Merge pull request #52 from openimis/feature/CM-738
jdolkowski Mar 4, 2024
8354ed2
CM-717: added group history tab
sniedzielski Mar 5, 2024
cba0e82
CM-737: make AppliedCriteriaRow public reference (#53)
jdolkowski Mar 6, 2024
8122952
merged from develop
sniedzielski Mar 6, 2024
045586e
CM-717: added adjustments to the searcher of history group, added mem…
sniedzielski Mar 6, 2024
5257752
CM-717: fixed linter
sniedzielski Mar 6, 2024
53e341f
Merge pull request #54 from openimis/feature/CM-717
jdolkowski Mar 6, 2024
fc6a8cb
CM-317: fixing routing for individual in group individual list (#55)
sniedzielski Mar 7, 2024
ba7b946
CM-700: download upload file (#56)
jdolkowski Mar 8, 2024
9d9bf28
CM-700: download upload file (#57)
jdolkowski Mar 8, 2024
21020d2
CM-726: added changes in picker workflow (#58)
sniedzielski Mar 12, 2024
6e900fa
CM-726: Added filters for workflow (#59)
sniedzielski Mar 12, 2024
d9d36b6
CM-778: added possibility to display extra fields of individual (#60)
sniedzielski Mar 18, 2024
af1edd2
fixed max height of modal (#61)
sniedzielski Mar 18, 2024
a7905c5
hothfix: additional fields in historical searcher (#63)
sniedzielski Mar 20, 2024
8ae54b2
CM-847: fix droup id passing via prop (#64)
jdolkowski Mar 21, 2024
ebcc855
CM-741: fixed height of history upload modal (#65)
sniedzielski Mar 21, 2024
419ae4f
CM-742: update history upload frontend (#62)
jdolkowski Mar 22, 2024
571637d
OP-1486: fix handling failed export
olewandowski1 Mar 26, 2024
95acbce
Merge pull request #66 from openimis/feature/OP-1468
jdolkowski Mar 27, 2024
5115007
CM-874: move individuals to social protection menu (#67)
jdolkowski Apr 11, 2024
38392ab
add-menu-filter: add menu filters (#68)
jdolkowski Apr 15, 2024
c106a9c
CM-868: added Individual Picker (#69)
sniedzielski Apr 22, 2024
7fc1509
Merge pull request #70 from openimis/develop
delcroip Apr 24, 2024
6af5f69
CM-879: add undo delete individual (#71)
jdolkowski Apr 30, 2024
735bc7c
Merge pull request #72 from openimis/develop
delcroip Apr 30, 2024
659c6c1
Update npmpublish.yml
delcroip Apr 30, 2024
4b60d97
Merge pull request #73 from openimis/develop
delcroip Apr 30, 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
12 changes: 12 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"presets": [
["@babel/preset-env", {
"modules": false
}],
["@babel/preset-react"]
],
"plugins": [
"@babel/plugin-transform-runtime",
"@babel/plugin-proposal-class-properties"
]
}
23 changes: 23 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"parser": "babel-eslint",
"extends": [
"standard",
"standard-react"
],
"env": {
"es6": true
},
"plugins": [
"react"
],
"parserOptions": {
"sourceType": "module"
},
"rules": {
// don't force es6 functions to include space before paren
"space-before-function-paren": 0,

// allow specifying true explicitly for boolean props
"react/jsx-boolean-value": 0
}
}
26 changes: 26 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"plugin:react/recommended",
"airbnb"
],
"overrides": [
],
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"react"
],
"rules": {
"react/prop-types": "off",
"no-shadow": "off", // disabled due to use of bindActionCreators
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }], // disabled due to naming consistency with other modules
"import/no-unresolved": "off", // disable due to module architecture. For modules most references are marked as unresolved
"max-len": ["error", { "code": 120 }]
}
}
44 changes: 44 additions & 0 deletions .github/workflows/CI_and_build copy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# This is a basic workflow to help you get started with Actions

name: Build

# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
pull_request:
branches: [ main, develop ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [16.x]

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run : yarn install
- name: build
run : yarn build
- name: Check build status
run: |
if [ -d "dist" ]; then
echo "Build successful!"
else
echo "Build failed!"
exit 1
fi
23 changes: 23 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Sonar CI pipeline
on:
push:
branches:
- main
- 'release/**'
- develop
- 'feature/**'
pull_request:
types: [opened, synchronize, reopened]
jobs:
sonarcloud:
name: SonarCloud
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: SonarCloud Scan
uses: SonarSource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
32 changes: 32 additions & 0 deletions .github/workflows/core-mis-test-server-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: CoreMIS Server Deployment
on:
push:
branches:
- develop

jobs:
rebuild-test-server:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2

- name: Set up SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.CORE_MIS_DEPLOYMENT_SSH_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H ${{ secrets.CORE_MIS_DEPLOYMENT_HOST }} >> ~/.ssh/known_hosts
env:
CORE_MIS_DEPLOYMENT_SSH_KEY: ${{ secrets.CORE_MIS_DEPLOYMENT_SSH_KEY }}
CORE_MIS_DEPLOYMENT_USER: ${{ secrets.CORE_MIS_DEPLOYMENT_USER }}
CORE_MIS_DEPLOYMENT_HOST: ${{ secrets.CORE_MIS_DEPLOYMENT_HOST }}

- name: Run Docker Compose
run: |
ssh -o StrictHostKeyChecking=no -T ${{ secrets.CORE_MIS_DEPLOYMENT_USER }}@${{ secrets.CORE_MIS_DEPLOYMENT_HOST }} -p 1022
ssh ${{ secrets.CORE_MIS_DEPLOYMENT_USER }}@${{ secrets.CORE_MIS_DEPLOYMENT_HOST }} -p 1022 << EOF
cd coreMIS/
docker-compose build backend gateway && docker-compose up -d
EOF

30 changes: 30 additions & 0 deletions .github/workflows/eslint_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: ESLint

on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop

jobs:
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 14

- name: Install dependencies
run: yarn install

- name: Run ESLint
run: npx eslint src
50 changes: 50 additions & 0 deletions .github/workflows/npmpublish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages

name: Publish Node.js Package

on:
release:
types: [published]
workflow_dispatch:
inputs:
node_version:
description: 'Node version to use'
required: true
default: '20'
registry_url:
description: 'NPM registry URL'
required: true
default: 'https://registry.npmjs.org/'
scope:
description: 'Scope for npm package'
required: false
default: 'openimis'
access:
description: 'Access level for npm package'
required: false
default: 'public'
tab:
required: true

jobs:
call-npm-publish-workflow:
uses: openimis/openimis-fe_js/.github/workflows/module-npmpublish.yml@develop
with:
registry_url: 'https://registry.npmjs.org/'
node_version: ${{ github.event.inputs.node_version }}
access: ${{ github.event.inputs.access }}
scope: ${{ github.event.inputs.scope }}
tag: ${{ github.event.inputs.tag }}
secrets:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
call-gpr-publish-workflow:
uses: openimis/openimis-fe_js/.github/workflows/module-npmpublish.yml@develop
with:
registry_url: 'https://npm.pkg.github.com/'
node_version: ${{ github.event.inputs.node_version }}
access: ${{ github.event.inputs.access }}
scope: ${{ github.event.inputs.scope }}
tag: ${{ github.event.inputs.tag }}
secrets:
NPM_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

# See https://help.github.com/ignore-files/ for more about ignoring files.

# dependencies
node_modules

# builds
build
dist
.rpt2_cache

# misc
.DS_Store
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
.editorconfig

npm-debug.log*
yarn-debug.log*
yarn-error.log*
yarn.lock
6 changes: 6 additions & 0 deletions .priettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"trailingComma": "all",
"printWidth": 120,
"quoteProps": "preserve",
"arrowParens": "always"
}
49 changes: 49 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# openIMIS Frontend Individual module
This repository holds the files of the openIMIS Frontend Individual module.
It is dedicated to be bootstrap development of [openimis-fe_js](https://github.com/openimis/openimis-fe_js) modules, providing an empty (yet deployable) module.

Please refer to [openimis-fe_js](https://github.com/openimis/openimis-fe_js) to see how to build and and deploy (in developement or server mode).

The module is built with [rollup](https://rollupjs.org/).
In development mode, you can use `npm link` and `npm start` to continuously scan for changes and automatically update your development server.

[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/openimis/openimis-fe-individual_js.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/openimis/openimis-fe-individual_js/alerts/)

## Main Menu Contributions
* **Beneficiares and Households** (individual.mainMenu translation key)

**Individuals** (individual.menu.individuals key), displayed if user has the right `159001`
**Groups** (individual.menu.groups key), displayed if user has the right `159001`

## Other Contributions
* `core.Router`: registering `individuals`, `individual`, routes in openIMIS client-side router

## Available Contribution Points
* `individual.TabPanel.label`, labels for tab panels displaying Individuals
* `individual.TabPanel.panel`, panels for tab panels displaying Individuals

## Dispatched Redux Actions
* `INDIVIDUAL_MUTATION_{REQ|ERR}`, sending a mutation
* `INDIVIDUAL_DELETE_INDIVIDUAL_RESP` receiving a result of delete Individual mutation
* `INDIVIDUAL_UPDATE_INDIVIDUAL_RESP` receiving a result of update Individual mutation
* `GROUP_DELETE_GROUP_RESP` receiving a result of delete Group mutation
* `GROUP_UPDATE_GROUP_RESP` receiving a result of update Group mutation
* `GROUP_INDIVIDUAL_DELETE_GROUP_INDIVIDUAL_RESP` receiving a result of delete GroupIndividual mutation
* `GROUP_INDIVIDUAL_UPDATE_GROUP_INDIVIDUAL_RESP` receiving a result of update GroupIndividual mutation
* `INDIVIDUAL_INDIVIDUALS_{REQ|RESP|ERR}` fetching Individuals (as triggered by the searcher)
* `INDIVIDUAL_INDIVIDUAL_{REQ|RESP|ERR}` fetching chosen Individual
* `GROUP_GROUPS_{REQ|RESP|ERR}` fetching Groups (as triggered by th searcher)
* `GROUP_GROUP_{REQ|RESP|ERR}` fetching chosen Group
* `GROUP_INDIVIDUAL_GROUP_INDIVIDUALS_{REQ|RESP|ERR}` fetching GroupIndividuals (as triggered by th searcher)
* `INDIVIDUAL_EXPORT_{REQ|RESP|ERR}` export of Individuals
* `GROUP_EXPORT_{REQ|RESP|ERR}` export of Groups
* `GROUP_INDIVIDUAL_EXPORT_{REQ|RESP|ERR}` export of GroupIndividuals
## Other Modules Listened Redux Actions
None

## Other Modules Redux State Bindings
* `state.core.user`, to access user info (rights,...)

## Configurations Options
None
49 changes: 49 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"name": "@openimis/fe-individual",
"version": "0.1.0",
"license": "AGPL-3.0-only",
"description": "openIMIS Frontend Individual module",
"repository": "openimis/openimis-fe-individual_js",
"main": "dist/index.js",
"module": "dist/index.es.js",
"engines": {
"node": ">=8",
"npm": ">=5"
},
"scripts": {
"build": "rollup -c",
"start": "rollup -c -w",
"format": "prettier src -w",
"prepare": "npm run build"
},
"peerDependency": {
"react-intl": "^5.8.1"
},
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.9.6",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.9.6",
"@babel/preset-env": "^7.9.6",
"@babel/preset-react": "^7.9.4",
"@babel/runtime": "^7.9.6",
"@rollup/plugin-babel": "^5.0.0",
"@rollup/plugin-commonjs": "^11.1.0",
"@rollup/plugin-json": "^4.0.3",
"@rollup/plugin-node-resolve": "^7.1.3",
"@rollup/plugin-url": "^5.0.0",
"eslint": "^7.32.0 || ^8.2.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-react": "^7.28.0",
"eslint-plugin-react-hooks": "^4.3.0",
"rollup": "^2.10.0"
},
"files": [
"dist"
],
"dependencies": {
"flat": "^5.0.2"
}
}
Loading
Loading