Foam is a personal knowledge management and sharing system, built on Visual Studio Code and GitHub.
You can use Foam for organising your research, keeping re-discoverable notes, writing long-form content and, optionally, publishing it to the web. Foam is extremely extensible to suit your personal workflow. You own the information you create with Foam, and you’re free to share it, and collaborate on it with anyone you want.
Features:
- The editing experience of Foam is powered by VS Code, enhanced by workspace settings that glue together Recommended Extensions and preferences optimised for writing and navigating information.
- To back up, collaborate on and share your content between devices, Foam pairs well with GitHub.
- To publish your content, you can set it up to publish to GitHub Pages with zero code and zero config, or to any website hosting platform like Netlify or Vercel.
https://foambubble.github.io/foam/
#ts #docops #vscode
You can use Foam for organising your research, keeping re-discoverable notes, writing long-form content and, optionally, publishing it to the web. Foam is extremely extensible to suit your personal workflow. You own the information you create with Foam, and you’re free to share it, and collaborate on it with anyone you want.
Features:
- The editing experience of Foam is powered by VS Code, enhanced by workspace settings that glue together Recommended Extensions and preferences optimised for writing and navigating information.
- To back up, collaborate on and share your content between devices, Foam pairs well with GitHub.
- To publish your content, you can set it up to publish to GitHub Pages with zero code and zero config, or to any website hosting platform like Netlify or Vercel.
https://foambubble.github.io/foam/
#ts #docops #vscode
⚡Breaking news!
#svelte now officially supports #ts!
TypeScript support in Svelte has been possible for a long time, but you had to mix a lot of disparate tools together and each project ran independently. Today, nearly all of these tools live under the Svelte organization and are maintained by a set of people who take responsibility over the whole pipeline and have common goals.
When we say that Svelte now supports TypeScript, we mean a few different things:
- You can use TypeScript inside your
- Components with TypeScript can be type-checked with the
- You get autocompletion hints and type-checking as you're writing components, even in expressions inside markup
- TypeScript files understand the Svelte component API — no more red squiggles when you import a
https://svelte.dev/blog/svelte-and-typescript
#svelte now officially supports #ts!
TypeScript support in Svelte has been possible for a long time, but you had to mix a lot of disparate tools together and each project ran independently. Today, nearly all of these tools live under the Svelte organization and are maintained by a set of people who take responsibility over the whole pipeline and have common goals.
When we say that Svelte now supports TypeScript, we mean a few different things:
- You can use TypeScript inside your
<script> blocks — just add the lang="ts" attribute- Components with TypeScript can be type-checked with the
svelte-check command- You get autocompletion hints and type-checking as you're writing components, even in expressions inside markup
- TypeScript files understand the Svelte component API — no more red squiggles when you import a
.svelte file into a .ts modulehttps://svelte.dev/blog/svelte-and-typescript
cdk8s is a software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. cdk8s generates pure Kubernetes YAML - you can use cdk8s to define applications for any Kubernetes cluster running anywhere.
cdk8s apps are programs written in one of the supported programming languages. They are structured as a tree of constructs.
The root of the tree is an App construct. Within an app, users define any number of charts (classes that extend the Chart class). Each chart is synthesized into a separate Kubernetes manifest file. Charts are, in turn, composed of any number of constructs, and eventually from resources, which represent any Kubernetes resource, such as Pod, Service, Deployment, ReplicaSet, etc.
cdk8s apps only define Kubernetes applications, they don't actually apply them to the cluster. When an app is executed, it synthesizes all the charts defined within the app into the dist directory, and then those charts can be applied to any Kubernetes cluster using kubectl apply -f dist/chart.k8s.yaml or a GitOps tool like Flux.
https://github.com/awslabs/cdk8s
#ts #python #devops
cdk8s apps are programs written in one of the supported programming languages. They are structured as a tree of constructs.
The root of the tree is an App construct. Within an app, users define any number of charts (classes that extend the Chart class). Each chart is synthesized into a separate Kubernetes manifest file. Charts are, in turn, composed of any number of constructs, and eventually from resources, which represent any Kubernetes resource, such as Pod, Service, Deployment, ReplicaSet, etc.
cdk8s apps only define Kubernetes applications, they don't actually apply them to the cluster. When an app is executed, it synthesizes all the charts defined within the app into the dist directory, and then those charts can be applied to any Kubernetes cluster using kubectl apply -f dist/chart.k8s.yaml or a GitOps tool like Flux.
https://github.com/awslabs/cdk8s
#ts #python #devops
The adaptive interface system for modern web experiences by Microsoft.
Features:
- Create reusable UI components based on web component standards.
- Use our standard library of pre-built web components in your apps.
- Choose between two adaptive design systems: Fluent Design and FAST Frame.
- Build your own design system without re-implementing component logic.
- Integrate with any front-end framework or build system.
FAST is a collection of JavaScript packages centered around web standards, designed to help you efficiently tackle some of the most common challenges in website and application design and development.
Have you ever needed a reusable set of UI components that you could drop into your app and have an amazing experience? That's FAST.
Have you ever needed to create your own components, and share them across your company, including across groups that use different, incompatible front-end frameworks? That's FAST.
Have you ever needed to implement a branded experience or a design language like Microsoft's Fluent UI or Google's Material Design? That's FAST.
Have you ever wanted to improve your app's startup time, render speed, or memory consumption? That's FAST.
Have you ever wanted to adopt more web standards and build your site or app on a native web foundation that's immune to the shifting sands of the modern JavaScript front-end landscape? That's FAST.
https://github.com/microsoft/fast
#ts #html #css
Features:
- Create reusable UI components based on web component standards.
- Use our standard library of pre-built web components in your apps.
- Choose between two adaptive design systems: Fluent Design and FAST Frame.
- Build your own design system without re-implementing component logic.
- Integrate with any front-end framework or build system.
FAST is a collection of JavaScript packages centered around web standards, designed to help you efficiently tackle some of the most common challenges in website and application design and development.
Have you ever needed a reusable set of UI components that you could drop into your app and have an amazing experience? That's FAST.
Have you ever needed to create your own components, and share them across your company, including across groups that use different, incompatible front-end frameworks? That's FAST.
Have you ever needed to implement a branded experience or a design language like Microsoft's Fluent UI or Google's Material Design? That's FAST.
Have you ever wanted to improve your app's startup time, render speed, or memory consumption? That's FAST.
Have you ever wanted to adopt more web standards and build your site or app on a native web foundation that's immune to the shifting sands of the modern JavaScript front-end landscape? That's FAST.
https://github.com/microsoft/fast
#ts #html #css
⚡Breking news!
TypeScript 4 is out!
https://devblogs.microsoft.com/typescript/announcing-typescript-4-0/
#ts
TypeScript 4 is out!
https://devblogs.microsoft.com/typescript/announcing-typescript-4-0/
#ts
Microsoft News
Announcing TypeScript 4.0
Today we are thrilled to announce the availability of TypeScript 4.0! This version of the language represents our next generation of TypeScript releases, as we dive deeper into expressivity, productivity, and scalability. If you’re not familiar with TypeScript…
A tool to help migrate #js code quickly and conveniently to #ts.
ts-migrate is intended to accelerate the TypeScript migration process. The resulting code will pass the build, but a followup is required to improve type safety. There will be lots of // @ts-expect-error, and any that will need to be fixed over time. In general, it is a lot nicer than starting from scratch.
ts-migrate is designed as a set of plugins so that it can be pretty customizable for different use-cases. Potentially, more plugins can be added for addressing things like improvements of type quality or libraries-related things (like prop-types in React).
https://github.com/airbnb/ts-migrate
We have examples of the three categories of plugins:
-
-
-
Produces:
ts-migrate is intended to accelerate the TypeScript migration process. The resulting code will pass the build, but a followup is required to improve type safety. There will be lots of // @ts-expect-error, and any that will need to be fixed over time. In general, it is a lot nicer than starting from scratch.
ts-migrate is designed as a set of plugins so that it can be pretty customizable for different use-cases. Potentially, more plugins can be added for addressing things like improvements of type quality or libraries-related things (like prop-types in React).
https://github.com/airbnb/ts-migrate
We have examples of the three categories of plugins:
-
example-plugin-jscodeshift simply reverses the names of all identifiers.-
example-plugin-text will add a console.log before each return statement.-
example-plugin-ts is a simple TypeScript AST-based plugin, which shows how we can add simple types to the JavaScript code with the usage of TypeScript compiler API.Produces:
Gitpod is an open-source #k8s application providing fully-baked, collaborative development environments in your browser - powered by VS Code.
Tightly integrated with GitLab, GitHub, and Bitbucket, Gitpod automatically and continuously prebuilds dev environments for all your branches. As a result, team members can instantly start coding with fresh, ephemeral and fully-compiled dev environments - no matter if you are building a new feature, want to fix a bug or do a code review.
Features:
- Dev environment as code
- Prebuilt dev environments - automatically prepare environments on every Git push
- Professional developer experience in a browser tab (VS Code Extensions, full Linux terminals)
- Integrated Docker build
- GitLab, GitHub, and Bitbucket integration
- Integrated code reviews
- Snapshots - Snapshot any state of your dev environment and let others create clones
- Collaboration - Invite team members to your environments
- Gitpod CLI to automate your experience
https://github.com/gitpod-io/gitpod
#ts #go #devops
Tightly integrated with GitLab, GitHub, and Bitbucket, Gitpod automatically and continuously prebuilds dev environments for all your branches. As a result, team members can instantly start coding with fresh, ephemeral and fully-compiled dev environments - no matter if you are building a new feature, want to fix a bug or do a code review.
Features:
- Dev environment as code
- Prebuilt dev environments - automatically prepare environments on every Git push
- Professional developer experience in a browser tab (VS Code Extensions, full Linux terminals)
- Integrated Docker build
- GitLab, GitHub, and Bitbucket integration
- Integrated code reviews
- Snapshots - Snapshot any state of your dev environment and let others create clones
- Collaboration - Invite team members to your environments
- Gitpod CLI to automate your experience
https://github.com/gitpod-io/gitpod
#ts #go #devops
Litmus helps Kubernetes SREs and developers practice chaos engineering in a Kubernetes native way.
Litmus is a toolset to do cloud-native chaos engineering. Litmus provides tools to orchestrate chaos on #k8s to help SREs find weaknesses in their deployments. SREs use Litmus to run chaos experiments initially in the staging environment and eventually in production to find bugs, vulnerabilities. Fixing the weaknesses leads to increased resilience of the system.
Litmus takes a cloud-native approach to create, manage and monitor chaos. Chaos is orchestrated using the following Kubernetes Custom Resource Definitions (CRDs):
- ChaosEngine: A resource to link a Kubernetes application or Kubernetes node to a ChaosExperiment. ChaosEngine is watched by Litmus' Chaos-Operator which then invokes Chaos-Experiments
- ChaosExperiment: A resource to group the configuration parameters of a chaos experiment. ChaosExperiment CRs are created by the operator when experiments are invoked by ChaosEngine.
- ChaosResult: A resource to hold the results of a chaos-experiment. The Chaos-exporter reads the results and exports the metrics into a configured Prometheus server.
Chaos experiments are hosted on hub.litmuschaos.io. It is a central hub where the application developers or vendors share their chaos experiments so that their users can use them to increase the resilience of the applications in production.
https://github.com/litmuschaos/litmus
#docker #devops #ts #go
Litmus is a toolset to do cloud-native chaos engineering. Litmus provides tools to orchestrate chaos on #k8s to help SREs find weaknesses in their deployments. SREs use Litmus to run chaos experiments initially in the staging environment and eventually in production to find bugs, vulnerabilities. Fixing the weaknesses leads to increased resilience of the system.
Litmus takes a cloud-native approach to create, manage and monitor chaos. Chaos is orchestrated using the following Kubernetes Custom Resource Definitions (CRDs):
- ChaosEngine: A resource to link a Kubernetes application or Kubernetes node to a ChaosExperiment. ChaosEngine is watched by Litmus' Chaos-Operator which then invokes Chaos-Experiments
- ChaosExperiment: A resource to group the configuration parameters of a chaos experiment. ChaosExperiment CRs are created by the operator when experiments are invoked by ChaosEngine.
- ChaosResult: A resource to hold the results of a chaos-experiment. The Chaos-exporter reads the results and exports the metrics into a configured Prometheus server.
Chaos experiments are hosted on hub.litmuschaos.io. It is a central hub where the application developers or vendors share their chaos experiments so that their users can use them to increase the resilience of the applications in production.
https://github.com/litmuschaos/litmus
#docker #devops #ts #go
Collection of #ts type challenges with online judge.
High quality types can help with projects' maintainability and avoiding bugs. There are a bunch of awesome type utilities libraries may boosting your works on types, like ts-toolbelt, utility-types, SimplyTyped, etc. We took a lot of inspiration from.
This project is aim to make you better understand how the type system works, writing your own utilities, or just having fun with the challenges. We are also trying to form a community that you can ask and answer questions you have faced in realworld - they may become part the challenges as well!
Challenges start with very simple ones and go to complex tasks.
https://github.com/type-challenges/type-challenges
High quality types can help with projects' maintainability and avoiding bugs. There are a bunch of awesome type utilities libraries may boosting your works on types, like ts-toolbelt, utility-types, SimplyTyped, etc. We took a lot of inspiration from.
This project is aim to make you better understand how the type system works, writing your own utilities, or just having fun with the challenges. We are also trying to form a community that you can ask and answer questions you have faced in realworld - they may become part the challenges as well!
Challenges start with very simple ones and go to complex tasks.
https://github.com/type-challenges/type-challenges
Effector: The state manager.
Effector is an effective multi-store state manager for #js apps (#react/React Native/#vue/Node.js), that allows you to manage data in complex applications without the risk of inflating the monolithic central store, with clear control flow, good type support and high capacity API. Effector supports both #ts and Flow type annotations out of the box.
Effector follows five basic principles:
- Application stores should be as light as possible - the idea of adding a store for specific needs should not be frightening or damaging to the developer.
- Application stores should be freely combined - data that the application needs can be statically distributed, showing how it will be converted in runtime.
- Autonomy from controversial concepts - no decorators, no need to use classes or proxies - this is not required to control the state of the application and therefore the api library uses only functions and plain js objects
- Predictability and clarity of API - a small number of basic principles are reused in different cases, reducing the user's workload and increasing recognition. For example, if you know how .watch works for events, you already know how .watch works for stores.
- The application is built from simple elements - space and way to take any required business logic out of the view, maximizing the simplicity of the components.
https://github.com/zerobias/effector
Effector is an effective multi-store state manager for #js apps (#react/React Native/#vue/Node.js), that allows you to manage data in complex applications without the risk of inflating the monolithic central store, with clear control flow, good type support and high capacity API. Effector supports both #ts and Flow type annotations out of the box.
Effector follows five basic principles:
- Application stores should be as light as possible - the idea of adding a store for specific needs should not be frightening or damaging to the developer.
- Application stores should be freely combined - data that the application needs can be statically distributed, showing how it will be converted in runtime.
- Autonomy from controversial concepts - no decorators, no need to use classes or proxies - this is not required to control the state of the application and therefore the api library uses only functions and plain js objects
- Predictability and clarity of API - a small number of basic principles are reused in different cases, reducing the user's workload and increasing recognition. For example, if you know how .watch works for events, you already know how .watch works for stores.
- The application is built from simple elements - space and way to take any required business logic out of the view, maximizing the simplicity of the components.
https://github.com/zerobias/effector
Playwright CLI is utility tool for Playwright.
With the CLI, you can:
- Generate code: Record user interactions and generate Playwright scripts.
- Open pages: Open pages in Chromium, Firefox and WebKit (Safari) on all platforms.
- Emulate devices, color schemes and geolocation.
- Inspect selectors: Use the Playwright DevTools API to inspect selectors.
- Generate page screenshots and PDFs
https://github.com/microsoft/playwright-cli
#ts
With the CLI, you can:
- Generate code: Record user interactions and generate Playwright scripts.
- Open pages: Open pages in Chromium, Firefox and WebKit (Safari) on all platforms.
- Emulate devices, color schemes and geolocation.
- Inspect selectors: Use the Playwright DevTools API to inspect selectors.
- Generate page screenshots and PDFs
https://github.com/microsoft/playwright-cli
#ts
A SQL database implemented purely in TypeScript type annotations.
This means that it operates solely on #ts types - you define a "database" (just a type annotation) and then query it using some more type annotations.
It supports a subset of #sql, including SELECT (with conditions and joins), INSERT, UPDATE and DELETE statements.
Personal opinion: crazy and super cool!
https://github.com/codemix/ts-sql
This means that it operates solely on #ts types - you define a "database" (just a type annotation) and then query it using some more type annotations.
It supports a subset of #sql, including SELECT (with conditions and joins), INSERT, UPDATE and DELETE statements.
Personal opinion: crazy and super cool!
https://github.com/codemix/ts-sql
visx | visualization components for #react
visx is a collection of reusable low-level visualization components. visx combines the power of d3 to generate your visualization with the benefits of react for updating the DOM.
https://github.com/airbnb/visx
#ts
visx is a collection of reusable low-level visualization components. visx combines the power of d3 to generate your visualization with the benefits of react for updating the DOM.
https://github.com/airbnb/visx
#ts
A simple encoding of higher-kinded types in TypeScript.
TypeScript doesn't directly support higher-kinded types yet, but various attempts have been made to simulate them (see related work at the bottom). This project presents a new, greatly simplified approach to encoding HKTs using the power of conditional types.
The idea is that, although we can't truly abstract over a type constructor type
https://github.com/pelotom/hkts
#ts
TypeScript doesn't directly support higher-kinded types yet, but various attempts have been made to simulate them (see related work at the bottom). This project presents a new, greatly simplified approach to encoding HKTs using the power of conditional types.
The idea is that, although we can't truly abstract over a type constructor type
T<A> = ..., we can abstract over the result T<_> of applying it to a special placeholder type . Then, if we can somehow substitute all instances of within a type, we effectively have the ability to "apply" T at arbitrary types. That is, we can abstract over T! And it turns out we can define a substitution operator $<T, S> which does just that.https://github.com/pelotom/hkts
#ts
A type-safe query builder for TypeScript and Postgres.
Features:
- Type-safe query builder - sticking as close to SQL as possible
- BYOCP (bring your own connection pool)
- Supports Postgres only
- Excellent autocomplete
- Train case to camelCase and vice versa conversion
- Auto-migration generation based on your schema changes
- Awesome CLI to run your migrations
https://github.com/Ff00ff/mammoth
#ts
Features:
- Type-safe query builder - sticking as close to SQL as possible
- BYOCP (bring your own connection pool)
- Supports Postgres only
- Excellent autocomplete
- Train case to camelCase and vice versa conversion
- Auto-migration generation based on your schema changes
- Awesome CLI to run your migrations
https://github.com/Ff00ff/mammoth
#ts
Deno + React: No build, no bundle, all streaming
Ultra is a web framework that leans hard into your browser's native features. Embrace the future of ES Modules, Import Maps, and Web Streams. All while supporting some of the non-standards that many normal people love for some reason (JSX and TypeScript).
It's driven by the following hot-takes:
- ESM is non-negotiable in {currentYear}
- SSR is non-negotiable in {currentYear}
- Bundling is an anti-pattern in {currentYear}
- Data can be requested anywhere, and is accessible on the server, always
- Lazy routing with dynamic imports trumps FS routing
- Less magic in tooling and frameworks is a good thing
- Simplify your workflow and tech stack at all costs - life is too short
- Streams are neat
https://github.com/exhibitionist-digital/ultra
Personal opinion: this looks exciting! I am in deno's hypetrain for almost a year now and I love to see new cool use-cases.
#deno #react #js #ts
Ultra is a web framework that leans hard into your browser's native features. Embrace the future of ES Modules, Import Maps, and Web Streams. All while supporting some of the non-standards that many normal people love for some reason (JSX and TypeScript).
It's driven by the following hot-takes:
- ESM is non-negotiable in {currentYear}
- SSR is non-negotiable in {currentYear}
- Bundling is an anti-pattern in {currentYear}
- Data can be requested anywhere, and is accessible on the server, always
- Lazy routing with dynamic imports trumps FS routing
- Less magic in tooling and frameworks is a good thing
- Simplify your workflow and tech stack at all costs - life is too short
- Streams are neat
https://github.com/exhibitionist-digital/ultra
Personal opinion: this looks exciting! I am in deno's hypetrain for almost a year now and I love to see new cool use-cases.
#deno #react #js #ts
kbar is a simple plug-n-play React component to add a fast, portable, and extensible command+k interface to your site.
Command+k interfaces are used to create a web experience where any type of action users would be able to do via clicking can be done through a command menu.
With macOS's Spotlight and Linear's command+k experience in mind, kbar aims to be a simple abstraction to add a fast and extensible command+k menu to your site.
Features:
- Built in animations and fully customizable components
- Keyboard navigation support; e.g. ctrl n / ctrl p for the navigation wizards
- Keyboard shortcuts support for registering keystrokes to specific actions; e.g. hit t for Twitter
- Nested actions enable creation of rich navigation experiences; e.g. hit backspace to navigate to the previous action
- A simple data structure which enables anyone to easily build their own custom components
https://github.com/timc1/kbar
#react #js #ts
Command+k interfaces are used to create a web experience where any type of action users would be able to do via clicking can be done through a command menu.
With macOS's Spotlight and Linear's command+k experience in mind, kbar aims to be a simple abstraction to add a fast and extensible command+k menu to your site.
Features:
- Built in animations and fully customizable components
- Keyboard navigation support; e.g. ctrl n / ctrl p for the navigation wizards
- Keyboard shortcuts support for registering keystrokes to specific actions; e.g. hit t for Twitter
- Nested actions enable creation of rich navigation experiences; e.g. hit backspace to navigate to the previous action
- A simple data structure which enables anyone to easily build their own custom components
https://github.com/timc1/kbar
#react #js #ts
👍1
Open-source platform that brings an Airtable experience for your database and allows you to build any automation or cloud functions for your product.
Manage Firestore data in a spreadsheet-like UI, write Cloud Functions effortlessly in the browser, and connect to your favorite third party platforms such as SendGrid, Twilio, Algolia, Slack and more.
Features:
- Powerful spreadsheet interface for Firestore
- Supercharge your database with cloud functions and ready made extension: use APIs or NPM modules
- Rich and flexible data fields: more that 30 different types
- Collaborate with your team
https://github.com/rowyio/rowy
#ts
Manage Firestore data in a spreadsheet-like UI, write Cloud Functions effortlessly in the browser, and connect to your favorite third party platforms such as SendGrid, Twilio, Algolia, Slack and more.
Features:
- Powerful spreadsheet interface for Firestore
- Supercharge your database with cloud functions and ready made extension: use APIs or NPM modules
- Rich and flexible data fields: more that 30 different types
- Collaborate with your team
https://github.com/rowyio/rowy
#ts