# create-index-exports

> I use this structure for react components and other things:

Latest version **1.0.0** (published 2018-05-21) · ISC license · 0 weekly downloads

## Install

```sh
npm install create-index-exports
pnpm add create-index-exports
yarn add create-index-exports
bun add create-index-exports
```

Provides the command `create-index-exports`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2018-05-21 |
| First published | 2018-05-21 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=4.2.4 |
| Dependencies | 0 |
| Unpacked size | 3.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Andrey Starkov |
| Maintainers | andreystarkov |

## Links

- npm: https://www.npmjs.com/package/create-index-exports
- Repository: https://github.com/andreystarkov/create-index-exports
- Homepage: https://github.com/andreystarkov/create-index-exports#readme
- Issues: https://github.com/andreystarkov/create-index-exports/issues
- npm.io page: https://npm.io/package/create-index-exports

## Recent versions

- 1.0.0 (latest) — 2018-05-21

## README

# createIndexExports.js

I use this structure for react components and other things:

```zsh
  Components\
    AwesomeButton\
      AwesomeButton.js
      index.js
    NicyHeader\
    SexyDrawer\
    SomeOther\
```

Also i use absolute paths and imports like:

```js 
  import { AwesomeButton, NicyHeader, SexyDrawer } from 'Components'
```

if i run:

```zsh
  $ node ./createIndexExports.js ./Components
```

It will create index.js file with all exports:

```jsx
  import AwesomeButton from './AwesomeButton'
  import NicyHeader from './NicyHeader'
  ...
  export {
    AwesomeButton,
    NicyHeader,
    ...
  }

```

It can be useful with other tools.
For ex., i have dumb script, that adds an empty component with given name. like:

```zsh
# component.sh
component="import React, { Component } from 'react'

export default class $1 extends Component {
  render () {
    return (<div />)
  }
}"

index="import $1 from './$1'

export default $1"

mkdir ./src/Components/$1
printf '%s\n' "$component" >> ./src/Components/$1/$1.js
printf '%s\n' "$index" >> ./src/Components/$1/index.js

node ./tools/createIndexExports.js ./src/Components
```

I run:

```zsh
  $ ./component.sh SomeComponent
```

Now i have new import-ready component. Magic!

---
_Source: https://npm.io/package/create-index-exports · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
