1.2.4 • Published 5 months ago

rnx-gen v1.2.4

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

The problem

If you follow the recommended folder structure for React Native apps, you have to create multiple files for a single screen or a component (styles, constants, types etc.). This wastes a lot of time.

The solution

Use rnx-gen to create common resources with a single command.\ Here's how you would generate the files for a new screen component:

create screen example

Installation

Save rnx-gen as a dev dependency

npm i rnx-gen --save-dev

Usage

Screen

npx rnx-gen g screen UserProfile
  • Result
src
   |-screens
        |-UserProfileScreen
            |-__tests__
                |-UserProfileScreen.test.ts
            |-UserProfileScreen.tsx
            |-UserProfileScreen.types.ts
            |-UserProfileScreen.styles.ts
            |-UserProfileScreen.constants.ts
            |-index.ts
  • Command options
OptionDescriptions
--no-testDo not create the tests folder and the test file
--no-constDo not create the constants file
--no-styleDo not create the styles file
--pathCustom path (example --path=src/screens/auth)
--keep-nameUse the resource name provided without modification
--dry-runSimulate command execution without creating any files

Component

npx rnx-gen g component AlertModal
  • Result
src
   |-components
        |-AlertModal
            |-__tests__
                |-AlertModal.test.ts
            |-AlertModal.tsx
            |-AlertModal.styles.ts
            |-index.ts
  • Command options
OptionDescriptions
--no-testDo not create the tests folder and the test file
--no-dirDo not create a separate folder for the component
--no-styleDo not create the styles file
--pathCustom path (example --path=src/components/cards)
--keep-nameUse the resource name provided without modification
--dry-runSimulate command execution without creating any files

Hook

npx rnx-gen g hook profileData
  • Result
src
   |-hooks
        |-useProfileData
            |-useProfileData.ts
            |-useProfileData.test.ts
            |-index.ts
  • Command options
OptionDescriptions
--no-testDo not create the test file
--no-dirDo not create a separate folder for the hook
--pathCustom path (example --path=src/hooks/data)
--keep-nameUse the resource name provided without modification
--dry-runSimulate command execution without creating any files

Redux slice

npx rnx-gen g slice users
  • Result
src
   |-redux
        |-slices
            |-usersSlice.ts
  • Command options
OptionDescriptions
--pathCustom path (example --path=src/redux/reducers)
--keep-nameUse the resource name provided without modification
--dry-runSimulate command execution without creating any files

Api

npx rnx-gen g api dashboard
  • Result
src
   |-services
        |-api
            |-dashboardApi
                |-dashboardApi.ts
                |-dashboardApi.endpoints.ts
                |-index.ts
  • Command options
OptionDescriptions
--pathCustom path (example --path=src/api/home)
--keep-nameUse the resource name provided without modification
--no-endpointsDo not create the endpoints file
--no-dirDo not create a separate folder for the api
--dry-runSimulate command execution without creating any files

Redux folder

npx rnx-gen redux
  • Result
src
   |-redux
        |-slices
            |-appSlice.ts
        |-selectors
            |-appSelectors.ts
        |-rootReducer.ts
        |-store.ts
        |-store.utils.ts
        |-test.utils.tsx
  • Command options
OptionDescriptions
--pathCustom path for the redux folder
--no-testutilDo not create the test.utils.tsx file
--dry-runSimulate command execution without creating any files

Dry run

Execute any command with the --dry-run option to simulate file creation

  • Example
npx rnx-gen g screen Splash --dry-run

dry run example

1.2.4

5 months ago

1.2.3

6 months ago

1.2.2

6 months ago

1.2.1

6 months ago

1.2.0

6 months ago

1.1.7

7 months ago

1.1.6

7 months ago

1.1.5

7 months ago

1.1.4

7 months ago

1.1.3

7 months ago

1.1.2

7 months ago

1.1.1

7 months ago

1.0.12

7 months ago

1.0.11

8 months ago

1.0.10

8 months ago

1.0.9

8 months ago

1.0.8

8 months ago

1.0.7

8 months ago

1.0.6

8 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago