flyweight
DefinitelyTyped
flyweight | DefinitelyTyped | |
---|---|---|
9 | 158 | |
503 | 47,199 | |
- | 0.5% | |
8.9 | 10.0 | |
about 23 hours ago | about 21 hours ago | |
JavaScript | TypeScript | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
flyweight
- Flyweight: A Node.js ORM Specifically for SQLite
-
Show HN: Quietone – search audio and video by transcript
Hey. This is my first electron app. It is called Quietone and I just thought it would be cool to navigate and manipulate videos by their transcript because searching through videos for the things I was looking for was very slow otherwise.
I used whisper.cpp to do the transcribing. It has held up really well. The tiny model (the fastest one) can transcribe 2 hours of video in a couple of minutes on my m2 mac mini and the accurate of even the tiny model is pretty good.
I used Electron Forge to package the app for different operating systems and distribution channels. There are no guides on the internet on how to do that properly so that took quite a bit of time to figure out.
At multiple stages I had to look through source code of Electron Forge's dependencies to figure out how I was supposed to use it to correctly sign the app for the mac app store.
I made this app using the tools I like to use, which is not very typical. I use straight javascript, no transpiling, and I wrote every single library myself from the ORM https://github.com/thebinarysearchtree/flyweight to the front-end framework, which is a thin wrapper over web components.
Oh yeah, Electron recently started supporting esm, but Electron Forge doesn't fully support it so I had to use esbuild to compile to cjs just for the packaging step.
I use events to make everything change in real-time in the UI. Umm... oh yeah I did include yt-dlp features but had to remove that for the store versions.
It is available on the mac store, and soon on the windows store. There is also a trial you can download. The windows store experience is not very polished compared to the mac store. I was amazed that there are humans reviewers looking through everything I upload. hah.
Anyway, I have to go find a job now and hope my username doesn't check out. Bye. Thanks for reading my blog.
-
Is TypeScript actually worth It?
I wrote https://github.com/thebinarysearchtree/flyweight in JavaScript, not TypeScript. It generates TypeScript declaration files as it types SQL, which helps with intellisense support in VSCode. That is the only reason I use TypeScript.
I don't like TypeScript though, and would never write anything in it. I have a long history with C# and I came to conclusions about this topic a long time ago. I just prefer writing JavaScript, it is more fun and more productive.
Flyweight is quite a complex library. It parses arbitrarily complex SQL. This is more complex than most of the things people work on and claim they need static typing. It isn't millions of lines of code, but often those codebases aren't complex, they are just many independent components that in themselves are not that complex.
The amount of time I spend having to update the TypeScript aspect of my library is really quite annoying. Also, with regards to your point about libraries not including type information - this is also true for the actual native APIs in the browser and so on as well. For example, TypeScript doesn't recognise the "indices" property of regular expression matches.
- GitHub - thebinarysearchtree/flyweight: An ORM for SQLite
- Flyweight: An ORM for SQLite
DefinitelyTyped
-
⚛️ Explaining React's Types
Prior to React 18, it used to include an implicit children prop, making it suitable for components expected to have children. For a long time, though, the implicit children prop type has been removed according to React 18's type changes.
-
Introduction to TypeScript — What is TypeScript?
Additionally, because TypeScript has a well established and widely used install-base, there are already many different definition files in the wild for supporting non-TypeScript supporting projects. One of the more extensive collections of these typings lives at the DefinitelyTyped repository, which publishes the package's community typings under the package names @types/your-package-name (where your-package-name is the name of the project you're looking for typings of) that you can look for on your package manager.
-
5 Resources Each TypeScript Developer Should Know About
View on GitHub
- DefinitelyTyped
-
Show HN: OpenAPI DevTools – Chrome ext. that generates an API spec as you browse
Firefox maintain a library for unified extension API https://github.com/mozilla/webextension-polyfill
Their type definition for HAR request isn't exported https://github.com/DefinitelyTyped/DefinitelyTyped/blob/mast...
-
Typescript - Union types e type guards
type NumberOrString = number | string; type Status = "idle" | "loading" | "success" | "failure" // React useState, can receive a value or a function as parameter to serve as initial value. // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/a03856975a17eba524739676affbf70ac4078176/types/react/v17/index.d.ts#L920 function useState(initialState: S | (() => S)): [S, Dispatch>];
- If you ever get called out for using long type names, remember this exists
-
Declaring JSX types in TypeScript 5.1
The TypeScript pull request was merged, so Sebastian (who helps maintain the React type definitions) exercised new powers in this pull request to the DefinitelyTyped repository for the React type definitions. At the time of writing, this pull request is still open, but once merged and shipped the React community we will feel its benefits.
-
DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES[keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES]
there is an open issue: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/61616
-
Announcing TypeScript 5.1
Relatively infrequently. Normally, if an npm package is popular and doesn’t have its own types, there will be a community provided types declaration file available from https://github.com/DefinitelyTyped/DefinitelyTyped
What are some alternatives?
sequelts
vite-tsconfig-paths - Support for TypeScript's path mapping in Vite
mayim - The *NOT* ORM hydrator
tsyringe - Lightweight dependency injection container for JavaScript/TypeScript
d2-playground - An online runner to play, learn, and create with D2, the modern diagram scripting language that turns text to diagrams.
supabase-js - An isomorphic Javascript client for Supabase. Query your Supabase database, subscribe to realtime events, upload and download files, browse typescript examples, invoke postgres functions via rpc, invoke supabase edge functions, query pgvector.
rescript-compiler - The compiler for ReScript.
typegoose - Typegoose - Define Mongoose models using TypeScript classes.
LINQ to DB - Linq to database provider.
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
SQLDelight - SQLDelight - Generates typesafe Kotlin APIs from SQL
bpmn-visualization-js - A TypeScript library for visualizing process execution data on BPMN diagrams