Update NPM packaging, linting, and a bunch of types (#275)
Preparation for https://github.com/webrecorder/archiveweb.page/issues/198 / https://github.com/webrecorder/archiveweb.page/pull/199. ## Changes - Organizes published files more cleanly, using `dist/types` folder as the target for type declarations and sourcemaps - Configures type field in `package.json` - Updates ESLint & its config - Sets up type-informed linting rules mirroring browsertrix - Adds a bunch of other useful eslint and eslint-typescript rules, and applies auto-fixes to the codebase - Cleans up a bunch of types throughout the codebase, particularly parts of the code used by ArchiveWebPage - Changes `ItemIndex#_deleting` from `private` to `protected` so that a part of AWP that extends it can do so properly - Makes a bunch of previously-implied [non-null assertions](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#non-null-assertion-operator-postfix-) explicit - Updates `URLResource` and `ItemType` types (and renames `Item` → `ItemType` to disambiguate from the `Item` class) - Removes `node-sass` and replaces it with `sass-embedded` for much quicker installs and compilation
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import { ReplayWebApp } from "./appmain";
|
||||
import { Chooser } from "./chooser";
|
||||
import { ItemIndex } from "./item-index";
|
||||
import { ItemInfo } from "./item-info";
|
||||
import { Item } from "./item";
|
||||
import { Story } from "./story";
|
||||
import { GDrive } from "./gdrive";
|
||||
import { Loader } from "./loader";
|
||||
import { Pages } from "./pages";
|
||||
import { PageEntry } from "./pageentry";
|
||||
import { Replay } from "./replay";
|
||||
import { Sorter } from "./sorter";
|
||||
import { URLResources } from "./url-resources";
|
||||
import { Embed } from "./embed";
|
||||
import "./shoelace";
|
||||
|
||||
export {
|
||||
ReplayWebApp,
|
||||
Chooser,
|
||||
ItemIndex,
|
||||
ItemInfo,
|
||||
Item,
|
||||
/**
|
||||
* @deprecated use {@linkcode ItemIndex}
|
||||
*/
|
||||
ItemIndex as CollIndex,
|
||||
/**
|
||||
* @deprecated use {@linkcode ItemInfo}
|
||||
*/
|
||||
ItemInfo as CollInfo,
|
||||
/**
|
||||
* @deprecated use {@linkcode Item}
|
||||
*/
|
||||
Item as Coll,
|
||||
Story,
|
||||
GDrive,
|
||||
Loader,
|
||||
Pages,
|
||||
PageEntry,
|
||||
Replay,
|
||||
Sorter,
|
||||
URLResources,
|
||||
Embed,
|
||||
};
|
||||
|
||||
export type { ItemType, URLResource } from "./types";
|
||||
Reference in New Issue
Block a user