This package has been deprecated

Author message:

This package has been archived and is no longer being maintained

@ephox/dom-globals
TypeScript icon, indicating that this package has built-in type declarations

3.9.5 • Public • Published

Description

dom-globals publishes the TypeScript DOM library as a module.

Development

npm i
make

Usage

  • npm i @ephox/dom-globals
  • remove dom from the lib array in tsconfig.json
  • An easy way to deal with your new compile errors is vscode "quick fix"

How and why

This is done in order to remove DOM globals from the namespace of a project, and import them only as necessary.

There are many advantages of this approach:

  • Internal modules with the same name as DOM globals are much easier to work with
  • It is immediately obvious if a module touches the DOM, and is thus subject to a risk of performance issues and side effects
  • Only the necessary parts of the DOM are imported where required, so a typo doesn't lead to referencing some random DOM feature instead of a compile error

Build process discussion

In order to make this work, the build copies the TypeScript lib.dom.d.ts file into the project, and makes two minor (automated) edits:

  • removes the no-default-lib reference
  • reads the namespace and generates an export block to make it a module.

This avoids forking the DOM library as a checked-in dependency, instead the fork is generated on demand when published. The file legal.txt file is updated with the version of TypeScript during the publish process

Dependents (4)

Package Sidebar

Install

npm i @ephox/dom-globals

Weekly Downloads

97

Version

3.9.5

License

Apache-2.0

Unpacked Size

944 kB

Total Files

6

Last publish

Collaborators

  • ephox