Skip to content
This repository was archived by the owner on Dec 12, 2023. It is now read-only.
This repository was archived by the owner on Dec 12, 2023. It is now read-only.

Content Addressable Hashes #1

Description

@blakeembrey

I'm making this issue here because things may change and I don't want to notify a lot of people ahead of time with my thoughts.

Goals:

  • De-dupe typings
  • Manifest files
  • Fix module typings conflicts

The idea:

Content addressable hashes. For the next version I'd really like to fix de-duping and re-writing of dependencies which causes issues on import still. I realised one way to solve all of the above is to use content hashes as the file names and just write wrappers to the content hashed .d.ts files. The structure will look more like:

typings/.store/klou3f3u34u982r04jdf.d.ts
typings/main/popsicle.d.ts
typings/main.d.ts
...

The stored content hashed files will be per-typed file and the nature of hashes will avoid duplicated dependencies. No more rewriting typings other than import/export still, and writing a wrapper separately. This is a pretty big architectural change though, so I'll be working on it in core first.

...

declare module 'popsicle' {
  export * from '../.store/klou3f3u34u982r04jdf.d.ts'
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions