Ember.js - A JavaScript framework for creating ambitious web applications

Overview

npm version CI Status Code Climate Discord Community Server PRs Welcome GitHub license

Ember.js is a JavaScript framework that greatly reduces the time, effort and resources needed to build any web application. It is focused on making you, the developer, as productive as possible by doing all the common, repetitive, yet essential, tasks involved in most web development projects.

With Ember, you get all of these things:

  • A Welcoming Community - Get the help you need, when you need it.
  • An Enduring Foundation for your Apps - There are apps that used the first version of Ember almost a decade ago, and successfully still use Ember today.
  • Reliability & Security - With regular LTS Releases and 30 weeks of security fixes, you can rely on Ember.js to care about the stability and security of your app.
  • Modern JavaScript - Use modern JavaScript features that you're already familiar with like classes, decorators and generators.
  • Documentation - Rely on top-notch documentation for each Ember version and a team that is focused on the documentation and learning experience.
  • HTML-first Components - Start with valid, semantic HTML in your components, and layer in the functionality that you need, as you need it.
  • Routing - Ember routes respect URLs while layering in extra functionality like rendering templates, loading data models, handling actions, and conditionally redirecting.
  • Data Layer - Ember Data is a powerful data management tool that comes with Ember apps by default. Want to use something else? We support that, too!
  • Flexibility Use any backend stack with your Ember apps, thanks to the flexibility of adapters and serializers.
  • Autotracking - Ember's reactivity model makes it easier to decide what to automatically update, and when.
  • Zero Config Apps - With strong defaults, you may never need to configure anything in your app, but the options are there if you need it!
  • Quality Addon Ecosystem - high-quality, rated addons with the ability to search by source code. Many require no additional configuration, making it easier than ever to supercharge your apps.

Find out more:

Contributions

See CONTRIBUTING.md


Cross-browser testing provided by Browserstack.

Comments
  • Nested #each on iOS8

    Nested #each on iOS8

    Nested #each loops in handlebars do not render in Safari in iOS 8. Cause white screen of death and nothing renders. Returns error in console: TypeError: Attempted to assign to readonly property.

    Tried with Ember 1.7.0 and 1.8 beta

    Example: http://emberjs.jsbin.com/vecuz/1/

    opened by jcohlmeyer 128
  • Add document.title integration to Ember

    Add document.title integration to Ember

    This is a copy over of #2757 with a few modifications. I've added feature flagging and layering to expose the ability to override how the document.title is created.

    To enable this feature set the flag "ember-document-title" to true.

    A typical example for an application would be the following:

    App = Ember.Application.create();
    
    App.Router = Ember.Router.extend({
      titleDivider: ': ',
      titleSpecificityIncreases: true
    });
    
    App.Router.map(function () {
      this.resource('users');
      this.resource('user', { path: '/users/:user_id' });
    });
    
    App.ApplicationRoute = Ember.Route.extend({
      title: "MyApp"
    });
    
    App.UsersRoute.extend({
      title: "Users"
    });
    
    App.UserRoute.extend({
      title: Ember.computed.oneWay('controller.name')
    });
    

    This structure will update the title of the document to MyApp when the app loads; MyApp: Users after transitioning to /users; and MyApp: Finn the Human upon loading the user for Finn the Human.

    If you would like to override how the title property is displayed, simply override the title property on App.Router. When the title property becomes invalidated, the document title updates. That is the only contract you must satisfy. To get the tokens that the title is composed of, look at the titleTokens property. If overriding the title, you should make the title dependent on title tokens.

    Side question: The tests are passing, but the observers aren't getting removed. This needs a patch in tildeio/router in setupContexts to call willTransition to ensure that observers are getting torn down. I'm not sure, but are the observers getting removed upon transitioning away from a route, or do I have to remove them myself?

    Feature 
    opened by tim-evans 93
  • Implement Glimmer Engine

    Implement Glimmer Engine

    Glimmer is the next-generation rendering engine for Ember.js. Built on top of HTMLBars, streams, and an entirely rewritten view layer, Glimmer offers the best performance of any of the major JavaScript frameworks while remaining backwards compatible with Ember 1.x apps.


    The Virtual DOM showed the world that render-time diffing delivers awesome performance by minimizing DOM updates and keeping unchanged elements stable. But like any abstraction, it comes with a cost. In this case, constructing the virtual DOM to compare requires at least some subset of components do a full re-render, and building virtual DOM nodes for static areas of your markup that will never change for every change requires many more allocations and increases GC pressure.

    Glimmer analyzes templates at compile time, relying on the fact that Handlebars' declarative syntax clearly differentiates between static areas, which make up the majority of a template, and the dynamic areas that can change. Instead of invoking a render() method and diffing the result, Glimmer only walks the (much smaller) existing dynamic tree.


    Handlebars' declarative syntax means that from the perspective of an app, the template is being "re-rendered every time", but we can take advantage of static knowledge to reduce the work that we need to do. User code, like helpers and computed properties, are executed during the walk, but only to get (primitive) values which can be === compared, not to build up a new tree. In other words, the programming model is equivalent to "render every time", but we take advantage of the declarative nature of Ember's APIs to reduce work.

    Internally, instead of creating a virtual DOM, Glimmer builds a tree of streams, each stream pointing to a node in the DOM. On initial render, we track the last value (always a primitive) that we inserted into the DOM. The streams are not exposed to application code; Glimmer executes user code when necessary and pushes the new value into the stream.

    When re-rendering, we walk the tree and flush the streams. If the primitive value produced by the stream has not changed, we do nothing. If it has changed, we write the change to the DOM. Like Virtual DOM approaches, this is a "write-only" algorithm.

    One of the benefits of this approach is that we can naturally fuse the Ember/Polymer model of observing individual properties with the React model of explicitly re-rendering areas of the template. No matter what happens, the process of revalidation walks the tree, looking for dirty nodes, and revalidates any dirty nodes it finds.

    The only difference is how much of dynamic tree is marked dirty before revalidation begins. Also, because observation can only dirty dynamic nodes (and schedule a top-down revalidation), multiple observers and re-renders that occur during a single run-loop still only produce a single batch of DOM updates.

    In essence, the biggest difference between Glimmer and traditional virtual DOM approaches is that we diff values, not DOM. This approach not only lets us avoid the algorithmic complexity of tree diffing (instead, we just === check two values), it also lets us avoid doing many render-time allocations.

    Slides from the talk at EmberConf

    Work List

    (this looks like more things than it actually is)

    • [x] merge subscription change into our branch
    • [x] linkRenderNode can mark stability
    • [x] Ember should return true from linkRenderNode
    • [x] make sure all child streams correctly disconnect from parents
    • [x] add stream pruning logic that correctly prunes ancestors
    • [x] add scope teardown hook to HTMLBars (recursive upon clear or remove)
      • [ ] this is also responsible for view layer teardown
    • [x] Propagate correct visitor through descendent hooks (so dirty checks can be avoided for a subtree)
    • [x] Do not dirty check render nodes that were just created (fixes regression)
    • [x] Add "classify" hook to decide which hook content et al should delegate to
    • [x] Make sure that #view is idempotent
    • [x] Components and views should create a new scope frame
      • [x] Implement custom scope in Ember (so that ambient view, controller, etc. can be stored)
      • [x] Eliminate *component* hacks
    • [x] Lifecycle hooks on the renderer
    • [x] Move code duplicated between #view, #component and Ember.View into the Renderer
    • [ ] Support reflecting attributes onto angle-bracket components
    • [ ] Pass mutable bindings as "mutator" objects
    • [ ] Support foo={{action "bar"}}
    • [ ] Legacy support: Implement unknownProperty/setUnknownProperty to work with mutator objects
      • [ ] Deprecate setting non-mut attributes, and support (mut foo) sexprs in legacy Handlebars syntax
    • [ ] Investigate executing teardown callbacks at a "quiescent" state ("vent plasma")
      • [ ] Make sure to consider the rpflo stress test situation
    • [x] Implement a zip and map abstraction for streams to clean up ad hoc stream creation
    • [ ] Add tests for memory leaks
    • [ ] Make sure that custom render functions that mutate the buffer continue to work
    • [ ] options.template should not exist if there is no template
    • [ ] feature flag all the things
    • [ ] Handlebars helper compat
    • [ ] Template function that returns a string (legacy)
    • [X] Context shifting #each
    • [ ] collection helper
    • [ ] {{input}}
      • [X] TextField
      • [X] Checkbox
      • [ ] TextArea
    • [ ] Ember.Select
    • [ ] unbound
      • [X] non-block form
      • [ ] block form (partially done, but not completely)
    • [X] #view and view helper
    • [ ] #view and view helper with back-compat edge cases
    • [X] #with helper
    • [ ] with helper with back-compat edge-cases
    • [ ] yield without a block
    • [ ] {{render}}
    • [ ] ContainerView
    • [X] Top-level view APIs
      • [X] createElement
      • [X] appendTo
      • [X] replaceIn
      • [ ] destroyElement
    • [ ] isVisible
    opened by wycats 90
  • Error after upgrading to Ember 2.4

    Error after upgrading to Ember 2.4

    This error only occurs after the app has been active and running for a while, giving the user a chance to navigate between several different routes. It's very hard to reproduce, it seems to "just happen" after a while. We've been able to reproduce it a few times using our production build (ember.min.js), but never using a debug build (ember.debug.js).

    Here is the stack:

     "Cannot read property '_lookupFactory' of undefined"
    
    TypeError: Cannot read property '_lookupFactory' of undefined
        at i (https://qa-integration.batterii.com/assets/vendor-69da94618271be1c4338db3f0e942865.js:7:2712)
        at o (https://qa-integration.batterii.com/assets/vendor-69da94618271be1c4338db3f0e942865.js:7:2833)
        at Object.a [as default] (https://qa-integration.batterii.com/assets/vendor-69da94618271be1c4338db3f0e942865.js:7:2888)
        at Object.i [as subexpr] (https://qa-integration.batterii.com/assets/vendor-69da94618271be1c4338db3f0e942865.js:6:4717)
        at a (https://qa-integration.batterii.com/assets/vendor-69da94618271be1c4338db3f0e942865.js:15:16476)
        at i (https://qa-integration.batterii.com/assets/vendor-69da94618271be1c4338db3f0e942865.js:15:16302)
        at n (https://qa-integration.batterii.com/assets/vendor-69da94618271be1c4338db3f0e942865.js:15:16189)
        at Object.r [as acceptHash] (https://qa-integration.batterii.com/assets/vendor-69da94618271be1c4338db3f0e942865.js:15:16075)
        at n (https://qa-integration.batterii.com/assets/vendor-69da94618271be1c4338db3f0e942865.js:15:26102)
        at Object.a.inline (https://qa-integration.batterii.com/assets/vendor-69da94618271be1c4338db3f0e942865.js:15:26664)
    

    That seems to point back to the lookup-helper. The few times I've been lucky enough to catch this at a breakpoint, I've observed that the minified owner parameter becomes undefined. The rest of the env looks correct. See:

    image image

    I know that's very little to go on. Short of coming up with an easy way to reproduce this, is there any additional information about the stack that might helpful in debugging this?

    Bug 
    opened by workmanw 79
  • Cannot observe changes to nested properties on array using @each

    Cannot observe changes to nested properties on array using @each

    Adding an observer on a nested property of objects within a collection does not reliably fire. I've created a test case that could be added to ember-runtime/tests/mixins/array_test.js that illustrates this. Observing a nested property on the EachProxy itself appears to work fine. However, observing the property using @each.nest.isDone does not.

    In the following test, count1 is incremented to 1, count2 is not:

    test('modifying nested contents of an object in an array should call @each observers', function() {
      var ary = new TestArray([
          Em.Object.create({ nest: Em.Object.create({ isDone: false}) }),
          Em.Object.create({ nest: Em.Object.create({ isDone: false}) }),
          Em.Object.create({ nest: Em.Object.create({ isDone: false}) }),
          Em.Object.create({ nest: Em.Object.create({ isDone: false}) })
        ]);
    
      var get = Ember.get, set = Ember.set;
      var count1 = 0, count2 = 0;
    
      // Works
      var each = get(ary, '@each');
      Ember.addObserver(each, 'nest.isDone', function() { count1++; });
    
      // Doesn't work
      Ember.addObserver(ary, '@each.nest.isDone', function() { count2++; });
    
      count1 = count2 = 0;
      var item = ary.objectAt(2);
      get(item, 'nest').set('isDone', true);
    
      equal(count1, 1, '@each.nest.isDone should have notified - observing @each array');
      equal(count2, 1, '@each.nest.isDone should have notified - observing chain containing @each');
    });
    
    Bug 
    opened by robharper 75
  • Simplified Ember.RadioButtonGroup implementation

    Simplified Ember.RadioButtonGroup implementation

    This PR contains the same API as #755 but has a simper implementation. Ember.RadioButton can also be used independently of Ember.RadioButtonGroup.

    Also introduces Ember.Control which is a view that uses itself as its context, necessary for the Ember.RadioButtonGroup implementation.

    opened by ghempton 73
  • Computed Properties broken with @each in 2.1.0

    Computed Properties broken with @each in 2.1.0

    Every computed property based on something using @each has broken with the 2.1.0 upgrade. Here are two examples:

      titleUniqueInCollection: Ember.computed('[email protected]', function() {
        const sections = this.get('collection.sections');
        const sectionsWithSameTitle = sections.filterBy('title', this.get('title'));
        return sectionsWithSameTitle.length === 1;
      }),
    
      sortedCollectionItems: Ember.computed('collectionItems', '[email protected]', function() {
        return this.get('collectionItems').sortBy('rankPosition');
      }),
    

    The functions are no longer running as expected when an attribute is changed. Edited to reflect @stefanpenner's comment.

    Bug Regression 
    opened by ameliadowns 66
  • [FEATURE query-params-new] Query params rewrite

    [FEATURE query-params-new] Query params rewrite

    See here for some examples: https://gist.github.com/machty/8167051

    Depends on Handlebars subexpressions: https://github.com/wycats/handlebars.js/pull/690

    opened by machty 66
  • Component creation performance is slower in 1.13 than in 1.12

    Component creation performance is slower in 1.13 than in 1.12

    The performance of the initial component render times seems to be significantly slower in Ember 1.13 than in Ember 1.12.

    Ember 1.13: http://emberjs.jsbin.com/zijuye

    image

    Ember 1.12: http://emberjs.jsbin.com/layoso

    image

    Ember 1.11: http://emberjs.jsbin.com/kunaco

    Ember 1.10: http://emberjs.jsbin.com/xivavi

    opened by GavinJoyce 65
  • [Glimmer 2]

    [Glimmer 2] "Backtracking re-render" is now an assertion

    Backtracking re-render refers to a scenario where, in the middle of the rendering process, you have modified something that has already been rendered.

    For example:

    {{foo}} {{foo-bar parent=this}}
    
    // app/components/foo-bar.js
    
    export default Ember.Component.extend({
      init() {
        this._super(...arguments);
        this.get('parent').set('foo', 'bar');
      }  
    });
    

    As you can see, by the time the foo-bar component is instantiated and rendered, we have already used the value foo from the parent context to populate the {{foo}} curly. However, in its constructor, it was trying to modify the same value, hence. "backtracking".

    This is a pretty extreme example, but it illustrates the problem. Besides init, didInitAttrs, didReceiveAttrs, willInsertElement and willRender also happens synchronously during the rendering process. Additionally, backtracking is often an issue arising from the behavior of two-way bound properties.

    This behavior has always been unreliable, but was partially supported with a deprecation (since Ember 1.13):

    You modified ApplicationController.foo twice in a single render. This was unreliable in Ember 1.x and will be removed in Ember 3.0
    

    Since 1.13, Ember supported this by immediately doing a second re-render when backtracking was detected (and then repeating until the system stabilizes). This strategy itself could be a source of performance problems. In extreme cases, this could cause an infinite loop.

    In Glimmer 2, while the extra re-render is relatively cheap, the extra book-keeping to detect a backtracking set is not. One of the wins of the Glimmer 2 system is that it does not need to eagerly setup observers to track changes. Further, certain optimizations in Glimmer 2 allows the system to skip traversing subtrees when it knows nothing within it has changed.

    Together, these factors mean that we can not readily detect these backtracking sets (or whether something was "already rendered" or not) without doing a large amount of extra book-keeping and intentionally defeating these optimizations.

    We already wrote the code to support this, but due to the already unreliable nature of the feature, and the (very significant) book-keeping costs, we are hesitant to automatically enable them for everyone without knowing whether it is still needed.

    As a compromise, we currently only perform the detection in development mode and turned the deprecation message into a development-mode assertion (hard error). In production mode, the detection code is stripped and backtracking will not work.

    We have kept the facility to support this feature (without the assertion) in the codebase behind a second feature flag. The code is being tested continuously on CI, however, is disabled by default until we have enough usage information to determine next steps.

    If you believe you have usage patterns that are affected by this, please provide as much detail about your scenario as possible below. It is very possible that there can be alternatives and/or targeted solutions we can use that do not require a wholesale change to the engine. Therefore, it would be helpful if you provide background information and context about your usage instead of just showing us small code snippets from your codebase.

    Ember 2.10 Inactive 
    opened by chancancode 63
  • [REGRESSION] In 1.13.2 `{{#each}}` fails with duplicate values

    [REGRESSION] In 1.13.2 `{{#each}}` fails with duplicate values

    http://emberjs.jsbin.com/hedunosumi/edit?html,js,console,output

    Might be a duplicate of https://github.com/emberjs/ember.js/issues/11504

    has https://github.com/emberjs/ember.js/pull/11525 landed in 1.13.2 yet?

    Regression 
    opened by seanpdoyle 62
  • Implement deprecation of `@ember/string` per RFC

    Implement deprecation of `@ember/string` per RFC

    I'm attempting to implement the long-ago RFC'd deprecation of the internal @ember/string package in place of the published addon @ember/string.

    This issue is to summarize what I find:

    There was an aborted attempt to deprecate import { htmlSafe, isHTMLSafe } from '@ember/string' (with the new import being import { htmlSafe, isHTMLSafe } from@ember/template`).

    Current status, on a newly generated app on 4.9.3:

    import { htmlSafe } from `@ember/string`;
    htmlSafe('foo'); // errors (0, _string.htmlSafe) is not a function
    
    import { htmlSafe } from `@ember/template`;
    htmlSafe('foo'); // success
    

    On a newly generated app on 4.9.3, with ember-data removed:

    import { htmlSafe } from `@ember/string`;
    htmlSafe('foo') // success
    
    import { htmlSafe } from `@ember/template`;
    htmlSafe('foo'); // success
    

    If the addon @ember/string is included, it clobbers the internal @ember/string. To solve this, htmlSafe and isHTMLSafe should be added to the addon @ember/string with deprecations pointing to the imports from @ember/template. I have confirmed that the deprecations, when added back to the internal @ember/string, do not trigger when using the @ember/template imports (this was the original issue that led to the deprecation being backed out).

    The htmlSafe/isHTMLSafe import from @ember/template was added in 3.8.

    Todo

    • [x] Add htmlSafe and isHTMLSafe to the addon @ember/string with errors pointing to the imports from @ember/template. https://github.com/emberjs/ember-string/pull/367
    • [x] https://github.com/emberjs/ember.js/pull/20341
    • [ ] Ember.String.htmlSafe (and all other methods) are still available on Ember when doing import Ember from 'ember'. Deprecate accessing String on the global import.
    • [ ] Deprecate the methods on internal @ember/string, tell users to add addon https://github.com/emberjs/ember.js/pull/20344
    • [ ] Ember.STRINGS????
    opened by kategengler 0
  • Bump @typescript-eslint/eslint-plugin from 5.38.0 to 5.47.1

    Bump @typescript-eslint/eslint-plugin from 5.38.0 to 5.47.1

    Bumps @typescript-eslint/eslint-plugin from 5.38.0 to 5.47.1.

    Release notes

    Sourced from @​typescript-eslint/eslint-plugin's releases.

    v5.47.1

    5.47.1 (2022-12-26)

    Bug Fixes

    • ast-spec: correct some incorrect ast types (#6257) (0f3f645)
    • eslint-plugin: [member-ordering] correctly invert optionalityOrder (#6256) (ccd45d4)

    v5.47.0

    5.47.0 (2022-12-19)

    Features

    • eslint-plugin: [no-floating-promises] add suggestion fixer to add an 'await' (#5943) (9e35ef9)

    v5.46.1

    5.46.1 (2022-12-12)

    Note: Version bump only for package @​typescript-eslint/typescript-eslint

    v5.46.0

    5.46.0 (2022-12-08)

    Bug Fixes

    • eslint-plugin: [ban-types] update message to suggest object instead of Record<string, unknown> (#6079) (d91a5fc)

    Features

    • eslint-plugin: [prefer-nullish-coalescing] logic and test for strict null checks (#6174) (8a91cbd)

    v5.45.1

    5.45.1 (2022-12-05)

    Bug Fixes

    • eslint-plugin: [keyword-spacing] unexpected space before/after in import type (#6095) (98caa92)
    • eslint-plugin: [no-shadow] add call and method signatures to ignoreFunctionTypeParameterNameValueShadow (#6129) (9d58b6b)
    • eslint-plugin: [prefer-optional-chain] collect MetaProperty type (#6083) (d7114d3)
    • eslint-plugin: [sort-type-constituents, sort-type-union-intersection-members] handle some required parentheses cases in the fixer (#6118) (5d49d5d)
    • parser: remove the jsx option requirement for automatic jsx pragma resolution (#6134) (e777f5e)

    v5.45.0

    5.45.0 (2022-11-28)

    ... (truncated)

    Changelog

    Sourced from @​typescript-eslint/eslint-plugin's changelog.

    5.47.1 (2022-12-26)

    Bug Fixes

    • ast-spec: correct some incorrect ast types (#6257) (0f3f645)
    • eslint-plugin: [member-ordering] correctly invert optionalityOrder (#6256) (ccd45d4)

    5.47.0 (2022-12-19)

    Features

    • eslint-plugin: [no-floating-promises] add suggestion fixer to add an 'await' (#5943) (9e35ef9)

    5.46.1 (2022-12-12)

    Note: Version bump only for package @​typescript-eslint/eslint-plugin

    5.46.0 (2022-12-08)

    Bug Fixes

    • eslint-plugin: [ban-types] update message to suggest object instead of Record<string, unknown> (#6079) (d91a5fc)

    Features

    • eslint-plugin: [prefer-nullish-coalescing] logic and test for strict null checks (#6174) (8a91cbd)

    5.45.1 (2022-12-05)

    Bug Fixes

    • eslint-plugin: [keyword-spacing] unexpected space before/after in import type (#6095) (98caa92)
    • eslint-plugin: [no-shadow] add call and method signatures to ignoreFunctionTypeParameterNameValueShadow (#6129) (9d58b6b)
    • eslint-plugin: [prefer-optional-chain] collect MetaProperty type (#6083) (d7114d3)
    • eslint-plugin: [sort-type-constituents, sort-type-union-intersection-members] handle some required parentheses cases in the fixer (#6118) (5d49d5d)

    5.45.0 (2022-11-28)

    Bug Fixes

    • eslint-plugin: [array-type] --fix flag removes parentheses from type (#5997) (42b33af)
    • eslint-plugin: [keyword-spacing] prevent crash on no options (#6073) (1f19998)
    • eslint-plugin: [member-ordering] support private fields (#5859) (f02761a)
    • eslint-plugin: [prefer-readonly] report if a member's property is reassigned (#6043) (6e079eb)

    Features

    • eslint-plugin: [member-ordering] add a required option for required vs. optional member ordering (#5965) (2abadc6)

    5.44.0 (2022-11-21)

    ... (truncated)

    Commits
    • 6ffce79 chore: publish v5.47.1
    • 0f3f645 fix(ast-spec): correct some incorrect ast types (#6257)
    • ccd45d4 fix(eslint-plugin): [member-ordering] correctly invert optionalityOrder (#6256)
    • a2c08ba chore: publish v5.47.0
    • 9e35ef9 feat(eslint-plugin): [no-floating-promises] add suggestion fixer to add an 'a...
    • 6b3ed1d docs: fixed typo "foo.property" (#6180)
    • c943b84 chore: publish v5.46.1
    • 47241bb docs: overhaul branding and add new logo (#6147)
    • 1e1573a chore: publish v5.46.0
    • d91a5fc fix(eslint-plugin): [ban-types] update message to suggest object instead of...
    • Additional commits viewable 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)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump puppeteer from 13.5.1 to 19.4.1

    Bump puppeteer from 13.5.1 to 19.4.1

    Bumps puppeteer from 13.5.1 to 19.4.1.

    Release notes

    Sourced from puppeteer's releases.

    puppeteer-core: v19.4.1

    19.4.1 (2022-12-16)

    Bug Fixes

    • improve a11y snapshot handling if the tree is not correct (#9405) (02fe501), closes #9404
    • remove oopif expectations and fix oopif flakiness (#9375) (810e0cd)

    puppeteer: v19.4.1

    19.4.1 (2022-12-16)

    Miscellaneous Chores

    • puppeteer: Synchronize puppeteer versions

    Dependencies

    • The following workspace dependencies were updated
      • dependencies
        • puppeteer-core bumped from 19.4.0 to 19.4.1

    puppeteer-core: v19.4.0

    19.4.0 (2022-12-07)

    Features

    • ability to send headers via ws connection to browser in node.js environment (#9314) (937fffa), closes #7218
    • chromium: roll to Chromium 109.0.5412.0 (r1069273) (#9364) (1875da6), closes #9233
    • puppeteer-core: keydown supports commands (#9357) (b7ebc5d)

    Bug Fixes

    puppeteer: v19.4.0

    19.4.0 (2022-12-07)

    Features

    Dependencies

    ... (truncated)

    Commits
    • 848c849 chore: release main (#9395)
    • fe986c6 chore: trigger reindexing on doc deployment (#9425)
    • f0951aa docs: use a number of documented versions for indexing (#9424)
    • 68c53df chore(deps): Bump loader-utils from 2.0.2 to 2.0.4 in /website (#9423)
    • 69b03df chore(deps): Bump @​angular-devkit/schematics from 15.0.3 to 15.0.4 (#9420)
    • fa05a1c chore(deps): Bump @​angular-devkit/core from 15.0.3 to 15.0.4 (#9414)
    • 0f0e717 chore(deps): Bump @​angular-devkit/architect from 0.1402.10 to 0.1500.4 (#9415)
    • cd073ab chore(deps): Bump ws from 8.10.0 to 8.11.0 (#9412)
    • cd8eec3 chore(deps): Bump @​angular-devkit/schematics from 14.2.8 to 15.0.3 (#9413)
    • 28cedac chore: Revert Dependabot config (#9411)
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by google-wombot, a new releaser for puppeteer since your current version.


    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)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump semver from 7.3.7 to 7.3.8

    Bump semver from 7.3.7 to 7.3.8

    Bumps semver from 7.3.7 to 7.3.8.

    Release notes

    Sourced from semver's releases.

    v7.3.8

    7.3.8 (2022-10-04)

    Bug Fixes

    Documentation

    Changelog

    Sourced from semver's changelog.

    7.3.8 (2022-10-04)

    Bug Fixes

    Documentation

    Commits
    • dc0fe20 chore: release 7.3.8 (#486)
    • 40f7dfc chore(ci): dont set workspaces flag for tests (#487)
    • d8ef32c fix: add support for node.js esm auto exports (#383)
    • 7209b14 docs: update range.js comments to clarify the caret ranges examples (#477)
    • 6010883 chore: postinstall for dependabot template-oss PR
    • 802a66d chore: bump @​npmcli/template-oss from 4.3.2 to 4.4.4
    • f97d600 chore: bump @​npmcli/template-oss from 3.6.0 to 4.3.2
    • bce4258 chore: postinstall for dependabot template-oss PR
    • 7d28971 chore: bump @​npmcli/template-oss from 3.5.0 to 3.6.0
    • e9a1f26 chore: bump @​npmcli/template-oss from 3.4.2 to 3.4.3 (#457)
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by gar, a new releaser for semver since your current version.


    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)
    dependencies javascript 
    opened by dependabot[bot] 0
Releases(v4.10.0-beta.5)
A JavaScript Framework for Building Brilliant Applications

mithril.js What is Mithril? Installation Documentation Getting Help Contributing What is Mithril? A modern client-side JavaScript framework for buildi

null 13.5k Dec 26, 2022
A framework for real-time applications and REST APIs with JavaScript and TypeScript

A framework for real-time applications and REST APIs with JavaScript and TypeScript Feathers is a lightweight web-framework for creating real-time app

Feathers 14.2k Dec 28, 2022
The tiny framework for building hypertext applications.

Hyperapp The tiny framework for building hypertext applications. Do more with less—We have minimized the concepts you need to learn to get stuff done.

Jorge Bucaran 18.9k Jan 4, 2023
MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers

Derby The Derby MVC framework makes it easy to write realtime, collaborative applications that run in both Node.js and browsers. Derby includes a powe

DerbyJS 4.7k Dec 31, 2022
JavaScript UI library for data-driven web applications

Road to 2.0 The master branch has new, in-progress version of w2ui. You might want to consider 1.5 branch that is stable and supports older browsers.

Vitali Malinouski 2.4k Jan 3, 2023
Lightweight MVC library for building JavaScript applications

Spine Spine is a lightweight MVC library for building JavaScript web applications. Spine gives you structure and then gets out of your way, allowing y

Spine JS Project 3.6k Jan 4, 2023
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

Supporting Vue.js Vue.js is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome ba

vuejs 201.7k Jan 8, 2023
The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.

Bootstrap Sleek, intuitive, and powerful front-end framework for faster and easier web development. Explore Bootstrap docs » Report bug · Request feat

Bootstrap 161.1k Jan 4, 2023
A no-dependency, intuitive web framework from scratch in Javascript

Poseidon ?? Intro Poseidon is, to use a nice description by Reef, an anti-framework. It's a a no-dependency, component-based Javascript framework for

Amir Bolous 45 Nov 14, 2022
Plain functions for a more functional Deku approach to creating stateless React components, with functional goodies such as compose, memoize, etc... for free.

"Keo" is the Vietnamese translation for glue. Plain functions for a more functional Deku approach to creating stateless React components, with functio

Adam Timberlake 225 Sep 24, 2022
An open-source, self-hosted, low-code framework to build internal tools, web apps, admin panels, BI dashboards, workflows, and CRUD apps with YAML or JSON.

An open-source, self-hosted, low-code framework to build internal tools, web apps, admin panels, BI dashboards, workflows, and CRUD apps with YAML or JSON.

Lowdefy 2k Jan 4, 2023
HTML Framework that allows you not to write JavaScript code.

EHTML (or Extended HTML) can be described as a set of custom elements that you can put on HTML page for different purposes and use cases. The main ide

Guseyn Ismayylov 171 Dec 29, 2022
A rugged, minimal framework for composing JavaScript behavior in your markup.

Alpine.js Alpine.js offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost. You get to keep your DOM,

Alpine.js 22.5k Dec 30, 2022
hell.js 🚀 🚀 A JavaScript framework for the 🔥 next 🔥 generation. 🚀

hell.js ?? ?? A JavaScript framework for the ?? next ?? generation. ??

null 31 Oct 3, 2022
The worlds smallest fully-responsive css framework

FLUIDITY A fully responsive css framework that is impossibly small HTML is almost 100% responsive out of the box. This stylesheet patches the remainin

murmurs 1.1k Sep 24, 2022
An HTML5/CSS3 framework used at SAPO for fast and efficient website design and prototyping

Welcome to Ink Ink is an interface kit for quick development of web interfaces, simple to use and expand on. It uses a combination of HTML, CSS and Ja

SAPO 1.9k Dec 15, 2022
One framework. Mobile & desktop.

Angular - One framework. Mobile & desktop. Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScr

Angular 85.7k Jan 4, 2023
A framework for building native apps with React.

React Native Learn once, write anywhere: Build mobile apps with React. Getting Started · Learn the Basics · Showcase · Contribute · Community · Suppor

Facebook 106.8k Jan 3, 2023