refactor!: cleanup platform support (#306)

* refactor!: cleanup platform support

* chore: lint

* fix: web platform

* feat: provide UniversalCache

Provide UniversalCache as a wrapper around Platform.shim.Cache.

* fix: invalid import

* refactor: remove isolated-vm support

* fix: type info

* refactor: cleanup exports

* fix: mark jintr as external dependency

In the bundled CJS node build, mark jintr as external.

* chore: add additional exports

web exports provide a way to select web implementation manually without
relying on the bundler to select it correctly from the "exports" field

web points to src/platform/web.js
web.bundle points to bundle/browser.js
web.bundle.browser points to bundle/browser.min.js

agnostic exports provide users of the library to provide their own
platform implementation without first importing the default one.

agnostic points to src/platform/lib.ts

* fix: toDash on web

* revert: eval is synchronous

* fix: use serializeDOM in FormatUtils

* ci: automate releases with `release-please`

* chore: clean up workflow files

* ci: fix NPM publish action

---------

Co-authored-by: LuanRT <luan.lrt4@gmail.com>
This commit is contained in:
Daniel Wykerd
2023-02-12 09:21:44 +02:00
committed by GitHub
parent a69e43bf3a
commit 2ccbe2ce62
504 changed files with 11184 additions and 6279 deletions

View File

@@ -1,7 +1,7 @@
import Parser from '../..';
import NavigationEndpoint from '../NavigationEndpoint';
import type SectionList from '../SectionList';
import { YTNode } from '../../helpers';
import Parser from '../../index.js';
import NavigationEndpoint from '../NavigationEndpoint.js';
import type SectionList from '../SectionList.js';
import { YTNode } from '../../helpers.js';
class AnchoredSection extends YTNode {
static type = 'AnchoredSection';

View File

@@ -1,7 +1,7 @@
import Parser from '../..';
import type Button from '../Button';
import type KidsCategoryTab from './KidsCategoryTab';
import { YTNode } from '../../helpers';
import Parser from '../../index.js';
import type Button from '../Button.js';
import type KidsCategoryTab from './KidsCategoryTab.js';
import { YTNode } from '../../helpers.js';
class KidsCategoriesHeader extends YTNode {
static type = 'kidsCategoriesHeader';

View File

@@ -1,6 +1,6 @@
import Text from '../misc/Text';
import NavigationEndpoint from '../NavigationEndpoint';
import { YTNode } from '../../helpers';
import Text from '../misc/Text.js';
import NavigationEndpoint from '../NavigationEndpoint.js';
import { YTNode } from '../../helpers.js';
class KidsCategoryTab extends YTNode {
static type = 'KidsCategoryTab';

View File

@@ -1,6 +1,6 @@
import Parser from '../..';
import type AnchoredSection from './AnchoredSection';
import { YTNode } from '../../helpers';
import Parser from '../../index.js';
import type AnchoredSection from './AnchoredSection.js';
import { YTNode } from '../../helpers.js';
class KidsHomeScreen extends YTNode {
static type = 'kidsHomeScreen';