diff --git a/HISTORY.md b/HISTORY.md index 7ae4498cc..4f44cf6da 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,24 @@ +## v2.6.0, 2022-April-13 + +* [#330](https://github.com/meteor/blaze/pull/330) Removed deprecated APIs from before Meteor 1.0 + * This is potentially breaking, especially for old packages and apps. + * `blaze-html-templates@2.0.0` + * Dependency on `ui` and `spacebars` package has been removed + * `spacebars@1.3.0` + * `Spacebars.TemplateWith` has been removed, please use `Blaze._TemplateWith` if you need it. + * `blaze@2.6.0` + * `Blaze.InOuterTemplateScope` has been removed, if you need it, you can use `Blaze._InOuterTemplateScope` + * `templating-runtime@1.6.0` + * `Template.__define__` has been removed + * `UI.body` has been removed, you should be using `Template.body` + * `Template.__body__` has been removed, you should be using `Template.body` + * `Template.__body__.__contentParts` has been removed, you should be using `Template.body.contentViews` + * `Template.__body__.__instantiate` has been removed, you should be using `Template.body.renderToDocument` +* [#341](https://github.com/meteor/blaze/pull/341) Add support for arbitrary iterables in #each templates +* [#358](https://github.com/meteor/blaze/pull/358) Make Template.contentBlock consistent with/out data provided +* [#359](https://github.com/meteor/blaze/pull/359) Underscore has been removed from observe sequence +* Updated testing dependencies + ## v2.5.0, 2021-June-5 * [#331](https://github.com/meteor/blaze/pull/331) Remove underscore and all of its methods in the code diff --git a/packages/blaze-hot/package.js b/packages/blaze-hot/package.js index 6deb84557..f4cad2c35 100644 --- a/packages/blaze-hot/package.js +++ b/packages/blaze-hot/package.js @@ -1,7 +1,7 @@ Package.describe({ name: 'blaze-hot', summary: "Update files using Blaze's API with HMR", - version: '1.1.0', + version: '1.1.1', git: 'https://github.com/meteor/blaze.git', documentation: null, debugOnly: true @@ -10,8 +10,8 @@ Package.describe({ Package.onUse(function (api) { api.use('modules@0.16.0'); api.use('ecmascript@0.15.1'); - api.use('blaze@2.5.0'); - api.use('templating-runtime@1.4.0'); + api.use('blaze@2.6.0'); + api.use('templating-runtime@1.6.0'); api.use('hot-module-replacement@0.2.0', { weak: true }); api.addFiles('hot.js', 'client'); diff --git a/packages/blaze-html-templates/package.js b/packages/blaze-html-templates/package.js index dfe5a863b..99341411d 100644 --- a/packages/blaze-html-templates/package.js +++ b/packages/blaze-html-templates/package.js @@ -1,7 +1,7 @@ Package.describe({ name: 'blaze-html-templates', summary: "Compile HTML templates into reactive UI with Meteor Blaze", - version: '1.2.1', + version: '2.0.0', git: 'https://github.com/meteor/blaze.git' }); @@ -10,12 +10,6 @@ Package.onUse(function(api) { // A library for reactive user interfaces 'blaze@2.5.0', - // The following packages are basically empty shells that just exist to - // satisfy code checking for the existence of a package. Rest assured that - // they are not adding any bloat to your bundle. - 'ui@1.0.13', // XXX COMPAT WITH PACKAGES BUILT FOR 0.9.0. - 'spacebars@1.2.0', // XXX COMPAT WITH PACKAGES BUILT FOR 0.9.0 - // Compile .html files into Blaze reactive views 'templating@1.4.1' ]); diff --git a/packages/blaze-tools/package.js b/packages/blaze-tools/package.js index 81c24c326..7e9722bfd 100644 --- a/packages/blaze-tools/package.js +++ b/packages/blaze-tools/package.js @@ -1,13 +1,13 @@ Package.describe({ name: 'blaze-tools', summary: "Compile-time tools for Blaze", - version: '1.1.2', + version: '1.1.3', git: 'https://github.com/meteor/blaze.git' }); Package.onUse(function (api) { api.use('ecmascript@0.15.1'); - api.use('htmljs@1.1.0'); + api.use('htmljs@1.1.1'); api.export('BlazeTools'); api.mainModule('preamble.js'); @@ -18,7 +18,7 @@ Package.onTest(function (api) { api.use('ecmascript'); api.use('blaze-tools'); - api.use('html-tools@1.1.1'); + api.use('html-tools@1.1.3'); api.addFiles([ 'token_tests.js' diff --git a/packages/blaze/builtins.js b/packages/blaze/builtins.js index e6549aec2..0735d3cb2 100644 --- a/packages/blaze/builtins.js +++ b/packages/blaze/builtins.js @@ -353,5 +353,3 @@ Blaze._InOuterTemplateScope = function (templateView, contentFunc) { return view; }; -// XXX COMPAT WITH 0.9.0 -Blaze.InOuterTemplateScope = Blaze._InOuterTemplateScope; diff --git a/packages/blaze/lookup.js b/packages/blaze/lookup.js index 9d5f36c8e..87d427238 100644 --- a/packages/blaze/lookup.js +++ b/packages/blaze/lookup.js @@ -84,6 +84,25 @@ var wrapHelper = function (f, templateFunc) { }; }; +function _lexicalKeepGoing(currentView) { + if (!currentView.parentView) { + return undefined; + } + if (!currentView.__startsNewLexicalScope) { + return currentView.parentView; + } + if (currentView.parentView.__childDoesntStartNewLexicalScope) { + return currentView.parentView; + } + + // in the case of {{> Template.contentBlock data}} the contentBlock loses the lexical scope of it's parent, wheras {{> Template.contentBlock}} it does not + // this is because a #with sits between the include InOuterTemplateScope + if (currentView.parentView.name === "with" && currentView.parentView.parentView && currentView.parentView.parentView.__childDoesntStartNewLexicalScope) { + return currentView.parentView; + } + return undefined; +} + Blaze._lexicalBindingLookup = function (view, name) { var currentView = view; var blockHelpersStack = []; @@ -99,10 +118,7 @@ Blaze._lexicalBindingLookup = function (view, name) { return bindingReactiveVar.get(); }; } - } while (! (currentView.__startsNewLexicalScope && - ! (currentView.parentView && - currentView.parentView.__childDoesntStartNewLexicalScope)) - && (currentView = currentView.parentView)); + } while (currentView = _lexicalKeepGoing(currentView)); return null; }; diff --git a/packages/blaze/package.js b/packages/blaze/package.js index 5349f4fe3..60aa9a10f 100644 --- a/packages/blaze/package.js +++ b/packages/blaze/package.js @@ -1,7 +1,7 @@ Package.describe({ name: 'blaze', summary: "Meteor Reactive Templating library", - version: '2.5.0', + version: '2.6.0', git: 'https://github.com/meteor/blaze.git' }); @@ -27,8 +27,8 @@ Package.onUse(function (api) { 'Handlebars' ]); - api.use('htmljs@1.1.0'); - api.imply('htmljs@1.1.0'); + api.use('htmljs@1.1.1'); + api.imply('htmljs@1.1.1'); api.addFiles([ 'preamble.js' @@ -63,8 +63,8 @@ Package.onTest(function (api) { api.use('tracker@1.1.0'); api.use('blaze'); - api.use('blaze-tools@1.1.2'); // for BlazeTools.toJS - api.use('html-tools@1.1.0'); + api.use('blaze-tools@1.1.3'); // for BlazeTools.toJS + api.use('html-tools@1.1.3'); api.use('templating'); api.addFiles('view_tests.js'); diff --git a/packages/html-tools/package.js b/packages/html-tools/package.js index df1e2c988..af5d8d183 100644 --- a/packages/html-tools/package.js +++ b/packages/html-tools/package.js @@ -1,14 +1,14 @@ Package.describe({ name: 'html-tools', summary: "Standards-compliant HTML tools", - version: '1.1.2', + version: '1.1.3', git: 'https://github.com/meteor/blaze.git' }); Package.onUse(function (api) { api.use('ecmascript@0.15.1'); - api.use('htmljs@1.1.0'); - api.imply('htmljs@1.1.0'); + api.use('htmljs@1.1.1'); + api.imply('htmljs@1.1.1'); api.export('HTMLTools'); api.mainModule('main.js'); @@ -19,7 +19,7 @@ Package.onTest(function (api) { api.use('tinytest@1.1.0'); api.use('html-tools'); - api.use('htmljs@1.1.0'); + api.use('htmljs@1.1.1'); api.use('blaze-tools'); // for `toJS` api.addFiles([ diff --git a/packages/observe-sequence/observe_sequence.js b/packages/observe-sequence/observe_sequence.js index 54fbfed19..fd4a591c3 100644 --- a/packages/observe-sequence/observe_sequence.js +++ b/packages/observe-sequence/observe_sequence.js @@ -1,3 +1,17 @@ +const isObject = function (value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} +const has = function (obj, key) { + var keyParts = key.split('.'); + + return !!obj && ( + keyParts.length > 1 + ? has(obj[key.split('.')[0]], keyParts.slice(1).join('.')) + : hasOwnProperty.call(obj, key) + ); +}; + const warn = function () { if (ObserveSequence._suppressWarnings) { ObserveSequence._suppressWarnings--; @@ -15,7 +29,18 @@ const warn = function () { // subclassed arrays: instanceof Array === true, _.isArray(arr) === false // see specific tests function isArray(arr) { - return arr instanceof Array || _.isArray(arr); + return arr instanceof Array || Array.isArray(arr); +} + +// isIterable returns trues for objects implementing iterable protocol, +// except strings, as {{#each 'string'}} doesn't make much sense. +// Requires ES6+ and does not work in IE (but degrades gracefully). +// Does not support the `length` + index protocol also supported by Array.from +function isIterable (object) { + const iter = typeof Symbol != 'undefined' && Symbol.iterator; + return iter + && object instanceof Object // note: returns false for strings + && typeof object[iter] == 'function'; // implements iterable protocol } const idStringify = MongoID.idStringify; @@ -94,7 +119,7 @@ ObserveSequence = { if (activeObserveHandle) { // If we were previously observing a cursor, replace lastSeqArray with // more up-to-date information. Then stop the old observe. - lastSeqArray = _.map(lastSeq.fetch(), function (doc) { + lastSeqArray = lastSeq.fetch().map(function (doc) { return {_id: doc._id, item: doc}; }); activeObserveHandle.stop(); @@ -110,6 +135,9 @@ ObserveSequence = { seqChangedToCursor(lastSeqArray, seq, callbacks); seqArray = result[0]; activeObserveHandle = result[1]; + } else if (isIterable(seq)) { + const array = Array.from(seq); + seqArray = seqChangedToArray(lastSeqArray, array, callbacks); } else { throw badSequenceError(seq); } @@ -139,6 +167,8 @@ ObserveSequence = { return seq; } else if (isStoreCursor(seq)) { return seq.fetch(); + } else if (isIterable(seq)) { + return Array.from(seq); } else { throw badSequenceError(seq); } @@ -200,13 +230,17 @@ function sequenceGotValue(sequence) { const badSequenceError = function (sequence) { return new Error("{{#each}} currently only accepts " + - "arrays, cursors or falsey values." + + "arrays, cursors, iterables or falsey values." + sequenceGotValue(sequence)); }; +const isFunction = (func) => { + return typeof func === "function"; +} + const isStoreCursor = function (cursor) { - return cursor && _.isObject(cursor) && - _.isFunction(cursor.observe) && _.isFunction(cursor.fetch); + return cursor && isObject(cursor) && + isFunction(cursor.observe) && isFunction(cursor.fetch); }; // Calculates the differences between `lastSeqArray` and @@ -221,11 +255,11 @@ const diffArray = function (lastSeqArray, seqArray, callbacks) { var posCur = {}; var lengthCur = lastSeqArray.length; - _.each(seqArray, function (doc, i) { + seqArray.forEach(function (doc, i) { newIdObjects.push({_id: doc._id}); posNew[idStringify(doc._id)] = i; }); - _.each(lastSeqArray, function (doc, i) { + lastSeqArray.forEach(function (doc, i) { oldIdObjects.push({_id: doc._id}); posOld[idStringify(doc._id)] = i; posCur[idStringify(doc._id)] = i; @@ -242,7 +276,7 @@ const diffArray = function (lastSeqArray, seqArray, callbacks) { if (before) { // If not adding at the end, we need to update indexes. // XXX this can still be improved greatly! - _.each(posCur, function (pos, id) { + Object.entries(posCur).forEach(function ([id, pos]) { if (pos >= position) posCur[id]++; }); @@ -285,7 +319,7 @@ const diffArray = function (lastSeqArray, seqArray, callbacks) { // 2. The element is moved back. Then the positions in between *and* the // element that is currently standing on the moved element's future // position are moved forward. - _.each(posCur, function (elCurPosition, id) { + Object.entries(posCur).forEach(function ([id, elCurPosition]) { if (oldPosition < elCurPosition && elCurPosition < newPosition) posCur[id]--; else if (newPosition <= elCurPosition && elCurPosition < oldPosition) @@ -305,7 +339,7 @@ const diffArray = function (lastSeqArray, seqArray, callbacks) { removed: function (id) { var prevPosition = posCur[idStringify(id)]; - _.each(posCur, function (pos, id) { + Object.entries(posCur).forEach(function ([id, pos]) { if (pos >= prevPosition) posCur[id]--; }); @@ -319,10 +353,12 @@ const diffArray = function (lastSeqArray, seqArray, callbacks) { prevPosition); } }); + + Object.entries(posNew).forEach(function ([idString, pos]) { - _.each(posNew, function (pos, idString) { var id = idParse(idString); - if (_.has(posOld, idString)) { + + if (has(posOld, idString)) { // specifically for primitive types, compare equality before // firing the 'changedAt' callback. otherwise, always fire it // because doing a deep EJSON comparison is not guaranteed to @@ -345,7 +381,7 @@ seqChangedToEmpty = function (lastSeqArray, callbacks) { seqChangedToArray = function (lastSeqArray, array, callbacks) { var idsUsed = {}; - var seqArray = _.map(array, function (item, index) { + var seqArray = array.map(function (item, index) { var id; if (typeof item === 'string') { // ensure not empty, since other layers (eg DomRange) assume this as well diff --git a/packages/observe-sequence/observe_sequence_tests.js b/packages/observe-sequence/observe_sequence_tests.js index 55ab55e8b..7f62a0f47 100644 --- a/packages/observe-sequence/observe_sequence_tests.js +++ b/packages/observe-sequence/observe_sequence_tests.js @@ -20,11 +20,11 @@ runOneObserveSequenceTestCase = function (test, sequenceFunc, var firedCallbacks = []; var handle = ObserveSequence.observe(sequenceFunc, { - addedAt: function () { - firedCallbacks.push({addedAt: _.toArray(arguments)}); + addedAt: function (...args) { + firedCallbacks.push({addedAt: args}); }, - changedAt: function () { - var obj = {changedAt: _.toArray(arguments)}; + changedAt: function (...args) { + var obj = {changedAt: args}; // Browsers are inconsistent about the order in which 'changedAt' // callbacks fire. To ensure consistent behavior of these tests, @@ -45,11 +45,11 @@ runOneObserveSequenceTestCase = function (test, sequenceFunc, firedCallbacks.splice(i, 0, obj); }, - removedAt: function () { - firedCallbacks.push({removedAt: _.toArray(arguments)}); + removedAt: function (...args) { + firedCallbacks.push({removedAt: args}); }, - movedTo: function () { - firedCallbacks.push({movedTo: _.toArray(arguments)}); + movedTo: function (...args) { + firedCallbacks.push({movedTo: args}); } }); @@ -69,11 +69,11 @@ runOneObserveSequenceTestCase = function (test, sequenceFunc, var commonLength = Math.min(firedCallbacks.length, expectedCallbacks.length); for (var i = 0; i < commonLength; i++) { var callback = expectedCallbacks[i]; - if (_.keys(callback).length !== 1) + if (Object.keys(callback).length !== 1) throw new Error("Callbacks should be objects with one key, eg `addedAt`"); - var callbackName = _.keys(callback)[0]; - var args = _.values(callback)[0]; - _.each(args, function (arg, argIndex) { + var callbackName = Object.keys(callback)[0]; + var args = Object.values(callback)[0]; + args.forEach(function (arg, argIndex) { if (arg && typeof arg === 'object' && 'NOT' in arg && firedCallbacks[i][callbackName]) { @@ -205,6 +205,19 @@ Tinytest.add('observe-sequence - initial data for all sequence types', function {addedAt: ["13", {_id: "13", foo: 1}, 0, null]}, {addedAt: [{NOT: "13"}, {_id: "13", foo: 2}, 1, null]} ], /*numExpectedWarnings = */1); + + // non-array iterable (empty) + if(typeof Map == 'function') runOneObserveSequenceTestCase(test, function () { + return new Map(); + }, function () {}, []); + + // non-array iterable (non-empty) + if(typeof Set == 'function') runOneObserveSequenceTestCase(test, function () { + return new Set([{foo: 1}, {bar: 2}]); + }, function () {}, [ + {addedAt: [0, {foo: 1}, 0, null]}, + {addedAt: [1, {bar: 2}, 1, null]} + ]); }); Tinytest.add('observe-sequence - array to other array', function (test) { @@ -544,7 +557,7 @@ Tinytest.add('observe-sequence - cursor to other cursor', function (test) { Tinytest.add('observe-sequence - cursor to other cursor with transform', function (test) { var dep = new Tracker.Dependency; var transform = function(doc) { - return _.extend({idCopy: doc._id}, doc); + return Object.assign({idCopy: doc._id}, doc); }; var coll = new Mongo.Collection(null, {transform: transform}); @@ -678,7 +691,7 @@ Tinytest.add('observe-sequence - vm generated number arrays', function (test) { }); Tinytest.add('observe-sequence - number arrays, _id:0 correctly handled, no duplicate ids warning #4049', function (test) { - var seq = _.map(_.range(3), function (i) { return { _id: i}; }); + var seq = [...Array(3).keys()].map(function (i) { return { _id: i}; }); var dep = new Tracker.Dependency; runOneObserveSequenceTestCase(test, function () { @@ -689,7 +702,7 @@ Tinytest.add('observe-sequence - number arrays, _id:0 correctly handled, no dupl // _id. An expression like `(item && item._id) || index` would incorrectly // return '2' for the last item because the _id is falsy (although it is not // undefined, but 0!). - seq = _.map([1, 2, 0], function (i) { return { _id: i}; }); + seq = [1, 2, 0].map(function (i) { return { _id: i}; }); dep.changed(); }, [ {addedAt: [0, {_id: 0}, 0, null]}, diff --git a/packages/observe-sequence/package.js b/packages/observe-sequence/package.js index dd11afa63..934901033 100644 --- a/packages/observe-sequence/package.js +++ b/packages/observe-sequence/package.js @@ -1,13 +1,12 @@ Package.describe({ summary: "Observe changes to various sequence types such as arrays, cursors and objects", - version: "1.0.19" + version: "1.0.20" }); Package.onUse(function (api) { api.use('tracker@1.2.0'); api.use('mongo-id@1.0.8'); // for idStringify api.use('diff-sequence@1.1.1'); - api.use('underscore@1.0.10'); api.use('random@1.2.0'); api.export('ObserveSequence'); api.addFiles(['observe_sequence.js']); @@ -17,7 +16,6 @@ Package.onTest(function (api) { api.use([ 'tinytest', 'observe-sequence', - 'underscore', 'ejson', 'tracker', 'mongo' diff --git a/packages/spacebars-compiler/package.js b/packages/spacebars-compiler/package.js index 7a9ff7d00..1b88b0bb2 100644 --- a/packages/spacebars-compiler/package.js +++ b/packages/spacebars-compiler/package.js @@ -1,7 +1,7 @@ Package.describe({ name: 'spacebars-compiler', summary: "Compiler for Spacebars template language", - version: '1.3.0', + version: '1.3.1', git: 'https://github.com/meteor/blaze.git' }); @@ -12,9 +12,9 @@ Npm.depends({ Package.onUse(function (api) { api.use('ecmascript@0.15.1'); - api.use('htmljs@1.1.0'); - api.use('html-tools@1.1.2'); - api.use('blaze-tools@1.1.2'); + api.use('htmljs@1.1.1'); + api.use('html-tools@1.1.3'); + api.use('blaze-tools@1.1.3'); api.export('SpacebarsCompiler'); diff --git a/packages/spacebars/package.js b/packages/spacebars/package.js index e0ebc0b7f..a9ba4b0e1 100644 --- a/packages/spacebars/package.js +++ b/packages/spacebars/package.js @@ -1,7 +1,7 @@ Package.describe({ name: 'spacebars', summary: "Handlebars-like template language for Meteor", - version: '1.2.0', + version: '1.3.0', git: 'https://github.com/meteor/blaze.git' }); @@ -19,7 +19,7 @@ Package.onUse(function (api) { api.export('Spacebars'); - api.use('htmljs@1.1.0'); + api.use('htmljs@1.1.1'); api.use('blaze@2.5.0'); api.addFiles([ diff --git a/packages/spacebars/spacebars-runtime.js b/packages/spacebars/spacebars-runtime.js index a7cebb77d..f02849c8d 100644 --- a/packages/spacebars/spacebars-runtime.js +++ b/packages/spacebars/spacebars-runtime.js @@ -278,6 +278,3 @@ Spacebars.With = function (argFunc, contentFunc, elseFunc) { return view; }; - -// XXX COMPAT WITH 0.9.0 -Spacebars.TemplateWith = Blaze._TemplateWith; diff --git a/packages/templating-runtime/package.js b/packages/templating-runtime/package.js index ad5a13dac..e5da34431 100644 --- a/packages/templating-runtime/package.js +++ b/packages/templating-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: 'templating-runtime', summary: "Runtime for compiled .html files", - version: '1.5.0', + version: '1.6.0', git: 'https://github.com/meteor/blaze.git', documentation: null }); @@ -23,14 +23,14 @@ Package.onUse(function (api) { // Blaze, so anybody using templating (eg apps) need to implicitly use // 'meteor' and 'blaze'. api.use([ - 'blaze@2.5.0', - 'spacebars@1.2.0', + 'blaze@2.6.0', + 'spacebars@1.2.1', 'ecmascript@0.15.1' ]); api.imply([ 'meteor@1.2.17', // TODO update - 'blaze@2.5.0', - 'spacebars@1.2.0' + 'blaze@2.6.0', + 'spacebars@1.2.1' ], 'client'); // to be able to compile dynamic.html. this compiler is used diff --git a/packages/templating-runtime/templating.js b/packages/templating-runtime/templating.js index 2da2c0056..223226310 100644 --- a/packages/templating-runtime/templating.js +++ b/packages/templating-runtime/templating.js @@ -26,18 +26,6 @@ Template.__checkName = function (name) { } }; -// XXX COMPAT WITH 0.8.3 -Template.__define__ = function (name, renderFunc) { - Template.__checkName(name); - Template[name] = new Template("Template." + name, renderFunc); - // Exempt packages built pre-0.9.0 from warnings about using old - // helper syntax, because we can. It's not very useful to get a - // warning about someone else's code (like a package on Atmosphere), - // and this should at least put a bit of a dent in number of warnings - // that come from packages that haven't been updated lately. - Template[name]._NOWARN_OLDSTYLE_HELPERS = true; -}; - // Define a template `Template.body` that renders its // `contentRenderFuncs`. `` tags (of which there may be // multiple) will have their contents added to it. @@ -175,12 +163,3 @@ Template._migrateTemplate = function (templateName, newTemplate, migrate) { Template.__checkName(templateName); Template[templateName] = newTemplate; }; - -// XXX COMPAT WITH 0.9.0 -UI.body = Template.body; - -// XXX COMPAT WITH 0.9.0 -// ( tags in packages built with 0.9.0) -Template.__body__ = Template.body; -Template.__body__.__contentParts = Template.body.contentViews; -Template.__body__.__instantiate = Template.body.renderToDocument; diff --git a/packages/templating-tools/package.js b/packages/templating-tools/package.js index afdb5d168..bba37aedb 100644 --- a/packages/templating-tools/package.js +++ b/packages/templating-tools/package.js @@ -1,7 +1,7 @@ Package.describe({ name: 'templating-tools', summary: "Tools to scan HTML and compile tags when building a templating package", - version: '1.2.1', + version: '1.2.2', git: 'https://github.com/meteor/blaze.git' }); @@ -17,7 +17,7 @@ Package.onUse(function(api) { api.export('TemplatingTools'); api.use([ - 'spacebars-compiler@1.3.0' + 'spacebars-compiler@1.3.1' ]); api.mainModule('templating-tools.js'); diff --git a/packages/templating/package.js b/packages/templating/package.js index 00451744d..9fe1b9b06 100644 --- a/packages/templating/package.js +++ b/packages/templating/package.js @@ -1,7 +1,7 @@ Package.describe({ name: 'templating', summary: "Allows templates to be defined in .html files", - version: '1.4.1', + version: '1.4.2', git: 'https://github.com/meteor/blaze.git' }); @@ -13,7 +13,7 @@ Package.describe({ Package.onUse(function (api) { api.export('Template', 'client'); - api.use('templating-runtime@1.5.0'); + api.use('templating-runtime@1.6.0'); api.imply('templating-runtime'); api.imply('templating-compiler@1.4.1'); diff --git a/publish-all.sh b/publish-all.sh index afe09173f..0960fa882 100755 --- a/publish-all.sh +++ b/publish-all.sh @@ -4,7 +4,7 @@ set -e set -u # the order is important -for package in htmljs html-tools blaze-tools spacebars-compiler templating-tools caching-html-compiler static-html blaze spacebars templating-compiler templating-runtime blaze-hot templating spacebars-tests blaze-html-templates ; do +for package in htmljs html-tools blaze-tools spacebars-compiler templating-tools caching-html-compiler observe-sequence blaze spacebars templating-compiler templating-runtime blaze-hot templating spacebars-tests blaze-html-templates ; do echo "Publishing $package" (cd packages/$package && meteor publish) done diff --git a/test-app/.meteor/packages b/test-app/.meteor/packages index c5dacff3f..668d61eaa 100644 --- a/test-app/.meteor/packages +++ b/test-app/.meteor/packages @@ -4,16 +4,16 @@ # 'meteor add' and 'meteor remove' will edit this file for you, # but you can also edit it by hand. -meteor-base@1.4.0 # Packages every Meteor app needs to have +meteor-base@1.5.1 # Packages every Meteor app needs to have mobile-experience@1.1.0 # Packages for a great mobile UX -mongo@1.11.0 # The database Meteor supports right now -static-html # Define static page content in .html files +mongo@1.14.6 # The database Meteor supports right now +static-html@1.3.2 # Define static page content in .html files reactive-var@1.0.11 # Reactive variable for tracker tracker@1.2.0 # Meteor's client-side reactive programming library -standard-minifier-css@1.7.2 # CSS minifier run for production mode -standard-minifier-js@2.6.0 # JS minifier run for production mode +standard-minifier-css@1.8.1 # CSS minifier run for production mode +standard-minifier-js@2.8.0 # JS minifier run for production mode es5-shim@4.8.0 # ECMAScript 5 compatibility for older browsers -ecmascript@0.15.1 # Enable ECMAScript2015+ syntax in app code -typescript@4.2.2 # Enable TypeScript syntax in .ts and .tsx modules +ecmascript@0.16.2 # Enable ECMAScript2015+ syntax in app code +typescript@4.5.4 # Enable TypeScript syntax in .ts and .tsx modules shell-server@0.5.0 # Server-side component of the `meteor shell` command diff --git a/test-app/.meteor/release b/test-app/.meteor/release index 59245ca5f..8e3f1708a 100644 --- a/test-app/.meteor/release +++ b/test-app/.meteor/release @@ -1 +1 @@ -METEOR@2.2.1 +METEOR@2.7.1 diff --git a/test-app/.meteor/versions b/test-app/.meteor/versions index 6323f5c34..0876ac00b 100644 --- a/test-app/.meteor/versions +++ b/test-app/.meteor/versions @@ -1,6 +1,6 @@ -allow-deny@1.1.0 -autoupdate@1.7.0 -babel-compiler@7.6.2 +allow-deny@1.1.1 +autoupdate@1.8.0 +babel-compiler@7.9.0 babel-runtime@1.5.0 base64@1.0.12 binary-heap@1.0.11 @@ -8,19 +8,19 @@ blaze-tools@1.1.2 boilerplate-generator@1.7.1 caching-compiler@1.2.2 caching-html-compiler@1.2.1 -callback-hook@1.3.0 +callback-hook@1.4.0 check@1.3.1 ddp@1.4.0 -ddp-client@2.4.1 +ddp-client@2.5.0 ddp-common@1.4.0 -ddp-server@2.3.3 +ddp-server@2.5.0 diff-sequence@1.1.1 -dynamic-import@0.6.0 -ecmascript@0.15.1 -ecmascript-runtime@0.7.0 -ecmascript-runtime-client@0.11.1 -ecmascript-runtime-server@0.10.1 -ejson@1.1.1 +dynamic-import@0.7.2 +ecmascript@0.16.2 +ecmascript-runtime@0.8.0 +ecmascript-runtime-client@0.12.1 +ecmascript-runtime-server@0.11.0 +ejson@1.1.2 es5-shim@4.8.0 fetch@0.1.1 geojson-utils@1.0.10 @@ -29,41 +29,40 @@ html-tools@1.1.2 htmljs@1.1.1 id-map@1.1.1 inter-process-messaging@0.1.1 -launch-screen@1.2.1 -livedata@1.0.18 -logging@1.2.0 -meteor@1.9.3 -meteor-base@1.4.0 -minifier-css@1.5.4 -minifier-js@2.6.0 -minimongo@1.6.2 +launch-screen@1.3.0 +logging@1.3.1 +meteor@1.10.0 +meteor-base@1.5.1 +minifier-css@1.6.0 +minifier-js@2.7.4 +minimongo@1.8.0 mobile-experience@1.1.0 mobile-status-bar@1.1.0 -modern-browsers@0.1.5 -modules@0.16.0 -modules-runtime@0.12.0 -mongo@1.11.1 +modern-browsers@0.1.7 +modules@0.18.0 +modules-runtime@0.13.0 +mongo@1.14.6 mongo-decimal@0.1.2 mongo-dev-server@1.1.0 mongo-id@1.0.8 -npm-mongo@3.9.0 +npm-mongo@4.3.1 ordered-dict@1.1.0 -promise@0.11.2 +promise@0.12.0 random@1.2.0 -react-fast-refresh@0.1.1 +react-fast-refresh@0.2.3 reactive-var@1.0.11 reload@1.3.1 retry@1.1.0 -routepolicy@1.1.0 +routepolicy@1.1.1 shell-server@0.5.0 -socket-stream-client@0.3.3 +socket-stream-client@0.4.0 spacebars-compiler@1.3.0 -standard-minifier-css@1.7.3 -standard-minifier-js@2.6.1 +standard-minifier-css@1.8.1 +standard-minifier-js@2.8.0 static-html@1.3.2 templating-tools@1.2.1 tracker@1.2.0 -typescript@4.2.2 +typescript@4.5.4 underscore@1.0.10 -webapp@1.10.1 +webapp@1.13.1 webapp-hashing@1.1.0 diff --git a/test-app/package.json b/test-app/package.json index 941a15a0f..457975df6 100644 --- a/test-app/package.json +++ b/test-app/package.json @@ -13,9 +13,9 @@ }, "license": "MIT", "dependencies": { + "@babel/runtime": "^7.17.9", "jquery": "^3.6.0", - "@babel/runtime": "^7.15.3", - "meteor-node-stubs": "^1.1.0", - "puppeteer": "^8.0.0" + "meteor-node-stubs": "^1.2.1", + "puppeteer": "^10.4.0" } }