Closed sammys closed 1 year ago
I FEEL SUPER PUMPED!!!
I'd give you access to stampit docs (stampit.js.org) too if needed.
Sweet! Definitely will need to document this stuff as it requires coding in a particular way such as using as const
for composers and initializers.
OP updated with some more information that I didn't have time to write up when I posted it. Please review and comment.
Enough time has passed for people to comment so I'm pressing ahead with a few changed goals. Main one is to continue using lerna converting the repo to use NPM workspaces. I've added a task list to the OP. PR for task 1 below
Moved to stamp issue queue
I've got a branch implementing types that make IntelliSense give suggestions. Here's a screenshot of SelfAware implemented using these types.
It would require a version bump to TypeScript 4. How does everyone feel about this?
There are only a small number of changes to existing code required in
compose/index.ts
to make these types possible and I'm pretty sure this won't introduce any breaking changes for existing code since it's types only. If there are any compile problems then they will be easy to fix.I'm proposing to do the following sequence of PRs if everyone is on board:
(optional – will submit a PR for everyone to play with) Switch from Lerna to PNPM workspace... I've been using PNPM workspaces for my own projects and I'm happy to contribute my project structure. The structure builds both ESM & CJS and it supports test driven development and debugging. ref: Lerna is Officially Dead. Long Live MonoreposUpdate repo + code to use lerna 6.x along with bumping TypeScript, eslint, prettier to latest versions and getting npm audit to pass#352compose
package with additional types. Can alternatively put them into another package if anyone thinks that would be better. After this PR I reckon we can release packages for everyone to use while the next PR is finalisedcompose
) packages in the monorepo.The new types will differentiate a generic
Stamp
from aStamp
that has a defined descriptor as you see in the screenshot. I've not been able to decide on a name for that differentiating type. I could do with some opinions. Here is my short list in no particular order:ComposedStamp
InferableStamp
DefinedStamp