Skip to content
This repository was archived by the owner on Jul 2, 2025. It is now read-only.

Conversation

trygve-lie
Copy link
Contributor

This re-exports Lit. With this one does not need to add Lit as a dependency to use Lit.

Instead of this;

import { html, css } from "lit";
import { PodiumElement } from "@podium/element";

one can now just do this:

import { PodiumElement, html, css } from "@podium/element";

@trygve-lie trygve-lie requested a review from digitalsadhu March 26, 2023 00:23
Copy link
Member

@digitalsadhu digitalsadhu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea

one issue is that there are lots of other lit modules that most people will end up using that are not exported under the top level and need to be imported under a path.

Eg.
import { unsafeHtml } from “lit/directives/unsafe-html.js”

@digitalsadhu
Copy link
Member

This is what the exports for lit looks like. (from https://github.com/lit/lit/blob/main/packages/lit/package.json#L19-L175)

  "exports": {
    ".": {
      "types": "./development/index.d.ts",
      "default": "./index.js"
    },
    "./async-directive.js": {
      "types": "./development/async-directive.d.ts",
      "default": "./async-directive.js"
    },
    "./decorators.js": {
      "types": "./development/decorators.d.ts",
      "default": "./decorators.js"
    },
    "./decorators/custom-element.js": {
      "types": "./development/decorators/custom-element.d.ts",
      "default": "./decorators/custom-element.js"
    },
    "./decorators/event-options.js": {
      "types": "./development/decorators/event-options.d.ts",
      "default": "./decorators/event-options.js"
    },
    "./decorators/property.js": {
      "types": "./development/decorators/property.d.ts",
      "default": "./decorators/property.js"
    },
    "./decorators/query-all.js": {
      "types": "./development/decorators/query-all.d.ts",
      "default": "./decorators/query-all.js"
    },
    "./decorators/query-assigned-elements.js": {
      "types": "./development/decorators/query-assigned-elements.d.ts",
      "default": "./decorators/query-assigned-elements.js"
    },
    "./decorators/query-assigned-nodes.js": {
      "types": "./development/decorators/query-assigned-nodes.d.ts",
      "default": "./decorators/query-assigned-nodes.js"
    },
    "./decorators/query-async.js": {
      "types": "./development/decorators/query-async.d.ts",
      "default": "./decorators/query-async.js"
    },
    "./decorators/query.js": {
      "types": "./development/decorators/query.d.ts",
      "default": "./decorators/query.js"
    },
    "./decorators/state.js": {
      "types": "./development/decorators/state.d.ts",
      "default": "./decorators/state.js"
    },
    "./directive-helpers.js": {
      "types": "./development/directive-helpers.d.ts",
      "default": "./directive-helpers.js"
    },
    "./directive.js": {
      "types": "./development/directive.d.ts",
      "default": "./directive.js"
    },
    "./directives/async-append.js": {
      "types": "./development/directives/async-append.d.ts",
      "default": "./directives/async-append.js"
    },
    "./directives/async-replace.js": {
      "types": "./development/directives/async-replace.d.ts",
      "default": "./directives/async-replace.js"
    },
    "./directives/cache.js": {
      "types": "./development/directives/cache.d.ts",
      "default": "./directives/cache.js"
    },
    "./directives/choose.js": {
      "types": "./development/directives/choose.d.ts",
      "default": "./directives/choose.js"
    },
    "./directives/class-map.js": {
      "types": "./development/directives/class-map.d.ts",
      "default": "./directives/class-map.js"
    },
    "./directives/guard.js": {
      "types": "./development/directives/guard.d.ts",
      "default": "./directives/guard.js"
    },
    "./directives/if-defined.js": {
      "types": "./development/directives/if-defined.d.ts",
      "default": "./directives/if-defined.js"
    },
    "./directives/join.js": {
      "types": "./development/directives/join.d.ts",
      "default": "./directives/join.js"
    },
    "./directives/keyed.js": {
      "types": "./development/directives/keyed.d.ts",
      "default": "./directives/keyed.js"
    },
    "./directives/live.js": {
      "types": "./development/directives/live.d.ts",
      "default": "./directives/live.js"
    },
    "./directives/map.js": {
      "types": "./development/directives/map.d.ts",
      "default": "./directives/map.js"
    },
    "./directives/range.js": {
      "types": "./development/directives/range.d.ts",
      "default": "./directives/range.js"
    },
    "./directives/ref.js": {
      "types": "./development/directives/ref.d.ts",
      "default": "./directives/ref.js"
    },
    "./directives/repeat.js": {
      "types": "./development/directives/repeat.d.ts",
      "default": "./directives/repeat.js"
    },
    "./directives/style-map.js": {
      "types": "./development/directives/style-map.d.ts",
      "default": "./directives/style-map.js"
    },
    "./directives/template-content.js": {
      "types": "./development/directives/template-content.d.ts",
      "default": "./directives/template-content.js"
    },
    "./directives/unsafe-html.js": {
      "types": "./development/directives/unsafe-html.d.ts",
      "default": "./directives/unsafe-html.js"
    },
    "./directives/unsafe-svg.js": {
      "types": "./development/directives/unsafe-svg.d.ts",
      "default": "./directives/unsafe-svg.js"
    },
    "./directives/until.js": {
      "types": "./development/directives/until.d.ts",
      "default": "./directives/until.js"
    },
    "./directives/when.js": {
      "types": "./development/directives/when.d.ts",
      "default": "./directives/when.js"
    },
    "./experimental-hydrate-support.js": {
      "types": "./development/experimental-hydrate-support.d.ts",
      "default": "./experimental-hydrate-support.js"
    },
    "./experimental-hydrate.js": {
      "types": "./development/experimental-hydrate.d.ts",
      "default": "./experimental-hydrate.js"
    },
    "./html.js": {
      "types": "./development/html.d.ts",
      "default": "./html.js"
    },
    "./polyfill-support.js": {
      "types": "./development/polyfill-support.d.ts",
      "default": "./polyfill-support.js"
    },
    "./static-html.js": {
      "types": "./development/static-html.d.ts",
      "default": "./static-html.js"
    }

should we just re export all of these?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants