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
  • 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
  • Bump testem from 3.10.0 to 3.10.1

    Bump testem from 3.10.0 to 3.10.1

    Bumps testem from 3.10.0 to 3.10.1.

    Release notes

    Sourced from testem's releases.

    v3.10.1

    What's Changed

    New Contributors

    Full Changelog: https://github.com/testem/testem/compare/v3.10.0...v3.10.1

    Commits
    • 07e30b3 3.10.1
    • 689efe3 Merge pull request #1615 from stepankuzmin/better-scope-testem-assets
    • aaedf92 Scope testem assets with a prefix
    • 0547c70 build(deps-dev): bump sinon from 15.0.0 to 15.0.1 (#1617)
    • 92e43c5 build(deps-dev): bump eslint from 8.28.0 to 8.30.0 (#1616)
    • a52c421 build(deps-dev): bump socket.io-client from 4.5.3 to 4.5.4 (#1610)
    • 243bdae build(deps-dev): bump sinon from 14.0.2 to 15.0.0 (#1611)
    • 4576baa build(deps): bump socket.io from 4.5.3 to 4.5.4 (#1609)
    • 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)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump aws-sdk from 2.1245.0 to 2.1286.0

    Bump aws-sdk from 2.1245.0 to 2.1286.0

    Bumps aws-sdk from 2.1245.0 to 2.1286.0.

    Release notes

    Sourced from aws-sdk's releases.

    Release v2.1286.0

    See changelog for more information.

    Release v2.1285.0

    See changelog for more information.

    Release v2.1284.0

    See changelog for more information.

    Release v2.1283.0

    See changelog for more information.

    Release v2.1282.0

    See changelog for more information.

    Release v2.1281.0

    See changelog for more information.

    Release v2.1280.0

    See changelog for more information.

    Release v2.1279.0

    See changelog for more information.

    Release v2.1278.0

    See changelog for more information.

    Release v2.1277.0

    See changelog for more information.

    Release v2.1276.0

    See changelog for more information.

    Release v2.1275.0

    See changelog for more information.

    Release v2.1274.0

    See changelog for more information.

    Release v2.1273.0

    See changelog for more information.

    Release v2.1272.0

    See changelog for more information.

    Release v2.1271.0

    See changelog for more information.

    Release v2.1270.0

    See changelog for more information.

    ... (truncated)

    Changelog

    Sourced from aws-sdk's changelog.

    2.1286.0

    • feature: CloudFront: Extend response headers policy to support removing headers from viewer responses

    2.1285.0

    • feature: EMR: Added GetClusterSessionCredentials API to allow Amazon SageMaker Studio to connect to EMR on EC2 clusters with runtime roles and AWS Lake Formation-based access control for Apache Spark, Apache Hive, and Presto queries.
    • feature: SecretsManager: Added owning service filter, include planned deletion flag, and next rotation date response parameter in ListSecrets.
    • feature: Wisdom: This release extends Wisdom CreateContent and StartContentUpload APIs to support PDF and MicrosoftWord docx document uploading.

    2.1284.0

    • feature: ElastiCache: This release allows you to modify the encryption in transit setting, for existing Redis clusters. You can now change the TLS configuration of your Redis clusters without the need to re-build or re-provision the clusters or impact application availability.
    • feature: NetworkFirewall: AWS Network Firewall now provides status messages for firewalls to help you troubleshoot when your endpoint fails.
    • feature: RDS: This release adds support for Custom Engine Version (CEV) on RDS Custom SQL Server.
    • feature: Route53RecoveryControlConfig: Added support for Python paginators in the route53-recovery-control-config List* APIs.

    2.1283.0

    • feature: MemoryDB: This release adds support for MemoryDB Reserved nodes which provides a significant discount compared to on-demand node pricing. Reserved nodes are not physical nodes, but rather a billing discount applied to the use of on-demand nodes in your account.
    • feature: Transfer: Add additional operations to throw ThrottlingExceptions

    2.1282.0

    • feature: Connect: Support for Routing Profile filter, SortCriteria, and grouping by Routing Profiles for GetCurrentMetricData API. Support for RoutingProfiles, UserHierarchyGroups, and Agents as filters, NextStatus and AgentStatusName for GetCurrentUserData. Adds ApproximateTotalCount to both APIs.
    • feature: ConnectParticipant: Amazon Connect Chat introduces the Message Receipts feature. This feature allows agents and customers to receive message delivered and read receipts after they send a chat message.
    • feature: Detective: This release adds a missed AccessDeniedException type to several endpoints.
    • feature: FSx: Fix a bug where a recent release might break certain existing SDKs.
    • feature: Inspector2: Amazon Inspector adds support for scanning NodeJS 18.x and Go 1.x AWS Lambda function runtimes.

    2.1281.0

    • feature: ComputeOptimizer: This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for ecs services running on Fargate.
    • feature: Connect: Amazon Connect Chat introduces the Idle Participant/Autodisconnect feature, which allows users to set timeouts relating to the activity of chat participants, using the new UpdateParticipantRoleConfig API.
    • feature: IotDeviceAdvisor: This release adds the following new features: 1) Documentation updates for IoT Device Advisor APIs. 2) Updated required request parameters for IoT Device Advisor APIs. 3) Added new service feature: ability to provide the test endpoint when customer executing the StartSuiteRun API.
    • feature: KinesisVideoWebRTCStorage: Amazon Kinesis Video Streams offers capabilities to stream video and audio in real-time via WebRTC to the cloud for storage, playback, and analytical processing. Customers can use our enhanced WebRTC SDK and cloud APIs to enable real-time streaming, as well as media ingestion to the cloud.
    • feature: RDS: Add support for managing master user password in AWS Secrets Manager for the DBInstance and DBCluster.

    2.1280.0

    • feature: Connect: Amazon Connect Chat now allows for JSON (application/json) message types to be sent as part of the initial message in the StartChatContact API.
    • feature: ConnectParticipant: Amazon Connect Chat now allows for JSON (application/json) message types to be sent in the SendMessage API.
    • feature: LicenseManagerLinuxSubscriptions: AWS License Manager now offers cross-region, cross-account tracking of commercial Linux subscriptions on AWS. This includes subscriptions purchased as part of EC2 subscription-included AMIs, on the AWS Marketplace, or brought to AWS via Red Hat Cloud Access Program.
    • feature: Macie2: This release adds support for analyzing Amazon S3 objects that use the S3 Glacier Instant Retrieval (Glacier_IR) storage class.
    • feature: SageMaker: This release enables adding RStudio Workbench support to an existing Amazon SageMaker Studio domain. It allows setting your RStudio on SageMaker environment configuration parameters and also updating the RStudioConnectUrl and RStudioPackageManagerUrl parameters for existing domains
    • feature: Scheduler: Updated the ListSchedules and ListScheduleGroups APIs to allow the NamePrefix field to start with a number. Updated the validation for executionRole field to support any role name.
    • feature: Transfer: This release adds support for Decrypt as a workflow step type.

    2.1279.0

    • feature: Batch: Adds isCancelled and isTerminated to DescribeJobs response.
    • feature: EC2: Adds support for pagination in the EC2 DescribeImages API.
    • feature: LookoutEquipment: This release adds support for listing inference schedulers by status.
    • feature: MediaLive: This release adds support for two new features to AWS Elemental MediaLive. First, you can now burn-in timecodes to your MediaLive outputs. Second, we now now support the ability to decode Dolby E audio when it comes in on an input.
    • feature: Nimble: Amazon Nimble Studio now supports configuring session storage volumes and persistence, as well as backup and restore sessions through launch profiles.
    • feature: ResourceExplorer2: Documentation updates for AWS Resource Explorer.
    • feature: Route53Domains: Use Route 53 domain APIs to change owner, create/delete DS record, modify IPS tag, resend authorization. New: AssociateDelegationSignerToDomain, DisassociateDelegationSignerFromDomain, PushDomain, ResendOperationAuthorization. Updated: UpdateDomainContact, ListOperations, CheckDomainTransferability.
    • feature: SageMaker: Amazon SageMaker Autopilot adds support for new objective metrics in CreateAutoMLJob API.

    ... (truncated)

    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)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump @typescript-eslint/parser from 5.38.1 to 5.47.1

    Bump @typescript-eslint/parser from 5.38.1 to 5.47.1

    Bumps @typescript-eslint/parser from 5.38.1 to 5.47.1.

    Release notes

    Sourced from @​typescript-eslint/parser'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/parser's changelog.

    5.47.1 (2022-12-26)

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

    5.47.0 (2022-12-19)

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

    5.46.1 (2022-12-12)

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

    5.46.0 (2022-12-08)

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

    5.45.1 (2022-12-05)

    Bug Fixes

    • parser: remove the jsx option requirement for automatic jsx pragma resolution (#6134) (e777f5e)

    5.45.0 (2022-11-28)

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

    5.44.0 (2022-11-21)

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

    5.43.0 (2022-11-14)

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

    5.42.1 (2022-11-07)

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

    5.42.0 (2022-10-31)

    Features

    Reverts

    5.41.0 (2022-10-24)

    ... (truncated)

    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)
    dependencies javascript 
    opened by dependabot[bot] 0
Releases(v4.10.0-beta.5)
Relay is a JavaScript framework for building data-driven React applications.

Relay · Relay is a JavaScript framework for building data-driven React applications. Declarative: Never again communicate with your data store using a

Facebook 17.5k Jan 1, 2023
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 28, 2022
Frontend framework for creating reactive UIs using direct DOM manipulation. (WIP)

Cosmos Framework A frontend framework for creating reactive UIs using direct DOM manipulation. (Heavily WIP) How to get started with Cosmos Framework

CosmicMedia 5 Nov 6, 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 1, 2023
Dojo Framework. A Progressive Framework for Modern Web Apps

@dojo/framework Dojo is a progressive framework for modern web applications built with TypeScript. Visit us at dojo.io for documentation, tutorials, c

Dojo 549 Dec 25, 2022
Tiny (2 KB) turboboosted JavaScript library for creating user interfaces.

Develop web applications with 100% JavaScript and web standards. ?? RE:DOM is a tiny (2 KB) UI library by Juha Lindstedt and contributors, which adds

RE:DOM 3.2k Jan 3, 2023
OpenUI5 lets you build enterprise-ready web applications, responsive to all devices, running on almost any browser of your choice.

OpenUI5. Build Once. Run on any device. What is it? OpenUI5 lets you build enterprise-ready web applications, responsive to all devices, running on al

SAP 2.7k Dec 31, 2022
🖖 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.6k Jan 7, 2023
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

vue-next This is the repository for Vue 3.0. Quickstart Via CDN: <script src="https://unpkg.com/vue@next"></script> In-browser playground on Codepen S

vuejs 34.6k Jan 4, 2023
CrossUI is a free Cross-Browser Javascript framework with cutting-edge functionality for rich web application

CrossUI is a free Cross-Browser Javascript framework with cutting-edge functionality for rich web application

Jack Li 1.4k Jan 3, 2023
A small jQuery plugin that will automatically cast a shadow creating depth for your flat UI elements

#Flat Shadow by Pete R. A small jQuery plugin that will automatically cast a shadow creating depth for your flat UI elements Created by Pete R., Found

Pete R. 482 Dec 18, 2022
The AMP web component framework.

AMP ⚡ ⚡ ⚡ ⚡ Metrics Tooling AMP is a web component framework for easily creating user-first websites, stories, ads, emails and more. AMP is an open so

AMP 14.9k Jan 4, 2023
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 Jan 2, 2023
A modest JavaScript framework for the HTML you already have

Stimulus A modest JavaScript framework for the HTML you already have Stimulus is a JavaScript framework with modest ambitions. It doesn't seek to take

Hotwire 11.7k Dec 29, 2022
A functional and reactive JavaScript framework for predictable code

Cycle.js A functional and reactive JavaScript framework for predictable code Website | Packages | Contribute | Chat | Support Welcome Question Answer

Cycle.js 10.2k Jan 4, 2023
A Web Component compiler for building fast, reusable UI components and static site generated Progressive Web Apps

Stencil: A Compiler for Web Components and PWAs npm init stencil Stencil is a simple compiler for generating Web Components and static site generated

Ionic 11.3k Jan 4, 2023
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.6k Dec 31, 2022
🌱 React and redux based, lightweight and elm-style framework. (Inspired by elm and choo)

English | 简体中文 dva Lightweight front-end framework based on redux, redux-saga and react-router. (Inspired by elm and choo) Features Easy to learn, eas

null 16.1k Jan 4, 2023