Drag and drop page builder and CMS for React, Vue, Angular, and more

Overview

BUILDER

Drag and drop page builder and CMS for React, Vue, Angular, and more

Integrate with any site or app. Use your code components. High speed, full control, no compromises

code style: prettier PRs Welcome License Types


Editor example


Quick start:

Or choose your framework:

  REST API     GraphQL     Shopify     VS Code           React     Next.js9     Gatsby     Vue     Nuxt     Angular     Webcomponents  


Register components Rendered your visually created content
{props.title} )   Builder.registerComponent(Heading, {   name: 'Heading',   inputs: [{ name: 'title', type: 'text' }] })">
import { Builder } from '@builder.io/react'
 
// Register our heading component for use in
// the visual editor
const Heading = props => (
  <h1 className="my-heading">{props.title}</h1>
)
 
Builder.registerComponent(Heading, {
  name: 'Heading',
  inputs: [{ name: 'title', type: 'text' }]
})
}">
import { BuilderComponent, builder } from '@builder.io/react'
 
builder.init('YOUR_KEY')
 
export let BuilderPage = () => {
  const [pageJson, setPage] = useState(null)
 
  useEffect(() => {
    builder.get('page', { url: '/' })
      .promise().then(setPage)
  }, [])
 
  return <BuilderComponent model="page" content={pageJson} />
}

Why Builder.io?

Hardcoding layouts for frequently changing content bottlenecks your team and makes releases messy

Using an API-driven UI allows you to:

  • Decouple page updates from deploys
  • Schedule, a/b test, and personalize via APIs
  • Reduce code + increase composability

Who uses Builder.io?


Try it out!

Use our CLI to get started with one command:

Or try out:

 

Try our interactive fiddle to try the visual editor

 

Use our Figma plugin to turn designs into code!

 

Try our code generation fiddle

 

Try our VS Code extension for in-IDE visual coding

 

Try our Shopify app for visual Shopify store building

 

Try our headless platform for API-driven development


How does it work?

  • Integrate the Builder API or SDK to your site or app
  • Create a free account on builder.io and drag and drop to create and publish pages and content

How is the content structured?

In Builder, content is structured in models, and customized with custom fields and targeting

  • Builder pages - full drag and drop control between your site's header and footer. Try it out
  • Builder sections - make a part of a page visually editable in Builder and use our targeting and scheduling to decide who sees what. Try it out
  • Builder data - fetch structured data from Builder and use it anywhere in your application (e.g. menu items, structured pages). Try it out

Read more about how builder works here

See here for examples on how to structure a site with Builder

Featured Integrations

REST API

GraphQL

Shopify

VS Code

Figma

React

Next.js

Gatsby

Vue

Nuxt

Angular

Web Components


Don't see an integration you're looking for? Our HTML API, Content APIs, and GraphQL APIs works for all tech stacks and frameworks.

What's in this repository?

This repo houses all of the various SDKs, usage examples, starter projects, and plugins.

Structuring your site

There are a lot of ways you can use Builder for your site. Some of the main questions you'll want to ask yourselves - what on your site should be in your code vs in Builder.

As a general rule, parts of your site that should be managed by non developers should probably be in Builder. Parts that are complex with a lot of code, should probably be in your codebase. Using custom components in your Builder content can help you strike a good balance here as well

Here are some examples we recommend for how to structure various pages on your site, for instance for a headless commerce site:

examples on how to structure your site

How the Builder.io platform works

How it works

Data models, components, SEO, and more

Builder.io gives you a ton more power and control than just page building. Check our guides on

Additional framework support:

As well as some handy power features like:

Join the community!

Questions? Requests? Feedback? Chat with us in our official forum!

Troubleshooting and feedback

Problems? Requests? Open an issue. We always want to hear feedback and interesting new use cases and are happy to help.

We're hiring!

Help us enable anyone to build digital experiences and bring more ideas to life --> https://www.builder.io/m/careers

Comments
  • Bump svelte from 3.47.0 to 3.49.0 in /examples/svelte/sveltekit

    Bump svelte from 3.47.0 to 3.49.0 in /examples/svelte/sveltekit

    Bumps svelte from 3.47.0 to 3.49.0.

    Changelog

    Sourced from svelte's changelog.

    3.49.0

    • Improve performance of string escaping during SSR (#5701)
    • Add ComponentType and ComponentProps convenience types (#6770)
    • Add support for CSS @layer (#7504)
    • Export CompileOptions from svelte/compiler (#7658)
    • Fix DOM-less components not being properly destroyed (#7488)
    • Fix class: directive updates with <svelte:element> (#7521, #7571)
    • Harden attribute escaping during SSR (#7530)

    3.48.0

    • Allow creating cancelable custom events with createEventDispatcher (#4623)
    • Support {@const} tag in {#if} blocks #7241
    • Return the context object in setContext #7427
    • Allow comments inside {#each} blocks when using animate: (#3999)
    • Fix |local transitions in {#key} blocks (#5950)
    • Support svg namespace for {@html} (#7002, #7450)
    • Fix {@const} tag not working inside a component when there's no let: #7189
    • Remove extraneous leading newline inside <pre> and <textarea> (#7264)
    • Fix erroneous setting of textContent for \<template> elements (#7297)
    • Fix value of let: bindings not updating in certain cases (#7440)
    • Fix handling of void tags in <svelte:element> (#7449)
    • Fix handling of boolean attributes in <svelte:element> (#7478)
    • Add special style scoping handling of [open] selectors on <dialog> elements (#7495)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 19
  • React: <BuilderComponent> doesn't rerender when user attributes change

    React: doesn't rerender when user attributes change

    We have a basic Builder component:

    <BuilderComponent model="home-pages" />
    

    If we call builder.setUserAttributes before this renders, it will pass the correct attributes to the Builder API and render the correct content.

    If we then call builder.setUserAttributes after this renders (e.g. if the user signs in), it doesn't show the new content.

    Problem 1: Builder doesn't fetch new content from the API. We can tell this is a problem because there's nothing in the network tab when we call builder.setUserAttributes.

    Problem 2: Builder fetches new content from the API, but the component doesn't update. We can tell this is a problem because even if we manually fetch new content and pass it into <BuilderComponent>, it doesn't update:

    // doesn't work:
    function MyComponent() {
      const [content, setContent] = useState(null)
    
      useEffect(() => {
        builder.get('home-pages').promise().then(setContent)
      })
    
      return <BuilderContent model="home-pages" content={content} />
    }
    
    // works:
    function MyComponentWithKeyUpdate() {
      const [content, setContent] = useState(null)
    
      useEffect(() => {
        builder.get('home-pages').promise().then(setContent)
      })
    
      return <BuilderComponent model="home-pages" content={content} key={content.id} />
    }
    
    opened by jamesarosen 17
  • Builder page is not editable on first load

    Builder page is not editable on first load

    We are using builder to manage a content section on pages within our app. When we load a builder page, we also load our app into the editor so we can full WYSIWYG experience.

    However, when we first load the builder page into your editor, it takes several refreshes for the builder page to become editable.

    bug 
    opened by JefferyReidKnowde 14
  • not able to track abtest impression data in Angular

    not able to track abtest impression data in Angular

    tried to follow this:
    https://forum.builder.io/t/tracking-builder-data-to-other-analytics-providers/160

    but the fields specified in the post are not available on Angular's $event object passed back in the load event: image

    opened by that70schris 13
  • Cannot see added components in page

    Cannot see added components in page

    Since https://github.com/BuilderIO/builder/commit/8a910d7ce53c8e3b184a14d8f7661bab5e6cbfda, I'm unable to see components I add to some (not all) pages. I haven't narrowed down why, but downgrading fixed the issue.

    image

    image

    opened by kevva 11
  • Builder page content not rendering everything

    Builder page content not rendering everything

    Issue

    This is in the @builder.io/[email protected] build. It looks like now the Builder page on our site is not rendering everything that's published in the dashboard page

    In Builder

    Screen Shot 2019-11-21 at 8 59 42 AM

    Our site (running locally)

    Screen Shot 2019-11-21 at 9 00 12 AM

    It seems like it was working fine for a little bit, but not sure if you pushed any updates to the dev build that might be causing this.

    opened by tedlin182 10
  •  Module '

    Module '"http"' has no exported member 'ServerRequest'.

    Hi, I get the following issue when trying to serve an angular application after importing BuilderModule in angular. It happens when using it in existing Angular 8 and also in a fresh Angular 9 app.

    ERROR in node_modules/@builder.io/sdk/dist/src/builder.class.d.ts:2:10 - error TS2305: Module '"http"' has no exported member 'ServerRequest'. I had a look around and found one issue on a different project that seems to be similar

    opened by rp3e11 9
  • @builder.io/sdk-react: NextJS: failure to load in SSR

    @builder.io/sdk-react: NextJS: failure to load in SSR

    Describe the bug When using the recently released Beta React SDK @builder.io/[email protected] with Next.js and Next.js throws and error Server Error SyntaxError: Cannot use import statement outside a module when trying to server-side render the builder RenderContent component.

    image

    To Reproduce Stackblitz

    Expected behavior We can use the builder SDK with SSR (eventually we will want to use server component with the SDK)

    Additional context one workaround to is only render the Builder component on the client.

    Thanks for the help! I'm excited to see that the bundle size is only 13 kB. Seems more reasonable.

    bug 
    opened by charkour 7
  • Add Kontent data plugin

    Add Kontent data plugin

    Description

    Hello, I am a DevRel Leader with Kontent.ai headless CMS. I have tried to create a data plugin for our headless CMS similar you for Contentful and Contentstack.

    I tried to find some resources and documentation to the registerDataPlugin what to provide, what are the possibilities etc.

    I have drafted a skeleton based on existing implementations, but I struggle with the API contract. It should be fairly easy to fill the implementation skeleton if I have more info and even have some guide on how to test the plugin.

    Would you be willing to get in touch and discuss the further steps?

    Currently, I have used REST API to fetch the data, but it is also possible to switch to GraphQl.

    opened by Simply007 7
  • Error when running in latest Next.js version with middleware

    Error when running in latest Next.js version with middleware

    On Next.js v12, you'll get this when adding middleware to your app:

    `eval` not allowed in Middleware pages/_middleware
    error - node_modules/@builder.io/sdk/dist/index.esm.js?b22a (919:0) @ <unknown>
    TypeError: Cannot read property 'parse' of null
    

    This points to this line which makes use of serverOnlyRequire. The problem is that that function makes use of eval to detect require and since Next.js doesn't allow eval in middleware it'll throw no matter what so I think another non-eval check is needed.

    opened by kevva 7
  • App can't get stable with Angular 9

    App can't get stable with Angular 9

    Using "@builder.io/angular": "1.1.13" it seems that our app can't get stable anymore when subscribing to it : https://angular.io/api/core/ApplicationRef#isStable

    While digging into it, I discovered that there was a pending macrotask triggered by builder-component ( blocking the stable flag to turn to true ) Screenshot 2020-07-23 at 16 31 52

    When comparing to previous versions, it seems that this comes from here : https://github.com/BuilderIO/builder/blob/52d8d231f01fbcc2b9670368a47acdda57c1b349/packages/angular/src/app/modules/builder/directives/builder-content.directive.ts#L233

    Previous Behavior :

    This will create two macro tasks & two listeners, subscribed and on next event , one will cancel & invoke the task while the other resolve and invoke the task.

    Current Behavior :

    This seems to create two macro tasks but only one listener, subscribed and on next event, only the listener will resolve and invoke the task. Leaving the other macrotask unresolved.

    opened by ghost 7
  • Breakpoints editor fix react

    Breakpoints editor fix react

    When react sdk is used inside the editor, we need to use the breakpoints values coming from editor on priority vs the breakpoints values available in passed content entry. This is for cases when fresh breakpoints are set in org settings but they haven't yet persisted in content and to ensure editor to render content iframe based on this fresh breakpoints values (over the one persisted aka stale in content.meta.breakpoints)

    opened by murtaza-builder 2
  • Emotion + @builder.io/react don't work together -

    Emotion + @builder.io/react don't work together - "sheet.hydrate is not a function"

    Describe the bug I have a Next.js 12 project that uses MUI, which uses Emotion, and I want to integrate it with Builder.io. When I try to use the CacheProvider component, I get a sheet.hydrate is not a function error.

    To Reproduce Steps to reproduce the behavior:

    1. I set up a Next.js 12 project.
    2. I installed my dependencies, mainly @mui/material, @emotion/react, and @emotion/styled.
    3. Install the @builder.io/react library.
    4. Set up _app.js to utilize the CacheProvider with a key.
    5. Set up index.js to initialize the ThemeProvider, added the CssBaseline component, and added a singular element that should be styled by the theme.

    Here's the CodeSandbox.

    Expected behavior This shouldn't cause a bug, I should be able to use these dependencies together.

    Screenshots image

    opened by davidrhoderick 0
  • chore(deps): bump engine.io from 6.2.0 to 6.2.1 in /examples/angular

    chore(deps): bump engine.io from 6.2.0 to 6.2.1 in /examples/angular

    Bumps engine.io from 6.2.0 to 6.2.1.

    Release notes

    Sourced from engine.io's releases.

    6.2.1

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)
    Changelog

    Sourced from engine.io's changelog.

    6.2.1 (2022-11-20)

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)

    3.6.0 (2022-06-06)

    Bug Fixes

    Features

    • decrease the default value of maxHttpBufferSize (58e274c)

    This change reduces the default value from 100 mb to a more sane 1 mb.

    This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data.

    See also: https://github.com/advisories/GHSA-j4f2-536g-r55m

    • increase the default value of pingTimeout (f55a79a)
    Commits
    • 24b847b chore(release): 6.2.1
    • 425e833 fix: catch errors when destroying invalid upgrades (#658)
    • 99adb00 chore(deps): bump xmlhttprequest-ssl and engine.io-client in /examples/latenc...
    • d196f6a chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#660)
    • 7c1270f chore(deps): bump nanoid from 3.1.25 to 3.3.1 (#659)
    • 535a01d ci: add Node.js 18 in the test matrix
    • 1b71a6f docs: remove "Vanilla JS" highlight from README (#656)
    • 917d1d2 refactor: replace deprecated String.prototype.substr() (#646)
    • 020801a chore: add changelog for version 3.6.0
    • ed1d6f9 test: make test script work on Windows (#643)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump engine.io and socket.io in /packages/angular

    chore(deps): bump engine.io and socket.io in /packages/angular

    Bumps engine.io and socket.io. These dependencies needed to be updated together. Updates engine.io from 6.1.3 to 6.2.1

    Release notes

    Sourced from engine.io's releases.

    6.2.1

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)

    6.2.0

    Features

    • add the "maxPayload" field in the handshake details (088dcb4)

    So that clients in HTTP long-polling can decide how many packets they have to send to stay under the maxHttpBufferSize value.

    This is a backward compatible change which should not mandate a new major revision of the protocol (we stay in v4), as we only add a field in the JSON-encoded handshake data:

    0{"sid":"lv_VI97HAXpY6yYWAAAC","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000,"maxPayload":1000000}
    

    Links

    Changelog

    Sourced from engine.io's changelog.

    6.2.1 (2022-11-20)

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)

    3.6.0 (2022-06-06)

    Bug Fixes

    Features

    • decrease the default value of maxHttpBufferSize (58e274c)

    This change reduces the default value from 100 mb to a more sane 1 mb.

    This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data.

    See also: https://github.com/advisories/GHSA-j4f2-536g-r55m

    • increase the default value of pingTimeout (f55a79a)

    ... (truncated)

    Commits
    • 24b847b chore(release): 6.2.1
    • 425e833 fix: catch errors when destroying invalid upgrades (#658)
    • 99adb00 chore(deps): bump xmlhttprequest-ssl and engine.io-client in /examples/latenc...
    • d196f6a chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#660)
    • 7c1270f chore(deps): bump nanoid from 3.1.25 to 3.3.1 (#659)
    • 535a01d ci: add Node.js 18 in the test matrix
    • 1b71a6f docs: remove "Vanilla JS" highlight from README (#656)
    • 917d1d2 refactor: replace deprecated String.prototype.substr() (#646)
    • 020801a chore: add changelog for version 3.6.0
    • ed1d6f9 test: make test script work on Windows (#643)
    • Additional commits viewable in compare view

    Updates socket.io from 4.4.1 to 4.5.3

    Release notes

    Sourced from socket.io's releases.

    4.5.3

    Bug Fixes

    • typings: accept an HTTP2 server in the constructor (d3d0a2d)
    • typings: apply types to "io.timeout(...).emit()" calls (e357daf)

    Links:

    4.5.2

    Bug Fixes

    • prevent the socket from joining a room after disconnection (18f3fda)
    • uws: prevent the server from crashing after upgrade (ba497ee)

    Links:

    4.5.1

    Bug Fixes

    • forward the local flag to the adapter when using fetchSockets() (30430f0)
    • typings: add HTTPS server to accepted types (#4351) (9b43c91)

    Links:

    4.5.0

    Bug Fixes

    • typings: ensure compatibility with TypeScript 3.x (#4259) (02c87a8)

    Features

    • add support for catch-all listeners for outgoing packets (531104d)

    This is similar to onAny(), but for outgoing packets.

    ... (truncated)

    Changelog

    Sourced from socket.io's changelog.

    4.5.3 (2022-10-15)

    Bug Fixes

    • typings: accept an HTTP2 server in the constructor (d3d0a2d)
    • typings: apply types to "io.timeout(...).emit()" calls (e357daf)

    4.5.2 (2022-09-02)

    Bug Fixes

    • prevent the socket from joining a room after disconnection (18f3fda)
    • uws: prevent the server from crashing after upgrade (ba497ee)

    2.5.0 (2022-06-26)

    Bug Fixes

    • fix race condition in dynamic namespaces (05e1278)
    • ignore packet received after disconnection (22d4bdf)
    • only set 'connected' to true after middleware execution (226cc16)
    • prevent the socket from joining a room after disconnection (f223178)

    4.5.1 (2022-05-17)

    Bug Fixes

    • forward the local flag to the adapter when using fetchSockets() (30430f0)
    • typings: add HTTPS server to accepted types (#4351) (9b43c91)

    4.5.0 (2022-04-23)

    Bug Fixes

    • typings: ensure compatibility with TypeScript 3.x (#4259) (02c87a8)

    ... (truncated)

    Commits
    • 945c84b chore(release): 4.5.3
    • d3d0a2d fix(typings): accept an HTTP2 server in the constructor
    • 19b225b docs(examples): update dependencies of the basic CRUD example
    • 8fae95d docs: add jsdoc for each public method
    • e6f6b90 docs: add deprecation notice for the allSockets() method
    • 596eb88 ci: upgrade to actions/[email protected] and actions/[email protected]
    • e357daf fix(typings): apply types to "io.timeout(...).emit()" calls
    • 10fa4a2 refactor: add list of possible disconnection reasons
    • 8be95b3 chore(release): 4.5.2
    • ba497ee fix(uws): prevent the server from crashing after upgrade
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump engine.io, socket.io and browser-sync in /examples/angular-universal

    chore(deps): bump engine.io, socket.io and browser-sync in /examples/angular-universal

    Bumps engine.io, socket.io and browser-sync. These dependencies needed to be updated together. Updates engine.io from 3.5.0 to 6.2.1

    Release notes

    Sourced from engine.io's releases.

    6.2.1

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)

    6.2.0

    Features

    • add the "maxPayload" field in the handshake details (088dcb4)

    So that clients in HTTP long-polling can decide how many packets they have to send to stay under the maxHttpBufferSize value.

    This is a backward compatible change which should not mandate a new major revision of the protocol (we stay in v4), as we only add a field in the JSON-encoded handshake data:

    0{"sid":"lv_VI97HAXpY6yYWAAAC","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000,"maxPayload":1000000}
    

    Links

    6.1.3

    Bug Fixes

    • typings: allow CorsOptionsDelegate as cors options (#641) (a463d26)
    • uws: properly handle chunked content (#642) (3367440)

    ... (truncated)

    Changelog

    Sourced from engine.io's changelog.

    6.2.1 (2022-11-20)

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)

    3.6.0 (2022-06-06)

    Bug Fixes

    Features

    • decrease the default value of maxHttpBufferSize (58e274c)

    This change reduces the default value from 100 mb to a more sane 1 mb.

    This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data.

    See also: https://github.com/advisories/GHSA-j4f2-536g-r55m

    • increase the default value of pingTimeout (f55a79a)

    ... (truncated)

    Commits
    • 24b847b chore(release): 6.2.1
    • 425e833 fix: catch errors when destroying invalid upgrades (#658)
    • 99adb00 chore(deps): bump xmlhttprequest-ssl and engine.io-client in /examples/latenc...
    • d196f6a chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#660)
    • 7c1270f chore(deps): bump nanoid from 3.1.25 to 3.3.1 (#659)
    • 535a01d ci: add Node.js 18 in the test matrix
    • 1b71a6f docs: remove "Vanilla JS" highlight from README (#656)
    • 917d1d2 refactor: replace deprecated String.prototype.substr() (#646)
    • 020801a chore: add changelog for version 3.6.0
    • ed1d6f9 test: make test script work on Windows (#643)
    • Additional commits viewable in compare view

    Updates socket.io from 4.4.1 to 4.5.3

    Release notes

    Sourced from socket.io's releases.

    4.5.3

    Bug Fixes

    • typings: accept an HTTP2 server in the constructor (d3d0a2d)
    • typings: apply types to "io.timeout(...).emit()" calls (e357daf)

    Links:

    4.5.2

    Bug Fixes

    • prevent the socket from joining a room after disconnection (18f3fda)
    • uws: prevent the server from crashing after upgrade (ba497ee)

    Links:

    4.5.1

    Bug Fixes

    • forward the local flag to the adapter when using fetchSockets() (30430f0)
    • typings: add HTTPS server to accepted types (#4351) (9b43c91)

    Links:

    4.5.0

    Bug Fixes

    • typings: ensure compatibility with TypeScript 3.x (#4259) (02c87a8)

    Features

    • add support for catch-all listeners for outgoing packets (531104d)

    This is similar to onAny(), but for outgoing packets.

    ... (truncated)

    Changelog

    Sourced from socket.io's changelog.

    4.5.3 (2022-10-15)

    Bug Fixes

    • typings: accept an HTTP2 server in the constructor (d3d0a2d)
    • typings: apply types to "io.timeout(...).emit()" calls (e357daf)

    4.5.2 (2022-09-02)

    Bug Fixes

    • prevent the socket from joining a room after disconnection (18f3fda)
    • uws: prevent the server from crashing after upgrade (ba497ee)

    2.5.0 (2022-06-26)

    Bug Fixes

    • fix race condition in dynamic namespaces (05e1278)
    • ignore packet received after disconnection (22d4bdf)
    • only set 'connected' to true after middleware execution (226cc16)
    • prevent the socket from joining a room after disconnection (f223178)

    4.5.1 (2022-05-17)

    Bug Fixes

    • forward the local flag to the adapter when using fetchSockets() (30430f0)
    • typings: add HTTPS server to accepted types (#4351) (9b43c91)

    4.5.0 (2022-04-23)

    Bug Fixes

    • typings: ensure compatibility with TypeScript 3.x (#4259) (02c87a8)

    ... (truncated)

    Commits
    • 945c84b chore(release): 4.5.3
    • d3d0a2d fix(typings): accept an HTTP2 server in the constructor
    • 19b225b docs(examples): update dependencies of the basic CRUD example
    • 8fae95d docs: add jsdoc for each public method
    • e6f6b90 docs: add deprecation notice for the allSockets() method
    • 596eb88 ci: upgrade to actions/[email protected] and actions/[email protected]
    • e357daf fix(typings): apply types to "io.timeout(...).emit()" calls
    • 10fa4a2 refactor: add list of possible disconnection reasons
    • 8be95b3 chore(release): 4.5.2
    • ba497ee fix(uws): prevent the server from crashing after upgrade
    • Additional commits viewable in compare view

    Updates browser-sync from 2.27.7 to 2.27.10

    Release notes

    Sourced from browser-sync's releases.

    2.27.9

    What's Changed

    A bug prevented the help output from displaying - it was introduced when the CLI parser yargs was updated, and is now fixed :)

    Full Changelog: https://github.com/BrowserSync/browser-sync/compare/v2.27.8...v2.27.9

    2.27.8

    This release upgrades Socket.io (client+server) to the latest versions - solving the following issues, and silencing security warning :)

    PR:

    Resolved Issues:

    Thanks to @​lachieh for the original PR, which helped me land this fix

    2.26.0 -> 2.26.3

    fixes

    • application/wasm support - fixes #1598 d60cd916ff1c64a69fddaa5cd2ca1061f066266e
    • deps - ensure previous users of browser-sync-client are not affected by new structure - fixes #1615 0a2ff5a25d9e5ca7df7b1ec63a235f76a220ada6
    • npm audit fixes across all packages - fixes #1618 9f3fea4d0bef39b31c45e14cba669483f6e65448
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
Super Form Builder built on top of Vue with Drag & Drop functionality

Super Form Builder built on top of Vue with Drag & Drop functionality, savable-form-schema and easy to maintain/upgrade your form.

(Seth) Phat Tran 395 Nov 2, 2022
Yakoue's MJML Drag & Drop email builder component for vuejs

Yakoue's MJML Drag & Drop email builder component for vuejs

null 12 Nov 2, 2022
Vue component who put SortableJS/Vue.Draggable and tangbc/vue-virtual-scroll-list together and allow drag-and-drop and big amount data list with high scroll performance.

Vue component who put SortableJS/Vue.Draggable and tangbc/vue-virtual-scroll-list together and allow drag-and-drop and big amount data list with high scroll performance.

Tajima Jumpei 34 Nov 20, 2022
Drag And Drop functionality for Vue.js - written in Vue.js

vue-dnd-zone is a vue.js plugin for drag and drop functionality. It is not a wrapper for an external js library, but a set of vue components managing the drag and drop event and data model state

Yair Levy 143 Oct 29, 2022
A dependency-free Vue component, that allows you to drag and drop elements and snap them to specified positions

A dependency-free Vue component, that allows you to drag and drop elements and snap them to specified positions. Inspired by vue-drag-it-dude

Enes 1 Mar 30, 2022
Vue drag-and-drop component based on Sortable.js

Vue.Draggable Vue component (Vue.js 2.0) or directive (Vue.js 1.0) allowing drag-and-drop and synchronization with view model array. Based on and offe

SortableJS 18.2k Nov 25, 2022
:ok_hand: Drag and drop so simple it hurts http://astray-git.github.io/vue-dragula

vue-dragula ?? Drag and drop so simple it hurts Vue wrapper for dragula. Install CommonJS Available through npm as vue-dragula. npm install vue-dragul

Yichang Liu 360 Nov 23, 2022
:ok_hand: Drag and drop so simple it hurts http://astray-git.github.io/vue-dragula

vue2-dragula ?? Drag and drop so simple it hurts Vue wrapper for dragula drag'n drop library, based on vue-dragula by @Astray-git. This library has be

Kristian Mandrup 206 Oct 30, 2022
A lightweight Vue wrapper that abstracts away the wonkier parts of the Drag and Drop Browser API

❗ Version 1.0.0 is out! This finally includes support for IE/Edge. Note that this required skipping the native transferData event property entirely in

J. Cameron McDonald 489 Nov 10, 2022
Vue Drag and Drop library without any dependency 👌

Description Vue Drag and Drop library without any dependency. Native HTML5 drag and drop implementation made for Vue. Examples ?? Installation npm ins

Vivify Ideas 304 Nov 14, 2022
A fast and lightweight drag&drop, sortable library for Vue.js

A fast and lightweight drag&drop, sortable library for Vue.js with many configuration options covering many d&d scenarios.

amendx 141 Nov 21, 2022
Vue 3 drag-and-drop component based on Sortable.js

Vue 3 drag-and-drop component based on Sortable.js

Anish George 328 Nov 23, 2022
A support drag and drop scheduler on vue.js

vue-scheduler-lite A very simple scheduler for vue.js DEMO Online Demo Support Business-day Support Business-hours Support Drag and Drop Support Resiz

Lin Masahiro 51 Nov 23, 2022
A drag and drop implementation for Vue.js 2

Vue-Easy-DnD (A HTML5 Drag-and-Drop Replacement) Easy-DnD is a drag and drop implementation for Vue.js 2 that uses only standard mouse events instead

Régis Lemaigre 291 Nov 12, 2022
🌴🌳a Vue's drag and drop tree component || 🌾Demo

vue-drag-tree It's a tree components(Vue2.x) that allow you to drag and drop the node to exchange their data . Feature Double click on an node to turn

林水溶 378 Nov 26, 2022
Clean drag and drop list component built with Vue.js

drag-and-drop Description Clean drag and drop list component built with Vue.js. Basic component allows for item sortability of a parent array. Additio

null 3 Mar 22, 2022
Vue drag-and-drop component based on Sortable.js

Vue.Draggable Vue component (Vue.js 2.0) or directive (Vue.js 1.0) allowing drag-and-drop and synchronization with view model array. Based on and offe

SortableJS 18.2k Nov 23, 2022
Drag, sort and drop any element in vuejs with vue-draggable

Drag, sort and drop any element in vuejs with vue-draggable

null 0 Oct 25, 2022
Vue drag-and-drop component based on Sortable.js

How to publish this package npm publish --access pubic Vue.Draggable Vue component (Vue.js 2.0) or directive (Vue.js 1.0) allowing drag-and-drop and s

Course Square 0 May 28, 2022