Javascript DOM Effect Library
Effect Network Javscript/Typescript SDK (for [https://effect.network](https://effect.network))
No description provided.
The missing standard library for TypeScript, for writing production-grade software.
A React helper hook for scheduling a layout effect with a fallback to a regular effect for environments where layout effects should not be used (such as server-side rendering).
A wrapper package that uses `useInsertionEffect` or a fallback for it
An independent cache effect JS plug-in
Create components whose prop changes map to a global side effect
A React hook that uses useEffect() on the server and useLayoutEffect() in the browser
Create components whose prop changes map to a global side effect
ESLint rule to warn against unnecessary React useEffect hooks.
Unified interfaces for common platform-specific services
It's react's useEffect hook, except using deep comparison on the inputs, not reference equality
Platform specific implementations for the Node.js runtime
Ponyfill of the experimental `React.useEffectEvent` hook
👻🔁
Functional programming in TypeScript
Experimental modules for the Effect ecosystem
Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.
OpenTelemetry integration for Effect
An easy to use, extensible pretty-printer for rendering documents for the terminal
A set of helpers for testing Effects with vitest
A SQL toolkit for Effect
A library for building command-line interfaces with Effect
Fancy Notifications adds nice CSS and JS effects to flash notices, so you don't have to.
Super simple pattern to effectively organize page-specific JS within Rails for use with Turbolinks
Additional finders for capybara that for some reason cannot use only xpath for finding nodes but needs to execute js for some calculations. \ Ex: I you want to find a table cell that is under or next to other cell the easiest way to do it is to check their position on page and compare them. This way you do not need to wory about calculating the effects of using colspan and rowspan attributes. The downside is that you need to use capybara driver that runs a browser like selenium.
A Jekyll plugin for address munging — defending email addresses on public sites against bulk harvesters. Stacks five independently-effective techniques (AES-128-GCM encryption, JS conversion, click trigger, CSS-hidden decoy, SVG noscript fallback) so scrapers see ciphertext while humans see a normal mailto link. Drop in a Liquid tag — `{% munge_email "user@example.com" %}` — and the plugin handles encryption at build time, the decoder script, and the fallback markup.
The middleware makes sure any request to specified paths would have been preflighted if it was sent by a browser. We don't want random websites to be able to execute actual GraphQL operations from a user's browser unless our CORS policy supports it. It's not good enough just to ensure that the browser can't read the response from the operation; we also want to prevent CSRF, where the attacker can cause side effects with an operation or can measure the timing of a read operation. Our goal is to ensure that we don't run the context function or execute the GraphQL operation until the browser has evaluated the CORS policy, which means we want all operations to be pre-flighted. We can do that by only processing operations that have at least one header set that appears to be manually set by the JS code rather than by the browser automatically. POST requests generally have a content-type `application/json`, which is sufficient to trigger preflighting. So we take extra care with requests that specify no content-type or that specify one of the three non-preflighted content types. For those operations, we require one of a set of specific headers to be set. By ensuring that every operation either has a custom content-type or sets one of these headers, we know we won't execute operations at the request of origins who our CORS policy will block.
== E9Tags An extension to ActsAsTaggableOn[http://github.com/mbleigh/acts-as-taggable-on] which "improves" on custom tagging, or at least makes it more dynamic. Additionally it provides some autocomplete rack apps and the corresponding javascript. == Installation 1. E9Tags requires jquery and jquery-ui for the autocompletion and tag-adding form, be sure they're loaded in your pages where the tags form will be rendered. 2. E9Tags extends ActsAsTaggableOn and requires it. Run it's generator if you have not. 3. Run the E9Tags install script to copy over the required JS rails g e9_tags:install 4. Then make sure it is loaded, how you do that doesn't matter, e.g. <%= javascript_include_tag 'e9_tags' %> 5. Create an initializer for that sets up the taggable models and their controllers. This gives the models the tag associations and methods and prepares their controller to handle the otherwise unexpected tag params. require 'e9_tags' require 'contacts_controller' require 'contact' E9Tags.controllers << ContactsController E9Tags.models << Contact OR You can just include the modules in your classes yourself. The first way really exists for the case where the classes you wish to extend are part of another plugin/gem. # in contact.rb include E9Tags:Model # in contacts_controller.rb include E9Tags::Controller 6. Render the tags form partial in whatever model forms require it. = render 'e9_tags/form', :f => f If you pass a context, it will be locked and no longer possible to change/add the contexts on the form (and as a side effect, the tags autocompletion will be restricted to that context). = render 'e9_tags/form', :f => f, :context => :users Finally if you pass a 2nd arg to :context you can set a tag context to be "private" (default is false). In this case the tag context will be locked as private (typically suffixed with *), meaning that the tags will not be publicly searchable/visible. This is useful for organizational tags tags, say if you wanted to arbitrarily group records, or create a custom search based on a tag context. = render 'e9_tags/form', :f => f, :context => [:users, true] NOTE: The form and javascript are intended to work out of the box, but the certainly aren't going to look pretty. If you do intend to use the forms, you'll no doubt need to style them.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.