# @ember-data/rfc395-data

> JSON data for Ember.js RFC #395

Latest version **0.0.4** (published 2019-07-31) · MIT license · 0 weekly downloads

## Install

```sh
npm install @ember-data/rfc395-data
pnpm add @ember-data/rfc395-data
yarn add @ember-data/rfc395-data
bun add @ember-data/rfc395-data
```

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.4 |
| Published | 2019-07-31 |
| First published | 2019-07-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 16 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Cyrille David |
| Maintainers | bmac, dgeb, ember-data-admin, fivetanley, hjdivad, igort, kellyselden, runspired, rwjblue, stefanpenner |

## Links

- npm: https://www.npmjs.com/package/@ember-data/rfc395-data
- Repository: htps://github.com/ember-data/ember-data-rfc395-data
- Homepage: https://github.com/ember-data/ember-data-rfc395-data#readme
- Issues: https://github.com/ember-data/ember-data-rfc395-data/issues
- npm.io page: https://npm.io/package/@ember-data/rfc395-data

## Recent versions

- 0.0.4 (latest) — 2019-07-31
- 0.0.3 — 2019-07-19
- 0.0.1 — 2019-07-03

## README

ember-data-rfc395-data
==============================================================================

JSON data for [RFC #395](https://github.com/emberjs/rfcs/blob/master/text/0395-ember-data-packages.md)

### Related Projects

- [babel-plugin-ember-modules-api-polyfill](https://github.com/ember-cli/babel-plugin-ember-modules-api-polyfill)
- [ember-modules-codemod](https://github.com/ember-cli/ember-modules-codemod)
- [ember-rfc176-data](https://github.com/ember-cli/ember-rfc176-data) for inspiration

## Contents

### Globals to New Modules 

| Before                    | After                                                                 |
| ---                       | ---                                                                   |
| `DS.AbortError`           | `import { AbortError } from '@ember-data/adapter/error';`             |
| `DS.Adapter`              | `import Adapter from '@ember-data/adapter';`                          |
| `DS.AdapterError`         | `import AdapterError from '@ember-data/adapter/error';`               |
| `DS.attr`                 | `import { attr } from '@ember-data/model';`                           |
| `DS.belongsTo`            | `import { belongsTo } from '@ember-data/model';`                      |
| `DS.BuildURLMixin`        | `import { BuildURLMixin } from '@ember-data/adapter';`                |
| `DS.ConflictError`        | `import { ConflictError } from '@ember-data/adapter/error';`          |
| `DS.EmbeddedRecordsMixin` | `import { EmbeddedRecordsMixin } from '@ember-data/serializer/rest';` |
| `DS.errorsArrayToHash`    | `import { errorsArrayToHash } from '@ember-data/adapter/error';`      |
| `DS.errorsHashToArray`    | `import { errorsHashToArray } from '@ember-data/adapter/error';`      |
| `DS.ForbiddenError`       | `import { ForbiddenError } from '@ember-data/adapter/error';`         |
| `DS.hasMany`              | `import { hasMany } from '@ember-data/model';`                        |
| `DS.InvalidError`         | `import { InvalidError } from '@ember-data/adapter/error';`           |
| `DS.JSONAPIAdapter`       | `import JSONAPIAdapter from '@ember-data/adapter/json-api';`          |
| `DS.JSONAPISerializer`    | `import JSONAPISerializer from '@ember-data/serializer/json-api';`    |
| `DS.JSONSerializer`       | `import JSONSerializer from '@ember-data/serializer/json';`           |
| `DS.Model`                | `import Model from '@ember-data/model';`                              |
| `DS.normalizeModelName`   | `import { normalizeModelName } from '@ember-data/store';`             |
| `DS.NotFoundError`        | `import { NotFoundError } from '@ember-data/adapter/error';`          |
| `DS.RecordData`           | `import RecordData from '@ember-data/record-data';`                   |
| `DS.RESTAdapter`          | `import RESTAdapter from '@ember-data/adapter/rest';`                 |
| `DS.RESTSerializer`       | `import RESTSerializer from '@ember-data/serializer/rest';`           |
| `DS.Serializer`           | `import Serializer from '@ember-data/serializer';`                    |
| `DS.ServerError`          | `import { ServerError } from '@ember-data/adapter/error';`            |
| `DS.Store`                | `import Store from '@ember-data/store';`                              |
| `DS.TimeoutError`         | `import { TimeoutError } from '@ember-data/adapter/error';`           |
| `DS.Transform`            | `import Transform from '@ember-data/serializer/transform';`           |
| `DS.UnauthorizedError`    | `import { UnauthorizedError } from '@ember-data/adapter/error';`      |


### New Modules to Globals

#### `@ember-data/adapter`
| Module                                                           | Global                 |
| ---                                                              | ---                    |
| `import Adapter from '@ember-data/adapter';`                     | `DS.Adapter`           |
| `import { BuildURLMixin } from '@ember-data/adapter';`           | `DS.BuildURLMixin`     |
| `import { AbortError } from '@ember-data/adapter/error';`        | `DS.AbortError`        |
| `import AdapterError from '@ember-data/adapter/error';`          | `DS.AdapterError`      |
| `import { ConflictError } from '@ember-data/adapter/error';`     | `DS.ConflictError`     |
| `import { ForbiddenError } from '@ember-data/adapter/error';`    | `DS.ForbiddenError`    |
| `import { InvalidError } from '@ember-data/adapter/error';`      | `DS.InvalidError`      |
| `import { NotFoundError } from '@ember-data/adapter/error';`     | `DS.NotFoundError`     |
| `import { ServerError } from '@ember-data/adapter/error';`       | `DS.ServerError`       |
| `import { TimeoutError } from '@ember-data/adapter/error';`      | `DS.TimeoutError`      |
| `import { UnauthorizedError } from '@ember-data/adapter/error';` | `DS.UnauthorizedError` |
| `import { errorsArrayToHash } from '@ember-data/adapter/error';` | `DS.errorsArrayToHash` |
| `import { errorsHashToArray } from '@ember-data/adapter/error';` | `DS.errorsHashToArray` |
| `import JSONAPIAdapter from '@ember-data/adapter/json-api';`     | `DS.JSONAPIAdapter`    |
| `import RESTAdapter from '@ember-data/adapter/rest';`            | `DS.RESTAdapter`       |

#### `@ember-data/model`
| Module                                           | Global         |
| ---                                              | ---            |
| `import { attr } from '@ember-data/model';`      | `DS.attr`      |
| `import Model from '@ember-data/model';`         | `DS.Model`     |
| `import { belongsTo } from '@ember-data/model';` | `DS.belongsTo` |
| `import { hasMany } from '@ember-data/model';`   | `DS.hasMany`   |

#### `@ember-data/record-data`
| Module                                              | Global          |
| ---                                                 | ---             |
| `import RecordData from '@ember-data/record-data';` | `DS.RecordData` |

#### `@ember-data/serializer`
| Module                                                                | Global                    |
| ---                                                                   | ---                       |
| `import Serializer from '@ember-data/serializer';`                    | `DS.Serializer`           |
| `import JSONSerializer from '@ember-data/serializer/json';`           | `DS.JSONSerializer`       |
| `import JSONAPISerializer from '@ember-data/serializer/json-api';`    | `DS.JSONAPISerializer`    |
| `import { EmbeddedRecordsMixin } from '@ember-data/serializer/rest';` | `DS.EmbeddedRecordsMixin` |
| `import RESTSerializer from '@ember-data/serializer/rest';`           | `DS.RESTSerializer`       |
| `import Transform from '@ember-data/serializer/transform';`           | `DS.Transform`            |

#### `@ember-data/store`
| Module                                                    | Global                  |
| ---                                                       | ---                     |
| `import Store from '@ember-data/store';`                  | `DS.Store`              |
| `import { normalizeModelName } from '@ember-data/store';` | `DS.normalizeModelName` |


### Scripts

The tables above can be generated using the scripts in the `scripts` folder, e.g.:

```
node scripts/generate-markdown-table.js
```


## Contributing

### mappings.json format

The `mappings.json` file contains an array of entries with the following format:

```ts
interface Mapping {
  /**
    The globals based API that this module and export replace.
   */
  global: string;

  /**
    The module to import.
   */
  module: string;

  /**
    The export name from the module.
   */
  export: string;

  /**
    The recommended `localName` to use for a given module/export. Only present
    when a name other than the value for `export` should be used.

    This is useful for things like ember-data-codemod or eslint-plugin-ember
    so that they can provide a nice suggested import for a given global path usage.
   */
  localName?: string;

  /**
    A replacement module/export which should be used instead.
  */
  replacement?: {
    module: string;
    export: string;
  }
}
```

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