├── .eslintignore ├── .eslintrc ├── .gitattributes ├── .github ├── FUNDING.yml └── workflows │ ├── release.yml │ └── test.yml ├── .gitignore ├── LICENSE ├── Procfile ├── README.md ├── example.js ├── jest.config.js ├── package.json ├── src ├── index.ts ├── schema.ts ├── types.ts └── unexpectedError.ts ├── test ├── basic │ ├── basic-body.html │ ├── basic-duplicates.html │ ├── basic.html │ ├── double escaped-edge-case.html │ ├── keyword-edge-cases.html │ └── test.ts ├── encoding │ ├── euc-jp.html │ ├── html_4.html │ ├── html_5.html │ └── test.ts ├── general │ ├── content-type.test.ts │ ├── options.test.ts │ ├── status-code.test.ts │ └── url.test.ts ├── oembed │ ├── oembed-broken.html │ ├── oembed-cdata.xml │ ├── oembed-entities.html │ ├── oembed-error.json │ ├── oembed-http.html │ ├── oembed-multi.html │ ├── oembed-xml-cdata.html │ ├── oembed-xml.html │ ├── oembed.html │ ├── oembed.json │ ├── oembed.xml │ ├── online.ts │ └── test.ts ├── open_graph │ ├── article.html │ ├── audio.html │ ├── images.html │ ├── multi.html │ ├── relative_url.html │ ├── test.ts │ └── videos.html └── twitter_card │ ├── apps.html │ ├── images.html │ ├── multi.html │ ├── players.html │ ├── relative_url.html │ └── test.ts └── tsconfig.json /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/.eslintrc -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/LICENSE -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: node example.js 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/README.md -------------------------------------------------------------------------------- /example.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/example.js -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/package.json -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/src/schema.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/unexpectedError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/src/unexpectedError.ts -------------------------------------------------------------------------------- /test/basic/basic-body.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/basic/basic-body.html -------------------------------------------------------------------------------- /test/basic/basic-duplicates.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/basic/basic-duplicates.html -------------------------------------------------------------------------------- /test/basic/basic.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/basic/basic.html -------------------------------------------------------------------------------- /test/basic/double escaped-edge-case.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/basic/double escaped-edge-case.html -------------------------------------------------------------------------------- /test/basic/keyword-edge-cases.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/basic/keyword-edge-cases.html -------------------------------------------------------------------------------- /test/basic/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/basic/test.ts -------------------------------------------------------------------------------- /test/encoding/euc-jp.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/encoding/euc-jp.html -------------------------------------------------------------------------------- /test/encoding/html_4.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/encoding/html_4.html -------------------------------------------------------------------------------- /test/encoding/html_5.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/encoding/html_5.html -------------------------------------------------------------------------------- /test/encoding/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/encoding/test.ts -------------------------------------------------------------------------------- /test/general/content-type.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/general/content-type.test.ts -------------------------------------------------------------------------------- /test/general/options.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/general/options.test.ts -------------------------------------------------------------------------------- /test/general/status-code.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/general/status-code.test.ts -------------------------------------------------------------------------------- /test/general/url.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/general/url.test.ts -------------------------------------------------------------------------------- /test/oembed/oembed-broken.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed-broken.html -------------------------------------------------------------------------------- /test/oembed/oembed-cdata.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed-cdata.xml -------------------------------------------------------------------------------- /test/oembed/oembed-entities.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed-entities.html -------------------------------------------------------------------------------- /test/oembed/oembed-error.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed-error.json -------------------------------------------------------------------------------- /test/oembed/oembed-http.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed-http.html -------------------------------------------------------------------------------- /test/oembed/oembed-multi.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed-multi.html -------------------------------------------------------------------------------- /test/oembed/oembed-xml-cdata.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed-xml-cdata.html -------------------------------------------------------------------------------- /test/oembed/oembed-xml.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed-xml.html -------------------------------------------------------------------------------- /test/oembed/oembed.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed.html -------------------------------------------------------------------------------- /test/oembed/oembed.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed.json -------------------------------------------------------------------------------- /test/oembed/oembed.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/oembed.xml -------------------------------------------------------------------------------- /test/oembed/online.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/online.ts -------------------------------------------------------------------------------- /test/oembed/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/oembed/test.ts -------------------------------------------------------------------------------- /test/open_graph/article.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/open_graph/article.html -------------------------------------------------------------------------------- /test/open_graph/audio.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/open_graph/audio.html -------------------------------------------------------------------------------- /test/open_graph/images.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/open_graph/images.html -------------------------------------------------------------------------------- /test/open_graph/multi.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/open_graph/multi.html -------------------------------------------------------------------------------- /test/open_graph/relative_url.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/open_graph/relative_url.html -------------------------------------------------------------------------------- /test/open_graph/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/open_graph/test.ts -------------------------------------------------------------------------------- /test/open_graph/videos.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/open_graph/videos.html -------------------------------------------------------------------------------- /test/twitter_card/apps.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/twitter_card/apps.html -------------------------------------------------------------------------------- /test/twitter_card/images.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/twitter_card/images.html -------------------------------------------------------------------------------- /test/twitter_card/multi.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/twitter_card/multi.html -------------------------------------------------------------------------------- /test/twitter_card/players.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/twitter_card/players.html -------------------------------------------------------------------------------- /test/twitter_card/relative_url.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/twitter_card/relative_url.html -------------------------------------------------------------------------------- /test/twitter_card/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/test/twitter_card/test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacktuck/unfurl/HEAD/tsconfig.json --------------------------------------------------------------------------------