# @bfwk/baas-server

> [![npm](https://img.shields.io/npm/v/@bfwk/baas-server)](https://www.npmjs.com/package/@bfwk/baas-server)

Latest version **0.10.11** (published 2022-09-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install @bfwk/baas-server
pnpm add @bfwk/baas-server
yarn add @bfwk/baas-server
bun add @bfwk/baas-server
```

## Health

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

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.10.11 |
| Published | 2022-09-22 |
| First published | 2022-08-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 37 |
| Unpacked size | 4.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | treywashington, lwc-admin |

## Links

- npm: https://www.npmjs.com/package/@bfwk/baas-server
- Repository: https://github.com/salesforce/builder-framework
- Homepage: https://github.com/salesforce/builder-framework#readme
- Issues: https://github.com/salesforce/builder-framework/issues
- npm.io page: https://npm.io/package/@bfwk/baas-server

## Dependencies (37)

- [lwc](https://npm.io/package/lwc.md) 2.20.2
- [lwr](https://npm.io/package/lwr.md) 0.7.3
- [glob](https://npm.io/package/glob.md) ^7.1.6
- [yaml](https://npm.io/package/yaml.md) 1.10.2
- [csurf](https://npm.io/package/csurf.md) ^1.11.0
- [execa](https://npm.io/package/execa.md) ^5.0.0
- [redis](https://npm.io/package/redis.md) ^4.0.2
- [dotenv](https://npm.io/package/dotenv.md) ^10.0.0
- [helmet](https://npm.io/package/helmet.md) ^4.6.0
- [iltorb](https://npm.io/package/iltorb.md) ^2.4.5
- [recast](https://npm.io/package/recast.md) ^0.20.4
- [postcss](https://npm.io/package/postcss.md) ^8.2
- [ts-node](https://npm.io/package/ts-node.md) ^10.2.0
- [winston](https://npm.io/package/winston.md) ^3.3.3
- [nunjucks](https://npm.io/package/nunjucks.md) ^3.2.3
- [merge-deep](https://npm.io/package/merge-deep.md) ^3.0.3
- [@babel/core](https://npm.io/package/@babel/core.md) ^7.13.14
- [@bfwk/types](https://npm.io/package/@bfwk/types.md) 0.10.11
- [@bfwk/utils](https://npm.io/package/@bfwk/utils.md) 0.10.11
- [@bfwk/canvas](https://npm.io/package/@bfwk/canvas.md) 0.10.11
- [@bfwk/editor](https://npm.io/package/@bfwk/editor.md) 0.10.11
- [@lwrjs/types](https://npm.io/package/@lwrjs/types.md) 0.7.3
- [cookie-parser](https://npm.io/package/cookie-parser.md) ^1.4.5
- [openid-client](https://npm.io/package/openid-client.md) ^5.1.1
- [node-zopfli-es](https://npm.io/package/node-zopfli-es.md) ^1.0.7
- [express-session](https://npm.io/package/express-session.md) ^1.17.2
- [@bfwk/components](https://npm.io/package/@bfwk/components.md) 0.10.11
- [@bfwk/interactions](https://npm.io/package/@bfwk/interactions.md) 0.10.11
- [express-rate-limit](https://npm.io/package/express-rate-limit.md) ^5.3.0
- [@lwrjs/shared-utils](https://npm.io/package/@lwrjs/shared-utils.md) 0.7.3
- [@bfwk/document-model](https://npm.io/package/@bfwk/document-model.md) 0.10.11
- [@bfwk/elements-palette](https://npm.io/package/@bfwk/elements-palette.md) 0.10.11
- [@bfwk/surface-components](https://npm.io/package/@bfwk/surface-components.md) 0.10.11
- [lightning-base-components](https://npm.io/package/lightning-base-components.md) 1.15.4-alpha
- [@lwrjs/lwc-module-provider](https://npm.io/package/@lwrjs/lwc-module-provider.md) 0.7.3
- [@lwrjs/label-module-provider](https://npm.io/package/@lwrjs/label-module-provider.md) 0.7.3
- [@salesforce-ux/design-system](https://npm.io/package/@salesforce-ux/design-system.md) ^2.18.0

## Recent versions

- 0.10.11 (latest) — 2022-09-22
- 0.10.10 — 2022-09-19
- 0.10.9 — 2022-09-16
- 0.10.8 — 2022-09-15
- 0.10.7 — 2022-09-12
- 0.10.6 — 2022-08-26
- 0.10.5 — 2022-08-18
- 0.10.4 — 2022-08-17
- 0.10.3 — 2022-08-17

## README

# @bfwk/baas-service

[![npm](https://img.shields.io/npm/v/@bfwk/baas-server)](https://www.npmjs.com/package/@bfwk/baas-server)

OOTB set up for an offcore [LWR](https://github.com/salesforce/lwr) builder based on bfwk.

[Example usage](../sample-builder):

```typescript
import { dirname, resolve } from 'path';
import { fileURLToPath } from 'url';
import { createBaasServer } from '@bfwk/baas-server';
import {
  ComponentShapeMetadataService,
  ViewMetadataServiceImpl,
  TemplateMetadataServiceImpl,
  DeclarativeTypeMetadataService,
  DataProviderMetadataService,
  ActionMetadataService,
} from './metadata-services';

const __dirname = dirname(fileURLToPath(import.meta.url));

createBaasServer({
  rootCmp: 'sample_builder/builder',
  lwrConfig: {
    lwc: {
      modules: [
        {
          dir: resolve(__dirname, '../../src', 'metadata/components'),
        },
      ],
    },
  },
  metadataServices: [
    new ComponentShapeMetadataService(),
    new ViewMetadataServiceImpl(),
    new TemplateMetadataServiceImpl(),
    new DataProviderMetadataService(),
    new DeclarativeTypeMetadataService(),
    new ActionMetadataService(),
  ],
});
```

## Metadata Service

Every [metadata service](src/metadata-services/metadata-service.ts) added to the initial configuration will automatically
have an express route exposed following a set route scheme.

Example:
The following MetadataService is accessible on the client via the endpoint `/metadata/view/`

```typescript
export class ViewMetadataServiceImpl extends FilebasedMetadataServiceImpl<
  ViewResource
> {
  constructor() {
    super('view', {
      read: {
        dirs: ['**/metadata/tmp/**'],
      },
      write: {
        dir: SAMPLE_VIEW_SAVE_DIR,
      },
    });
  }
}
```

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