# @carto/do-catalog

> Data Observatory Catalog

Latest version **0.4.2** (published 2024-06-20) · BSD-3-Clause license · 0 weekly downloads

## Install

```sh
npm install @carto/do-catalog
pnpm add @carto/do-catalog
yarn add @carto/do-catalog
bun add @carto/do-catalog
```

## 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.4.2 |
| Published | 2024-06-20 |
| First published | 2021-11-09 |
| Weekly downloads | 0 |
| License | BSD-3-Clause |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 2.9 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | CARTO |
| Keywords | carto, data-observatory |

## Links

- npm: https://www.npmjs.com/package/@carto/do-catalog
- Repository: https://github.com/CartoDB/do-catalog
- Homepage: https://github.com/CartoDB/do-catalog#readme
- Issues: https://github.com/CartoDB/do-catalog/issues
- npm.io page: https://npm.io/package/@carto/do-catalog

## Recent versions

- 0.4.2 (latest) — 2024-06-20
- 0.3.12-alpha.0 (prerelease) — 2023-07-31
- 0.4.1 — 2024-06-20
- 0.4.0 — 2024-06-20
- 0.3.13 — 2023-09-15
- 0.3.12 — 2023-07-31
- 0.3.11 — 2023-07-31
- 0.3.11-alpha.7 — 2023-07-31
- 0.3.11-alpha.6 — 2023-07-31
- 0.3.11-alpha.4 — 2023-07-31
- 0.3.11-alpha.3 — 2023-07-31
- 0.3.11-alpha.1 — 2023-07-31
- 0.3.11-alpha.0 — 2023-07-31
- 0.3.3-alpha.0 — 2023-07-31
- 0.3.9-beta.1 — 2023-07-31
- … 15 more at https://npm.io/package/@carto/do-catalog/versions

## README

# Data Observatory Catalog

This repo contains ~sources~ (instructions atm) that build `@carto/do-catalog` NPM package

## Quickstart

- [ ] Install [nvm](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating)
- [ ] Execute `nvm install && nvm use`
- [ ] Execute `npm install`
- [ ] Execute `./scripts/checkout.sh`

## When to update

- Update is needed if `cloud-native` updates `@deck.gl` version as `do-catalog` shares runtime with `cloud-native` so require strictly same version of deck.gl compiled in
- Update is needed if `cartodb` releases new version of `do-catalog` app, one shall merge `main` into `cloud-native` branch then

## Publishing updates

1. `nvm use`
2. `rm -rf .cartodb && npm install && ./scripts/checkout.sh`
3. `npm version <patch | minor | major>`
4. `git push origin "v$(awk -F\" '/"version":/ {print $4}' package.json)"`
5. Create a [new release](https://github.com/CartoDB/do-catalog/releases/new) with the latest published **tag**
6. `./scripts/build.sh`
7. `npm login`
8. `npm publish --tag latest`

> **NOTE:** If you don't have access to the [@carto/do-catalog package](https://www.npmjs.com/package/@carto/do-catalog), you should ask for permissions raising an [it-issue](https://app.slack.com/client/T024FUQQ8/CHP2U8KME)

## Testing locally with cloud-native

**IMPORTANT:** This is a very hacky solution, `yarn link` should be used instead, but due to incompatibility issues with latest versions of Yarn, copying the `umd.min.js` file into `cloud-native/workspace-www/node_modules` is the quick-win:

1. Install all the dependencies in the `cloud-native/workspace-www` directory:

```
.../cloud-native/workspace-www$ yarn
```

2. Build the `do-catalog` package and replace it in `cloud-native/workspace-www/node_modules`:

```
.../do-catalog$ nvm use && npm run build
.../do-catalog$ ./scripts/copy-build.sh /route/to/cloud-native/workspace-www
```

3. Start the `cloud-native` Server

```
.../cloud-native/workspace-www$ yarn start --force
```

> **NOTE:** Repeat **Step 2 & 3** each time you modify the `do-catalog` under the `.cartodb` directory

# Image assets

The bundle relies on image assets from `.cartodb/public/assets/1.0.0-assets.274/images/do-catalog/`
to be available under `../../images/do-catalog` w.r.t to url from which javacript runtime is loaded.

Currently those images are committed `as-is` into `cloud-native` repo in `public/images/do-catalog`

# IMPORTANT NOTES

- To install peerDependencies correctly you'll need to use _Node_ v12 with _npm_ v7 and run:
  `npm install --force`

TODO:

- Publish images in this npm package and
- cloud-native to bundle those images from npm package

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