1.2.4 • Published 7 months ago

rnx-gen v1.2.4

Weekly downloads
-
License
MIT
Repository
github
Last release
7 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

7 months ago

1.2.3

7 months ago

1.2.2

7 months ago

1.2.1

8 months ago

1.2.0

8 months ago

1.1.7

8 months ago

1.1.6

8 months ago

1.1.5

8 months ago

1.1.4

9 months ago

1.1.3

9 months ago

1.1.2

9 months ago

1.1.1

9 months ago

1.0.12

9 months ago

1.0.11

10 months ago

1.0.10

10 months ago

1.0.9

10 months ago

1.0.8

10 months ago

1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago