Skip to content

v1.0.0-beta.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@kbrsh kbrsh released this 09 Aug 00:32
· 94 commits to master since this release
  • d2d94fb: v1.0.0-beta.3

  • 623adb6: print test results prior to release

  • 5fabdcb: update cli logs

  • a42150c: preserve lines

  • 068479a: end sourcemap

  • 69dca46: begin sourcemap

  • ad18b76: remove type field from view nodes

    This removes the type field from view nodes and removes normalization
    from nodes during compilation. It prevents inconsistencies when using
    data fields in default components because they won't support the
    "class" -> "className" or "for" -> "htmlFor" transformation. Instead of
    that, the whole concept of types was removed because it was mainly to
    distinguish between components and nodes, but now it isn't needed.
    Instead, the type field is gone and the patch checks for name === "text"
    instead. Also, there are individual checks for "class" and "for" that
    set, update, or remove their corresponding properties.

  • 8165998: consistent modules

  • c7f2afc: simplify API and file structure

  • 3417a73: update comment wording

  • b9ac3ef: optimize static expressions

  • 20a5076: allow whitespace in parens for views

  • 4dc9630: allow views in nested parens

  • 392dc0d: add quote type

  • 21120f6: load all scripts in order

  • fcee45f: update package READMEs

  • 16a7af7: fix version in builds

  • 265252e: functional driver-based design

  • 88a997e: add node constructor in perf test

  • b1dc9c8: update comment

  • f9137b1: one-phase executor w/ event batching

  • fe4bc0a: make component execution preserve immutability

  • a5bcd3b: test locals against globals and existing locals

  • b9a219d: use child function for loops

  • 6c7dd9a: keep track of locals and remove need for $ sigil

  • ea86567: make function global

  • e5583f0: lex names manually and fix extra increment

  • 87e2222: store DOM node in remove property cache

  • 2dabfc1: exclude wrapper from coverage

  • ddc2007: fix static children skip & add time slicing tests

  • 0ab04ab: remove unneeded id

  • 6d63f65: add index tests

  • 8fbc9f7: clean up for element generator

  • 47a9c7d: executor fuzz tests

  • 124671c: prefer 'in' check vs undefined

  • a76be1e: build

  • c299d03: remove data property by setting to default value

  • 4945a16: fix replaceChild & removeDataSet

  • c6b5e19: finish assertions for executor tests

  • a5fc4cf: executor test suite

  • 1354e5e: allow using children data and attribute

  • 99b1e6f: execute created components, format with tabs, and use const

  • 5cc1f99: reuse static nodes

  • df0df7a: static element nodes + generator tests

  • 3ed1572: update contributing guide

  • 6b49118: don't merge default data on root components

  • 889a778: update summary

  • 00a2e6e: diff-patch executor

  • ee07a21: fix executor queue

  • 9e3d9c8: larger logo

  • b29c2b2: clean up readme

  • e009757: only require static children to prevent double optimization

  • 87fa3a3: consistent ordering

  • c260207: add moon DOM properties to node prototype

  • b746b3a: eager remove data from queue

  • 6069201: remove source from perf

  • d600a18: remove view current

  • b3af5f2: update jsdoc comment

  • e9a7ec4: append performance

  • 749adf3: remove wrong map in empty loop

  • dd31f99: use generator variable for loop iterator

  • 24c2e81: optimize object lookup

  • 8608982: consistent comments

  • 0819ef2: view = component(data, children)

  • 816f1bf: use constructors for nodes

  • 808ff50: view-patch executor

  • 0c3a1a8: update with default data

  • 16cbc7c: cleaner API

  • 7c1ae49: inline defaultObject

  • a6689e8: add event listeners when needed

  • 8dca414: compare type and name for replace node

  • 03ced07: two phase executor

  • c61e423: optimize default object

  • 1a75f8a: customize wrapper in & refactor lexer

  • 26ce80d: refactor set attribute updates

  • a8ff725: state based attribute lexer

  • af0a86e: allow nested text expressions

  • 45ad76f: allow nested objects in attributes

  • 9ab1f3c: support ariaset, dataset, and style attributes

  • c27bac3: remove *bind

  • a4a21b4: refactor lexer attribute conditions

  • 39af32c: add *bind syntax

  • 1bf16e8: consistent check for events

  • 96280ad: use className in MVL

  • c206837: prefer to use DOM properties

  • 7e4ea03: optimize event attribute check

  • 9d40f81: require event handler name and call with (event, data)

  • 5d5b889: use an object instead of an array for static nodes

  • 06cc9e3: use data instead of textContent

  • 3bacbfd: start renderer with old attributes

  • 4d0e4b3: allow for more flexible mvl with space attributes

  • 38ea007: refactor variable

  • f17f8c8: use new attribute shape in mvl

  • af9c57d: fix if clause condition duplicate bug

  • 9b4d608: identify static attributes correctly

  • 1b21a0f: add Moon.get

  • 7f9e660: remove old attributes

  • 65eaffe: only update text if changed

  • 7b0542d: escape text in lexer

  • 68925af: refactor error

  • f21f30f: require the root option if the component is "Root"

  • 099e60f: use development Moon for MVL compiler

  • 69e6eec: don't add classes to components

  • 6c320cd: enforce dot notation

  • ae20fdb: use dot notation

  • 421a473: consistent naming from type -> name

  • 6b46e79: update events

  • 5c90cc5: local static nodes for each component

  • 426714c: custom hot reloading no longer required

  • fb3098d: correct hot module reloading code

  • 4f643dc: lex before parse and use correct addClass reference

  • d09376d: executable comment build

  • 9ccab57: allow executable packages

  • 7cdab52: use cjs for mvl

  • ed92721: build transforms

  • 66dadb6: use modules for moon MVL

  • 72c9bdc: update MVL compiler for new Moon

  • 2dac090: use convention for moon cli

  • ae0fdb0: add object shorthand eslint option

  • 0cd9a4a: use hoist optimization in diff phase

  • cd5eb0d: add parser test for invalid children

  • dd0ced2: add lexer event tests

  • 1fff587: fix tests

  • 27f93c8: prefix default array loop iterator

  • 287aa85: hoist static nodes

  • acd98dc: add support for boolean attributes (fixes #238)

  • a51aced: allow key/value options in for element

  • dc07891: add support for empty attribute values

  • 66a82f4: use $event local

  • b823ad5: iterate through if siblings correctly and fix empty else clause text content

  • e74b36d: add for element

  • f071af6: remove fragments because they have no parent node

  • 61da3cf: add if/else-if/else elements

  • 4c28900: new convention for loops and string concat

  • e2c1ebe: add fragments and children property

  • 844ff1a: add events

  • 4008d25: scope attribute and text expressions

  • 9e5f907: keep relative start time when executing and async execute on first render

  • fcebc09: async execution of next set of phases

  • 0af6175: add expression scoping to data

  • ef8ecc9: 16ms frame duration

  • 1a5ccc7: 12ms frames

  • e980c3a: add global execution queue

  • b3caaf6: simplify component view executor

  • 78c0a58: correctly cancel animation frame

  • b0fa4a5: allow interruptible updates, and use shallow data merge

  • 7e6c938: complete async executor implementation

  • d9789ad: dont set children attribute

  • e1a0c21: diff & patch phases

  • 51af06d: basic generator

  • 50d16b2: don't check loops for constant conditions

  • 0f88802: begin first phase of three phase executor

  • f438d36: introduce a functional API

  • b61a202: async executor

  • eb32ee6: basic working executor

  • cde0298: begin bytecode generator

  • 254411b: fix comment

  • dfe48dc: remove transform system

  • 9b50397: add basic transform with time slicing

  • e0aa8ea: correct type for view

  • bacde1e: document onTransform

  • 8bee151: begin work on instance methods

  • c4827e7: accurate error messages and tests

  • e3b9b04: add lexer error for invalid tags

  • f29859f: cleaner tests for errors

  • aa6c5a7: cleanup env checks

  • 64a02fe: remove development checks in production

  • d73333f: add lexer errors and remove extra babel configuration

  • 154e804: revert changes

  • dd9d521: tokenString -> stringToken

  • b15297b: more consistent variable names

  • 6bddb8e: consistent variable names

  • 1900dfa: add basic Moon instance tests

  • dc94f82: remove testing race condition

  • 4a3ac07: test in development and production

  • 3de8daf: remove errors from production build

  • fe8149e: add lexer tests

  • 7d93cef: update tests for parse errors

  • adf54c6: remove marks due to complexity of newlines

  • 459389a: correctly format text and attribute tokens

  • 3f5e63a: add note about parse errors

  • 4446e0d: add parse errors

  • a24b21b: setup parser structure for errors

  • 6511d42: remove useless header comment

  • 3257d92: clarify return logic

  • a477ef3: update information on Moon

  • 4642235: rewrite Moon instance logic

  • 9d5a3f3: use correct comment formatting

  • 68dbca3: explain the parser

  • f3cbbe5: build with new lexer

  • 39d423a: comment the lexer

  • dbd5e00: remove uglify unicode output

  • 80480ec: fix release paths

  • 1d04a8f: update release paths

  • f59e650: use latest node version for travis

  • 81dff66: code coverage

  • db03f20: correct minified versions

  • 1ebd492: 2019

  • 5e22c80: modular build and test

  • ef3d504: fix travis with valid YAML

  • b646199: hopefully fix travis config

  • e699901: fix indentation

  • b50df57: fix travis config

  • 73faaf7: new infrastructure, rewrite lexer and parser

  • 322d1bd: remove data function from mvl

  • 9342602: require data

  • 67b32ae: component init

  • 901f872: split up download instructions

  • eae52cf: update npm build