# @quintype/amp

> Quintype's AMP component library for publisher apps to create amp layouts

Latest version **2.22.17** (published 2026-06-11) · ISC license · 0 weekly downloads

## Install

```sh
npm install @quintype/amp
pnpm add @quintype/amp
yarn add @quintype/amp
bun add @quintype/amp
```

## Health

**Score 55/100 (C)** — status: active.

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

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 2.22.17 |
| Published | 2026-06-11 |
| First published | 2020-03-18 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 16 |
| Unpacked size | 426.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | dev-core@quintype.com |
| Maintainers | devops-quintype, sharangj, srajesh636, bindiya, reena07111996, harshie46, mauliksharma, rakshi059, veena.yemmiganur, rahul.joseph, arunabhthakur94, vishwanath.reddy, nandakishore, mohammedshoaib, divyaprithvi, manu6010, athul_raja, navya-kedlaya |

## Links

- npm: https://www.npmjs.com/package/@quintype/amp
- Repository: https://github.com/quintype/quintype-amp
- Homepage: https://github.com/quintype/quintype-amp#readme
- Issues: https://github.com/quintype/quintype-amp/issues
- npm.io page: https://npm.io/package/@quintype/amp

## Dependencies (16)

- [date-fns](https://npm.io/package/date-fns.md) ^2.11.0
- [react-is](https://npm.io/package/react-is.md) ^19.1.0
- [papaparse](https://npm.io/package/papaparse.md) ^5.3.0
- [atob-utf-8](https://npm.io/package/atob-utf-8.md) ^1.0.4
- [lodash.get](https://npm.io/package/lodash.get.md) ^4.4.2
- [date-fns-tz](https://npm.io/package/date-fns-tz.md) ^1.0.10
- [quintype-js](https://npm.io/package/quintype-js.md) ^1.2.1
- [lodash.merge](https://npm.io/package/lodash.merge.md) ^4.6.2
- [react-helmet](https://npm.io/package/react-helmet.md) ^5.2.1
- [lodash.flatten](https://npm.io/package/lodash.flatten.md) ^4.4.0
- [lodash.clonedeep](https://npm.io/package/lodash.clonedeep.md) ^4.5.0
- [node-html-parser](https://npm.io/package/node-html-parser.md) ^1.2.20
- [styled-components](https://npm.io/package/styled-components.md) ^5.1.1
- [babel-preset-airbnb](https://npm.io/package/babel-preset-airbnb.md) ^5.0.0
- [@rvgpl/get-youtube-id](https://npm.io/package/@rvgpl/get-youtube-id.md) ^1.0.0
- [performant-array-to-tree](https://npm.io/package/performant-array-to-tree.md) ^1.7.1

## Recent versions

- 2.22.17 (latest) — 2026-06-11
- 2.22.16 (beta) — 2026-06-11
- 2.4.9-gtm-fix.1 (gtm-fix) — 2021-07-16
- 2.4.1-amp-validation-error.2 (amp-validation-error) — 2021-04-23
- 2.1.10-test-publish.1 (alpha) — 2020-08-28
- 2.22.13-amp-toggle-rel-no-follow.3 — 2026-06-10
- 2.22.13-amp-toggle-rel-no-follow.2 — 2026-06-09
- 2.22.13-amp-toggle-rel-no-follow.1 — 2026-06-09
- 2.22.13-amp-toggle-rel-no-follow.0 — 2026-06-09
- 2.22.13-no-follow-fix.6 — 2026-06-02
- 2.22.13-no-follow-fix.5 — 2026-06-02
- 2.22.13-no-follow-fix.4 — 2026-06-02
- 2.22.12-beta.0 — 2026-05-29
- 2.22.13-copilot-fix-amp-article-main-image.0 — 2026-04-28
- 2.22.12 — 2026-04-13
- … 633 more at https://npm.io/package/@quintype/amp/versions

## README

# ⚡ Quintype Amp ⚡

- [Documentation](https://developers.quintype.com/quintype-amp)
- For integrating in malibu, refer [this](https://developers.quintype.com/malibu/tutorial/amp-library-integration.html) doc
- Track lighthouse metrics [here](https://lighthouse-ci.staging.quinpress.com/app/projects/amplib/dashboard)

### Note about writing commit messages

It's important to follow [these guidelines](https://www.conventionalcommits.org/en/v1.0.0/), as versions (major/minor/patch) are released based on commit messages

- `<type>[optional scope]: <description>`
- example: `docs: add tutorial for amp-subscriptions`
- example: `refactor(story-elements): move all story elements to new directory`

##### Types:

- `build`: Changes that affect the build system or external dependencies
- `ci`: Changes to our CI configuration files and scripts
- `docs`: Documentation only changes
- `BREAKING CHANGE`: introduces a breaking API change - major version release
- `feat`: A new feature - minor release
- `fix`: A bug fix - patch release
- `perf`: A code change that improves performance
- `refactor`: A code change that neither fixes a bug nor adds a feature
- `style`: Changes that do not affect the meaning of the code
- `test`: Adding missing tests or correcting existing tests

### Workflow / Publishing

This repo uses [standard-version](https://www.npmjs.com/package/standard-version) that takes care of updating changelog, bumping version as per [semver](https://semver.org/), creating tags
To work on a feature

1. Pull latest master, create a feature branch
2. Make your changes. If you need to publish a beta version for testing, run npm publish --tag beta
3. Once done, open a PR. Get changes reviewed & approved
4. Once approved, squash and merge feature branch into master
5. From master, run `npm publish`. If you don't have admin access to directly push to master, you will need help of someone who does.

### Useful NPM scripts

- **sync** builds amplib and copies the contents of the dist directory to the path you've specified. Useful for local development
- **storybook** starts storybook
- **docs:build** compiles jsDoc documentation and serves it on port 3001. Note that there's no hot reloading for docs. This is like running https://developers.quintype.com/quintype-amp on local
- **docs:deploy** compiles & deploys docs to https://developers.quintype.com/quintype-amp
- **build** bundles code by running webpack in development mode. Useful for debugging
- **test** runs jest in watch mode

### NOTES:

- the component plugin of better-docs uses parcel as a bundler, you have to install it globally
- You can't directly copy and paste scripts for amp components in the library. Because `<script async custom-element="amp-access" src="https://cdn.ampproject.org/v0/amp-access-0.1.js"></script>` has boolean attribute `async`. React changes `async` (any boolean attr) to `async="true"`, which fails amp validation (see issue https://github.com/facebook/react/issues/9230). The workaround is to give `async=""` for JS and `async={undefined}` for TS
- you might get warning `Warning: componentWillMount has been renamed, and is not recommended for use.`. This is an issue with react-helmet (See issue https://github.com/nfl/react-helmet/issues/499)

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