From ccb7b20dfb34acd3b2abcb5de499062f45a0b1c2 Mon Sep 17 00:00:00 2001 From: Frederico Maia Arantes Date: Wed, 31 Aug 2022 10:08:17 +0200 Subject: [PATCH 01/15] fix: remove duplicated mention --- CONTRIBUTING.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 38f04ee3e1..8e4f734767 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -49,8 +49,7 @@ Current Reviewers: - [@aquinoit](https://github.com/aquinoit) - [@Grubba27](https://github.com/Grubba27) - [@filipenevola](https://github.com/filipenevola) -- [@Grubba27](https://github.com/Grubba27) - - [@StorytellerCZ](https://github.com/StorytellerCZ) +- [@StorytellerCZ](https://github.com/StorytellerCZ) - [@zodern](https://github.com/zodern) - [@CaptainN](https://github.com/CaptainN) - [@radekmie](https://github.com/radekmie) @@ -73,7 +72,6 @@ Current Core Committers: - [@edimarlnx](https://github.com/edimarlnx) - [@matheusccastroo](https://github.com/matheusccastroo) - [@eduwr](https://github.com/eduwr) -- [@Grubba27](https://github.com/Grubba27) ### Tracking project work From da3b1b58255269529ce44573f9b55d2d54e4dbf4 Mon Sep 17 00:00:00 2001 From: Frederico Maia Arantes Date: Wed, 31 Aug 2022 10:13:51 +0200 Subject: [PATCH 02/15] fix: remove unnecessary file as discussed here https://github.com/meteor/meteor/commit/94d8f3a3a54a90ba4a787f2fbe82b4397fc283a4 --- .mailmap | 164 ------------------------------------------------------- 1 file changed, 164 deletions(-) delete mode 100644 .mailmap diff --git a/.mailmap b/.mailmap deleted file mode 100644 index afea9abd97..0000000000 --- a/.mailmap +++ /dev/null @@ -1,164 +0,0 @@ -# The presence of this file makes it easier to find GitHub usernames for -# History.md. -# -# This is a git dotfile that affects the output of 'git shortlog'. eg, run: -# git shortlog -s release/METEOR@1.0.1..HEAD -# to get a sorted list of all committers to revisions in HEAD but not -# in 1.0.1. To get the list including email addresses (useful for input -# to the script below) include --email as well. -# -# For any emails that show up in the shortlog that aren't in one of -# these lists, figure out their GitHub username and add them. -# -# A command-line way to get the GitHub username for an author: -# scripts/admin/find-author-github.sh 'User Name ' -# (Note that this script always outputs GITHUB so you should manually -# check to see if they are an Meteor Software employee!) - -GITHUB: 0a- -GITHUB: adnissen -GITHUB: aldeed -GITHUB: AlexeyMK -GITHUB: andylash -GITHUB: ansman -GITHUB: anstarovoyt -GITHUB: apendua -GITHUB: awatson1978 -GITHUB: awwx -GITHUB: babenzele -GITHUB: benweissmann -GITHUB: bwhitty -GITHUB: Cangit -GITHUB: chrisbridgett -GITHUB: christianbundy -GITHUB: cmather -GITHUB: codeinthehole -GITHUB: colllin -GITHUB: cryptoquick -GITHUB: d4nyll -GITHUB: dandv -GITHUB: DanielDent -GITHUB: DanielDent -GITHUB: DanielDornhardt -GITHUB: davegonzalez -GITHUB: DenisGorbachev -GITHUB: DenisGorbachev -GITHUB: ducdigital -GITHUB: duckspeaker -GITHUB: ecwyne -GITHUB: emgee3 -GITHUB: EOT -GITHUB: fay-jai -GITHUB: felixrabe -GITHUB: FooBarWidget -GITHUB: FredericoC -GITHUB: Gaelan -GITHUB: graemian -GITHUB: gsuess -GITHUB: hwillson -GITHUB: icellan -GITHUB: ImtiazMajeed -GITHUB: jacott -GITHUB: jakozaur -GITHUB: JamesLefrere -GITHUB: jbruni -GITHUB: jfhamlin -GITHUB: jperl -GITHUB: kentonv -GITHUB: kevinchiu -GITHUB: knownasilya -GITHUB: LyuGGang -GITHUB: marcandre -GITHUB: mart-jansink -GITHUB: matteodem -GITHUB: Maxhodges -GITHUB: MaximDubrovin -GITHUB: meawoppl -GITHUB: meonkeys -GITHUB: michaelbishop -GITHUB: mitar -GITHUB: mitar -GITHUB: mizzao -GITHUB: mquandalle -GITHUB: mquandalle -GITHUB: murillo128 -GITHUB: musically-ut -GITHUB: nathan-muir -GITHUB: Neftedollar -GITHUB: netanelgilad -GITHUB: ogourment -GITHUB: ograycode -GITHUB: omeid -GITHUB: OyoKooN -GITHUB: paulswartz -GITHUB: pcjpcj2 -GITHUB: Pent -GITHUB: physiocoder -GITHUB: PooMaster -GITHUB: prapicault -GITHUB: prapicault -GITHUB: Primigenus -GITHUB: pscanf -GITHUB: queso -GITHUB: rbabayoff -GITHUB: rcy -GITHUB: rdickert -GITHUB: restebanez -GITHUB: rgoomar -GITHUB: rgould -GITHUB: RichardLitt -GITHUB: richguan -GITHUB: rick-golden-healthagen -GITHUB: rissem -GITHUB: rjakobsson -GITHUB: RobertLowe -GITHUB: romanzolotarev -GITHUB: rosh93 -GITHUB: ryw -GITHUB: rzymek -GITHUB: sdarnell -GITHUB: Siilwyn -GITHUB: smallhelm -GITHUB: subhog -GITHUB: svda -GITHUB: Tarang -GITHUB: tbjers -GITHUB: thatneat -GITHUB: timhaines -GITHUB: timoabend -GITHUB: tmeasday -GITHUB: TomFreudenberg -GITHUB: trusktr -GITHUB: twhy -GITHUB: Urigo -GITHUB: waitingkuo -GITHUB: wulfmeister -GITHUB: yauh -GITHUB: yeputons -GITHUB: zol - -METEOR: arbesfeld -METEOR: avital -METEOR: benjamn -METEOR: benjamn -METEOR: debergalis -METEOR: dgreensp -METEOR: ekatek -METEOR: estark37 -METEOR: estark37 -METEOR: glasser -METEOR: glasser -METEOR: gschmidt -METEOR: justinsb -METEOR: karayu -METEOR: mariapacana -METEOR: multilinear -METEOR: n1mmy -METEOR: sixolet -METEOR: Slava -METEOR: Slava -METEOR: stubailo -METEOR: stubailo -METEOR: stubailo -METEOR: stubailo -METEOR: yyx990803 From f5abe254ebfe71bba4814dd850e227750c684b53 Mon Sep 17 00:00:00 2001 From: Frederico Maia Arantes Date: Wed, 31 Aug 2022 10:22:47 +0200 Subject: [PATCH 03/15] docs: update Roadmap with community items --- docs/source/roadmap.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/source/roadmap.md b/docs/source/roadmap.md index 7bbabc2561..bd25c7ee3b 100644 --- a/docs/source/roadmap.md +++ b/docs/source/roadmap.md @@ -5,7 +5,7 @@ description: Describes the high-level features and actions for the Meteor projec ## Introduction -Last update: August 4, 2022. +Last update: August 31, 2022. This document describes the high-level features and actions for the Meteor project in the near-to-medium term future. The description of many items include sentences and ideas from Meteor community members. @@ -45,6 +45,10 @@ Contributors are encouraged to focus their efforts on work that aligns with the - Remove Fibers dependency from Meteor Public APIs; - Remove Fibers entirely; +### Community items +- Vue 3 integration; ([Forums](https://forums.meteor.com/t/status-of-vue-3-meteor/57915/25) / [Discussion](https://github.com/meteor/meteor/discussions/11521)) +- SolidJS starter template; + ### Next educational items - Create a new Meteor Guide; ([Current Guide](https://guide.meteor.com/)) - Login and Accounts course; ([Meteor University](https://university.meteor.com/)) @@ -54,7 +58,6 @@ Contributors are encouraged to focus their efforts on work that aligns with the We plan to implement these items in the near future. Community help would be greatly appreciated. - ES Modules Support; ([Discussion](https://github.com/meteor/meteor/discussions/11727)) - MongoDB 6.0 Support; ([Discussion](https://github.com/meteor/meteor/discussions/12092)) -- Vue 3 integration; ([Forums](https://forums.meteor.com/t/status-of-vue-3-meteor/57915/25) / [Discussion](https://github.com/meteor/meteor/discussions/11521)) - Improve Meteor build time; ([Discussion](https://github.com/meteor/meteor/discussions/11587)) - HTTP/3 Support; - Tree-shaking; ([PR](https://github.com/meteor/meteor/pull/11164)) From f925a0760ee2b3318ff15f699695f0960a896427 Mon Sep 17 00:00:00 2001 From: Frederico Maia Arantes Date: Wed, 31 Aug 2022 10:27:21 +0200 Subject: [PATCH 04/15] docs: update Roadmap with community items --- docs/source/roadmap.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/roadmap.md b/docs/source/roadmap.md index bd25c7ee3b..86c1d6bb43 100644 --- a/docs/source/roadmap.md +++ b/docs/source/roadmap.md @@ -46,6 +46,7 @@ Contributors are encouraged to focus their efforts on work that aligns with the - Remove Fibers entirely; ### Community items +- Release Blaze 2.6.2; ([Milestone](https://github.com/meteor/blaze/milestone/9)) - Vue 3 integration; ([Forums](https://forums.meteor.com/t/status-of-vue-3-meteor/57915/25) / [Discussion](https://github.com/meteor/meteor/discussions/11521)) - SolidJS starter template; From a9e238b99a5128aa5ad9a0c453f8c3c2578e97f2 Mon Sep 17 00:00:00 2001 From: Frederico Maia Arantes Date: Wed, 31 Aug 2022 11:35:25 +0200 Subject: [PATCH 05/15] docs: document options argument when calling DDP.connect --- packages/ddp-client/common/namespace.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/ddp-client/common/namespace.js b/packages/ddp-client/common/namespace.js index 3fc0685eb6..117ea27d6b 100644 --- a/packages/ddp-client/common/namespace.js +++ b/packages/ddp-client/common/namespace.js @@ -58,6 +58,11 @@ DDP.randomStream = name => { * @summary Connect to the server of a different Meteor application to subscribe to its document sets and invoke its remote methods. * @locus Anywhere * @param {String} url The URL of another Meteor application. + * @param {Object} [options] + * @param {Boolean} options.reloadWithOutstanding is it OK to reload if there are outstanding methods? + * @param {Object} options.headers extra headers to send on the websockets connection, for server-to-server DDP only + * @param {Object} options._sockjsOptions Specifies options to pass through to the sockjs client + * @param {Function} options.onDDPNegotiationVersionFailure callback when version negotiation fails. */ DDP.connect = (url, options) => { const ret = new Connection(url, options); From 06951743b5218b336df30cf7956a3e0458665d71 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Wed, 31 Aug 2022 09:26:20 -0300 Subject: [PATCH 06/15] chore: added how can I use section to change log --- guide/source/2.8-migration.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/guide/source/2.8-migration.md b/guide/source/2.8-migration.md index ae66e3c94d..8dbb57a385 100644 --- a/guide/source/2.8-migration.md +++ b/guide/source/2.8-migration.md @@ -37,6 +37,33 @@ Here are the newly added methods (you can see this description and the code [her for await (const document of collection.find(query, options)) /* ... */ ``` +

How can I start using this new features?

+ +We got a few examples for making it easy to use this new feature, you can look the code snippet bellow + +```js +// Before 2.8, we would use something like this +export const removeByID = ({ id }) => { + SomeCollection.remove(id); +}; + +// Now we can also do like this +export const removeByIDAsync = async ({ id }) => { + await SomeCollection.removeAsync({ _id: id }); +}; + +Meteor.methods({ + //... + removeByID, + removeByIDAsync, +}); + +// In UI use Meteor.call('removeByID', { id }) or Meteor.call('removeByIDAsync', { id }) +``` + +More examples can be retrieved from [this commit](https://github.com/fredmaiaarantes/simpletasks/compare/main...mongodb-async-api). + +

Can I update to this version without changing my app?

Yes. You can update to this version without changing your app. From 6be0b2079b47e8b667fd1617e8853c50115975b8 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Wed, 31 Aug 2022 09:30:46 -0300 Subject: [PATCH 07/15] fix: grammar errors --- guide/source/2.8-migration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guide/source/2.8-migration.md b/guide/source/2.8-migration.md index 8dbb57a385..d695fe3f4f 100644 --- a/guide/source/2.8-migration.md +++ b/guide/source/2.8-migration.md @@ -37,9 +37,9 @@ Here are the newly added methods (you can see this description and the code [her for await (const document of collection.find(query, options)) /* ... */ ``` -

How can I start using this new features?

+

How can I start using these new features?

-We got a few examples for making it easy to use this new feature, you can look the code snippet bellow +We got a few examples for making it easy to use these new feature, you can look the code snippet bellow ```js // Before 2.8, we would use something like this From 594e185c092cfde0539e4d5bb2fad9abbb6309f0 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Wed, 31 Aug 2022 11:56:44 -0300 Subject: [PATCH 08/15] chore: adressed comments --- guide/source/2.8-migration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/source/2.8-migration.md b/guide/source/2.8-migration.md index d695fe3f4f..fb53d34817 100644 --- a/guide/source/2.8-migration.md +++ b/guide/source/2.8-migration.md @@ -44,7 +44,7 @@ We got a few examples for making it easy to use these new feature, you can look ```js // Before 2.8, we would use something like this export const removeByID = ({ id }) => { - SomeCollection.remove(id); + SomeCollection.remove({ _id: id }); }; // Now we can also do like this From 5983aadf71f725027b49ca233f716d6326cd3e03 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Fri, 9 Sep 2022 10:08:26 -0300 Subject: [PATCH 09/15] Meteor version to 2.8-beta.6 :comet: --- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/modules/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/test-in-console/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 2750cdaf42..02a03502d1 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'The Meteor command-line tool', - version: '2.8.0-beta.5', + version: '2.8.0-beta.6', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index da45c4cc16..3a99d55a35 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.10.1-beta280.5' + version: '1.10.1-beta280.6' }); Package.registerBuildPlugin({ diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 4ea844a93e..0bd2b5ad4d 100644 --- a/packages/minimongo/package.js +++ b/packages/minimongo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's client-side datastore: a port of MongoDB to Javascript", - version: '1.9.0-beta280.5' + version: '1.9.0-beta280.6' }); Package.onUse(api => { diff --git a/packages/modules/package.js b/packages/modules/package.js index d8933f092c..a2dd936084 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules", - version: "0.19.0-beta280.5", + version: "0.19.0-beta280.6", summary: "CommonJS module system", documentation: "README.md" }); diff --git a/packages/mongo/package.js b/packages/mongo/package.js index a6e1be4d70..70fb8668e3 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.16.0-beta280.5' + version: '1.16.0-beta280.6' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 47eab76443..9f5a95fed0 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "4.9.0-beta280.5", + version: "4.9.0-beta280.6", documentation: null }); diff --git a/packages/test-in-console/package.js b/packages/test-in-console/package.js index c2b20d2fca..2cca549784 100644 --- a/packages/test-in-console/package.js +++ b/packages/test-in-console/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Run tests noninteractively, with results going to the console.', - version: '1.2.4-beta280.5' + version: '1.2.4-beta280.6' }); Package.onUse(function(api) { diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 6ba93c1fd7..05f8e1749a 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.8-beta.5", + "version": "2.8-beta.6", "recommended": false, "official": false, "description": "Meteor experimental release" From 55a0b26afca0cf245b3b09745b848d32dcc5f3a3 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Fri, 9 Sep 2022 10:59:08 -0300 Subject: [PATCH 10/15] chore: added script for tarballs --- scripts/make-release-tarballs.sh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 scripts/make-release-tarballs.sh diff --git a/scripts/make-release-tarballs.sh b/scripts/make-release-tarballs.sh new file mode 100644 index 0000000000..3028497195 --- /dev/null +++ b/scripts/make-release-tarballs.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +for ARGUMENT in "$@" +do + KEY=$(echo $ARGUMENT | cut -f1 -d=) + + KEY_LENGTH=${#KEY} + VALUE="${ARGUMENT:$KEY_LENGTH+1}" + + export "$KEY"="$VALUE" +done + +echo "BRANCH_NAME = $BRANCH_NAME" +echo "VERSION = $VERSION" + + +git fetch origin && git checkout release/METEOR@$VERSION && git reset --hard origin/$BRANCH_NAME && git clean -df + ./meteor admin make-bootstrap-tarballs --target-arch os.windows.x86_64 $VERSION win64 + ./meteor admin make-bootstrap-tarballs --target-arch os.linux.x86_64 $VERSION linux64 + ./meteor admin make-bootstrap-tarballs --target-arch os.osx.x86_64 $VERSION osx && + ./meteor admin make-bootstrap-tarballs --target-arch os.osx.arm64 $VERSION osx + ./meteor aws s3 mb s3://com.meteor.static/packages-bootstrap/$VERSION/ + && aws s3 cp --acl public-read win64/meteor-bootstrap-os.windows.x86_64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ + && aws s3 cp --acl public-read linux64/meteor-bootstrap-os.linux.x86_64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ + && aws s3 cp --acl public-read osx/meteor-bootstrap-os.osx.x86_64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ + && aws s3 cp --acl public-read osx/meteor-bootstrap-os.osx.arm64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ + && aws s3 ls s3://com.meteor.static/packages-bootstrap/$VERSION From 3f8e52bc8aa128ab60bfd77d648eeb4741474430 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Fri, 9 Sep 2022 11:06:08 -0300 Subject: [PATCH 11/15] Meteor version to 2.8-beta.7 :comet: --- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/modules/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/test-in-console/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 02a03502d1..f4e4b5774e 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'The Meteor command-line tool', - version: '2.8.0-beta.6', + version: '2.8.0-beta.7', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 3a99d55a35..4b55df7fea 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.10.1-beta280.6' + version: '1.10.1-beta280.7' }); Package.registerBuildPlugin({ diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 0bd2b5ad4d..ba546ab878 100644 --- a/packages/minimongo/package.js +++ b/packages/minimongo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's client-side datastore: a port of MongoDB to Javascript", - version: '1.9.0-beta280.6' + version: '1.9.0-beta280.7' }); Package.onUse(api => { diff --git a/packages/modules/package.js b/packages/modules/package.js index a2dd936084..7f11c72d5d 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules", - version: "0.19.0-beta280.6", + version: "0.19.0-beta280.7", summary: "CommonJS module system", documentation: "README.md" }); diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 70fb8668e3..8f24e9c1ad 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.16.0-beta280.6' + version: '1.16.0-beta280.7' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 9f5a95fed0..024f3c3b5a 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "4.9.0-beta280.6", + version: "4.9.0-beta280.7", documentation: null }); diff --git a/packages/test-in-console/package.js b/packages/test-in-console/package.js index 2cca549784..18156c57a9 100644 --- a/packages/test-in-console/package.js +++ b/packages/test-in-console/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Run tests noninteractively, with results going to the console.', - version: '1.2.4-beta280.6' + version: '1.2.4-beta280.7' }); Package.onUse(function(api) { diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 05f8e1749a..e1729faf4d 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.8-beta.6", + "version": "2.8-beta.7", "recommended": false, "official": false, "description": "Meteor experimental release" From 131539eacf5a286f47eb0cfc2755720eb26272ec Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Fri, 9 Sep 2022 11:34:40 -0300 Subject: [PATCH 12/15] chore: formatted script --- scripts/make-release-tarballs.sh | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/scripts/make-release-tarballs.sh b/scripts/make-release-tarballs.sh index 3028497195..e592b60bda 100644 --- a/scripts/make-release-tarballs.sh +++ b/scripts/make-release-tarballs.sh @@ -1,27 +1,25 @@ #!/usr/bin/env bash -for ARGUMENT in "$@" -do - KEY=$(echo $ARGUMENT | cut -f1 -d=) +for ARGUMENT in "$@"; do + KEY=$(echo $ARGUMENT | cut -f1 -d=) - KEY_LENGTH=${#KEY} - VALUE="${ARGUMENT:$KEY_LENGTH+1}" + KEY_LENGTH=${#KEY} + VALUE="${ARGUMENT:$KEY_LENGTH+1}" - export "$KEY"="$VALUE" + export "$KEY"="$VALUE" done echo "BRANCH_NAME = $BRANCH_NAME" echo "VERSION = $VERSION" - git fetch origin && git checkout release/METEOR@$VERSION && git reset --hard origin/$BRANCH_NAME && git clean -df - ./meteor admin make-bootstrap-tarballs --target-arch os.windows.x86_64 $VERSION win64 - ./meteor admin make-bootstrap-tarballs --target-arch os.linux.x86_64 $VERSION linux64 - ./meteor admin make-bootstrap-tarballs --target-arch os.osx.x86_64 $VERSION osx && +./meteor admin make-bootstrap-tarballs --target-arch os.windows.x86_64 $VERSION win64 +./meteor admin make-bootstrap-tarballs --target-arch os.linux.x86_64 $VERSION linux64 +./meteor admin make-bootstrap-tarballs --target-arch os.osx.x86_64 $VERSION osx && ./meteor admin make-bootstrap-tarballs --target-arch os.osx.arm64 $VERSION osx - ./meteor aws s3 mb s3://com.meteor.static/packages-bootstrap/$VERSION/ - && aws s3 cp --acl public-read win64/meteor-bootstrap-os.windows.x86_64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ - && aws s3 cp --acl public-read linux64/meteor-bootstrap-os.linux.x86_64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ - && aws s3 cp --acl public-read osx/meteor-bootstrap-os.osx.x86_64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ - && aws s3 cp --acl public-read osx/meteor-bootstrap-os.osx.arm64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ - && aws s3 ls s3://com.meteor.static/packages-bootstrap/$VERSION +./meteor aws s3 mb s3://com.meteor.static/packages-bootstrap/$VERSION/ && + aws s3 cp --acl public-read win64/meteor-bootstrap-os.windows.x86_64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ && + aws s3 cp --acl public-read linux64/meteor-bootstrap-os.linux.x86_64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ && + aws s3 cp --acl public-read osx/meteor-bootstrap-os.osx.x86_64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ && + aws s3 cp --acl public-read osx/meteor-bootstrap-os.osx.arm64.tar.gz s3://com.meteor.static/packages-bootstrap/$VERSION/ && + aws s3 ls s3://com.meteor.static/packages-bootstrap/$VERSION From c1a1167db0c165c8246b28aeaba21b4d25d24653 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 15 Sep 2022 17:27:55 -0300 Subject: [PATCH 13/15] feat: chakra-ui skel --- docs/source/commandline.md | 4 +++ tools/cli/commands.js | 5 ++- tools/cli/help.txt | 2 +- tools/static-assets/README.md | 4 +++ tools/static-assets/skel-chakra-ui/.gitignore | 1 + .../skel-chakra-ui/.meteor/.gitignore | 1 + .../skel-chakra-ui/.meteor/packages | 23 ++++++++++++++ .../skel-chakra-ui/.meteor/platforms | 2 ++ .../skel-chakra-ui/client/main.css | 4 +++ .../skel-chakra-ui/client/main.html | 7 +++++ .../skel-chakra-ui/client/main.jsx | 8 +++++ .../skel-chakra-ui/imports/api/links.js | 3 ++ .../skel-chakra-ui/imports/ui/App.jsx | 24 ++++++++++++++ .../skel-chakra-ui/imports/ui/Hello.jsx | 17 ++++++++++ .../skel-chakra-ui/imports/ui/Info.jsx | 22 +++++++++++++ .../static-assets/skel-chakra-ui/package.json | 29 +++++++++++++++++ .../skel-chakra-ui/server/main.js | 31 +++++++++++++++++++ .../skel-chakra-ui/tests/main.js | 20 ++++++++++++ 18 files changed, 205 insertions(+), 2 deletions(-) create mode 100644 tools/static-assets/skel-chakra-ui/.gitignore create mode 100644 tools/static-assets/skel-chakra-ui/.meteor/.gitignore create mode 100644 tools/static-assets/skel-chakra-ui/.meteor/packages create mode 100644 tools/static-assets/skel-chakra-ui/.meteor/platforms create mode 100644 tools/static-assets/skel-chakra-ui/client/main.css create mode 100644 tools/static-assets/skel-chakra-ui/client/main.html create mode 100644 tools/static-assets/skel-chakra-ui/client/main.jsx create mode 100644 tools/static-assets/skel-chakra-ui/imports/api/links.js create mode 100644 tools/static-assets/skel-chakra-ui/imports/ui/App.jsx create mode 100644 tools/static-assets/skel-chakra-ui/imports/ui/Hello.jsx create mode 100644 tools/static-assets/skel-chakra-ui/imports/ui/Info.jsx create mode 100644 tools/static-assets/skel-chakra-ui/package.json create mode 100644 tools/static-assets/skel-chakra-ui/server/main.js create mode 100644 tools/static-assets/skel-chakra-ui/tests/main.js diff --git a/docs/source/commandline.md b/docs/source/commandline.md index a06221eeaf..6ab6650f5a 100644 --- a/docs/source/commandline.md +++ b/docs/source/commandline.md @@ -140,6 +140,10 @@ Create a basic [Svelte](https://svelte.dev/) app. Create a basic [React](https://reactjs.org) + [Tailwind CSS](https://tailwindcss.com) app. +`--chakra-ui` + +Create a basic [chakra-ui](https://chakra-ui.com/) app. + **Packages** | | Default (`--react`) | `--bare` | `--full` | `--minimal` | `--blaze`| `--apollo` | `--vue` | `--svelte` | `--tailwind` | diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 1454f3abf3..b728fb2c02 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -516,6 +516,7 @@ export const AVAILABLE_SKELETONS = [ "vue", "svelte", "tailwind", + "chakra-ui", ]; main.registerCommand({ @@ -535,6 +536,7 @@ main.registerCommand({ apollo: { type: Boolean }, svelte: { type: Boolean }, tailwind: { type: Boolean }, + 'chakra-ui': { type: Boolean }, }, catalogRefresh: new catalog.Refresh.Never() }, function (options) { @@ -907,6 +909,7 @@ main.registerCommand({ cmd("meteor create --typescript # to create an app using TypeScript and React"); cmd("meteor create --blaze # to create an app using Blaze"); cmd("meteor create --tailwind # to create an app using React and Tailwind"); + cmd("meteor create --chakra-ui # to create an app Chakra UI and React"); } Console.info(""); @@ -1258,7 +1261,7 @@ main.registerCommand({ // This option has never done anything, but we are keeping it for // backwards compatibility since it existed for 7 years before adding - // the correctly named option + // the correctly named option 'allow-incompatible-updates': { type: Boolean } }, catalogRefresh: new catalog.Refresh.Never() diff --git a/tools/cli/help.txt b/tools/cli/help.txt index 787fa97ff4..ba619843c5 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -150,7 +150,7 @@ Options: >>> create Create a new project. -Usage: meteor create [--release ] [--bare|--minimal|--full|--react|--vue|--apollo|--svelte|--blaze|--tailwind] +Usage: meteor create [--release ] [--bare|--minimal|--full|--react|--vue|--apollo|--svelte|--blaze|--tailwind|--chakra-ui] meteor create [--release ] --example [] meteor create --list meteor create --package [] diff --git a/tools/static-assets/README.md b/tools/static-assets/README.md index b2efb024ea..e563e810b8 100644 --- a/tools/static-assets/README.md +++ b/tools/static-assets/README.md @@ -32,6 +32,10 @@ Similar to `skel`, `skel-react` is copied on `meteor create --react` command. Similar to `skel`, `skel-tailwind` is copied on `meteor create --tailwind` command. +## skel-chakra-ui - Package Skeleton + +Similar to `skel`, `skel-chakra-ui` is copied on `meteor create --chakra-ui` command. + ## server - Bundled App's Bootstrap The `server` folder is copied by Isobuild when the app is bundled (on diff --git a/tools/static-assets/skel-chakra-ui/.gitignore b/tools/static-assets/skel-chakra-ui/.gitignore new file mode 100644 index 0000000000..c2658d7d1b --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/tools/static-assets/skel-chakra-ui/.meteor/.gitignore b/tools/static-assets/skel-chakra-ui/.meteor/.gitignore new file mode 100644 index 0000000000..4083037423 --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/.meteor/.gitignore @@ -0,0 +1 @@ +local diff --git a/tools/static-assets/skel-chakra-ui/.meteor/packages b/tools/static-assets/skel-chakra-ui/.meteor/packages new file mode 100644 index 0000000000..be7bcaa934 --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/.meteor/packages @@ -0,0 +1,23 @@ +# Meteor packages used by this project, one per line. +# Check this file (and the other files in this directory) into your repository. +# +# 'meteor add' and 'meteor remove' will edit this file for you, +# but you can also edit it by hand. + +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.15.0 # The database Meteor supports right now +reactive-var@1.0.11 # Reactive variable for tracker + +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.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 +hot-module-replacement@0.5.1 # Update client in development without reloading the page + +autopublish@1.0.7 # Publish all data to the clients (for prototyping) +insecure@1.0.7 # Allow all DB writes from clients (for prototyping) +static-html@1.3.2 # Define static page content in .html files +react-meteor-data # React higher-order component for reactively tracking Meteor data diff --git a/tools/static-assets/skel-chakra-ui/.meteor/platforms b/tools/static-assets/skel-chakra-ui/.meteor/platforms new file mode 100644 index 0000000000..efeba1b50c --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/.meteor/platforms @@ -0,0 +1,2 @@ +server +browser diff --git a/tools/static-assets/skel-chakra-ui/client/main.css b/tools/static-assets/skel-chakra-ui/client/main.css new file mode 100644 index 0000000000..7f354f0fa7 --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/client/main.css @@ -0,0 +1,4 @@ +body { + padding: 10px; + font-family: sans-serif; +} diff --git a/tools/static-assets/skel-chakra-ui/client/main.html b/tools/static-assets/skel-chakra-ui/client/main.html new file mode 100644 index 0000000000..27c3712e54 --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/client/main.html @@ -0,0 +1,7 @@ + + ~name~ + + + +
+ diff --git a/tools/static-assets/skel-chakra-ui/client/main.jsx b/tools/static-assets/skel-chakra-ui/client/main.jsx new file mode 100644 index 0000000000..a42cee8ff3 --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/client/main.jsx @@ -0,0 +1,8 @@ +import React from 'react'; +import { Meteor } from 'meteor/meteor'; +import { render } from 'react-dom'; +import { App } from '/imports/ui/App'; + +Meteor.startup(() => { + render(, document.getElementById('react-target')); +}); diff --git a/tools/static-assets/skel-chakra-ui/imports/api/links.js b/tools/static-assets/skel-chakra-ui/imports/api/links.js new file mode 100644 index 0000000000..050c508eae --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/imports/api/links.js @@ -0,0 +1,3 @@ +import { Mongo } from 'meteor/mongo'; + +export const LinksCollection = new Mongo.Collection('links'); diff --git a/tools/static-assets/skel-chakra-ui/imports/ui/App.jsx b/tools/static-assets/skel-chakra-ui/imports/ui/App.jsx new file mode 100644 index 0000000000..4abd60f5e7 --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/imports/ui/App.jsx @@ -0,0 +1,24 @@ +import React from 'react'; +import {Hello} from './Hello.jsx'; +import {Info} from './Info.jsx'; +import {ChakraProvider, ColorModeScript, extendTheme, Heading} from '@chakra-ui/react'; + +const theme = extendTheme({ + config: { + initialColorMode: 'dark', + useSystemColorMode: false, + }, +}); + +export const App = () => { + return ( + <> + + + Welcome to Meteor! + + + + + ); +}; diff --git a/tools/static-assets/skel-chakra-ui/imports/ui/Hello.jsx b/tools/static-assets/skel-chakra-ui/imports/ui/Hello.jsx new file mode 100644 index 0000000000..4103e284c0 --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/imports/ui/Hello.jsx @@ -0,0 +1,17 @@ +import React, { useState } from 'react'; +import {Box, Button, Text} from "@chakra-ui/react"; + +export const Hello = () => { + const [counter, setCounter] = useState(0); + + const increment = () => { + setCounter(counter + 1); + }; + + return ( + + + You've pressed the button {counter} times. + + ); +}; diff --git a/tools/static-assets/skel-chakra-ui/imports/ui/Info.jsx b/tools/static-assets/skel-chakra-ui/imports/ui/Info.jsx new file mode 100644 index 0000000000..5b483a097b --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/imports/ui/Info.jsx @@ -0,0 +1,22 @@ +import React from 'react'; +import { useTracker } from 'meteor/react-meteor-data'; +import { LinksCollection } from '../api/links'; +import {Box, Heading, Link, ListItem, UnorderedList} from "@chakra-ui/react"; +import {ExternalLinkIcon} from "@chakra-ui/icons"; + +export const Info = () => { + const links = useTracker(() => { + return LinksCollection.find().fetch(); + }); + + return ( + + Learn Meteor! + {links.map( + link => + {link.title} + + )} + + ); +}; diff --git a/tools/static-assets/skel-chakra-ui/package.json b/tools/static-assets/skel-chakra-ui/package.json new file mode 100644 index 0000000000..c02b9d2b53 --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/package.json @@ -0,0 +1,29 @@ +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.18.6", + "@chakra-ui/icons": "^1.1.7", + "@chakra-ui/react": "^1.8.8", + "@emotion/react": "^11.9.3", + "@emotion/styled": "^11.9.3", + "@react-icons/all-files": "^4.1.0", + "framer-motion": "^6.4.2", + "meteor-node-stubs": "^1.2.3", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "meteor": { + "mainModule": { + "client": "client/main.jsx", + "server": "server/main.js" + }, + "testModule": "tests/main.js" + } +} diff --git a/tools/static-assets/skel-chakra-ui/server/main.js b/tools/static-assets/skel-chakra-ui/server/main.js new file mode 100644 index 0000000000..9c774d214c --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/server/main.js @@ -0,0 +1,31 @@ +import { Meteor } from 'meteor/meteor'; +import { LinksCollection } from '/imports/api/links'; + +async function insertLink({ title, url }) { + await LinksCollection.insertAsync({ title, url, createdAt: new Date() }); +} + +Meteor.startup(async () => { + // If the Links collection is empty, add some data. + if (await LinksCollection.find().countAsync() === 0) { + await insertLink({ + title: 'Do the Tutorial', + url: 'https://www.meteor.com/tutorials/react/creating-an-app', + }); + + await insertLink({ + title: 'Follow the Guide', + url: 'https://guide.meteor.com', + }); + + await insertLink({ + title: 'Read the Docs', + url: 'https://docs.meteor.com', + }); + + await insertLink({ + title: 'Discussions', + url: 'https://forums.meteor.com', + }); + } +}); diff --git a/tools/static-assets/skel-chakra-ui/tests/main.js b/tools/static-assets/skel-chakra-ui/tests/main.js new file mode 100644 index 0000000000..c48096a6fb --- /dev/null +++ b/tools/static-assets/skel-chakra-ui/tests/main.js @@ -0,0 +1,20 @@ +import assert from "assert"; + +describe("chakra-template", function () { + it("package.json has correct name", async function () { + const { name } = await import("../package.json"); + assert.strictEqual(name, "chakra-template"); + }); + + if (Meteor.isClient) { + it("client is not server", function () { + assert.strictEqual(Meteor.isServer, false); + }); + } + + if (Meteor.isServer) { + it("server is not client", function () { + assert.strictEqual(Meteor.isClient, false); + }); + } +}); From 2186f59911b12246e15ecc9863cd1d314d29cab9 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 20 Sep 2022 15:27:07 -0300 Subject: [PATCH 14/15] feat: solid-skel --- docs/source/commandline.md | 70 ++++++++++--------- tools/cli/commands.js | 3 + tools/cli/help.txt | 4 +- tools/static-assets/README.md | 4 ++ .../skel-chakra-ui/.meteor/packages | 28 ++++---- tools/static-assets/skel-solid/.gitignore | 1 + .../skel-solid/.meteor/.gitignore | 1 + .../static-assets/skel-solid/.meteor/packages | 23 ++++++ .../skel-solid/.meteor/platforms | 2 + .../static-assets/skel-solid/client/main.css | 4 ++ .../static-assets/skel-solid/client/main.html | 9 +++ .../static-assets/skel-solid/client/main.jsx | 1 + .../skel-solid/imports/api/links.js | 4 ++ .../skel-solid/imports/ui/App.jsx | 12 ++++ .../skel-solid/imports/ui/Hello.jsx | 16 +++++ .../skel-solid/imports/ui/Info.jsx | 26 +++++++ .../skel-solid/imports/ui/main.jsx | 8 +++ tools/static-assets/skel-solid/package.json | 28 ++++++++ tools/static-assets/skel-solid/server/main.js | 31 ++++++++ tools/static-assets/skel-solid/tests/main.js | 20 ++++++ tools/static-assets/skel-solid/vite.config.js | 12 ++++ 21 files changed, 259 insertions(+), 48 deletions(-) create mode 100644 tools/static-assets/skel-solid/.gitignore create mode 100644 tools/static-assets/skel-solid/.meteor/.gitignore create mode 100644 tools/static-assets/skel-solid/.meteor/packages create mode 100644 tools/static-assets/skel-solid/.meteor/platforms create mode 100644 tools/static-assets/skel-solid/client/main.css create mode 100644 tools/static-assets/skel-solid/client/main.html create mode 100644 tools/static-assets/skel-solid/client/main.jsx create mode 100644 tools/static-assets/skel-solid/imports/api/links.js create mode 100644 tools/static-assets/skel-solid/imports/ui/App.jsx create mode 100644 tools/static-assets/skel-solid/imports/ui/Hello.jsx create mode 100644 tools/static-assets/skel-solid/imports/ui/Info.jsx create mode 100644 tools/static-assets/skel-solid/imports/ui/main.jsx create mode 100644 tools/static-assets/skel-solid/package.json create mode 100644 tools/static-assets/skel-solid/server/main.js create mode 100644 tools/static-assets/skel-solid/tests/main.js create mode 100644 tools/static-assets/skel-solid/vite.config.js diff --git a/docs/source/commandline.md b/docs/source/commandline.md index 6ab6650f5a..0547ae1756 100644 --- a/docs/source/commandline.md +++ b/docs/source/commandline.md @@ -144,41 +144,45 @@ Create a basic [React](https://reactjs.org) + [Tailwind CSS](https://tailwindcss Create a basic [chakra-ui](https://chakra-ui.com/) app. +`--solid` + +Create a basic [solid](https://www.solidjs.com/) app. + **Packages** -| | Default (`--react`) | `--bare` | `--full` | `--minimal` | `--blaze`| `--apollo` | `--vue` | `--svelte` | `--tailwind` | -|------------------------------------------------------------------------------------------------------|:-------------------:|:---------:|:---------:|:-----------:|:--------:|:----------:|:-------:|:----------:|:------------:| -| [autopublish](https://atmospherejs.com/meteor/autopublish) |X| | | |X| | |X|X| -| [akryum:vue-component](https://atmospherejs.com/akryum/vue-component) | | | | | | |X| | | -| [apollo](https://atmospherejs.com/meteor/apollo) | | | | | |X| | | | -| [blaze-html-templates](https://atmospherejs.com/meteor/blaze-html-templates) | | |X| |X| | | | | -| [ecmascript](https://atmospherejs.com/meteor/ecmascript) |X|X|X|X|X|X|X|X|X| -| [es5-shim](https://atmospherejs.com/meteor/es5-shim) |X|X|X|X|X|X|X|X|X| -| [hot-module-replacement](https://atmospherejs.com/meteor/hot-module-replacement) |X| | | |X|X| | |X| -| [insecure](https://atmospherejs.com/meteor/insecure) |X| | | |X| | |X|X| -| [johanbrook:publication-collector](https://atmospherejs.com/meteor/johanbrook/publication-collector) | | |X| | |X| | | -| [jquery](https://atmospherejs.com/meteor/jquery) | | |X| |X| | | | -| [ostrio:flow-router-extra](https://atmospherejs.com/meteor/ostrio/flow-router-extra) | | |X|| | | | | | -| [less](https://atmospherejs.com/meteor/less) | | |X| | | | | | | -| [meteor](https://atmospherejs.com/meteor/meteor) | | | |X| | | | | | -| [meteor-base](https://atmospherejs.com/meteor/meteor-base) |X|X|X| |X|X|X|X|X| -| [mobile-experience](https://atmospherejs.com/meteor/mobile-experience) |X|X|X| |X|X|X|X|X| -| [mongo](https://atmospherejs.com/meteor/mongo) |X|X|X| |X|X|X|X|X| -| [meteortesting:mocha](https://atmospherejs.com/meteortesting/mocha) | | |X| | | |X| | -| [reactive-var](https://atmospherejs.com/meteor/reactive-var) |X|X|X| |X|X|X|X|X| -| [rdb:svelte-meteor-data](https://atmospherejs.com/rdb/svelte-meteor-data) | | | | | | | |X| | -| [server-render](https://atmospherejs.com/meteor/server-render) | | | |X| |X|X| | | -| [shell-server](https://atmospherejs.com/meteor/shell-server) | |X| |X|X|X|X|X | -| [standard-minifier-css](https://atmospherejs.com/meteor/standard-minifier-css) |X|X|X|X|X|X|X|X|X| -| [standard-minifier-js](https://atmospherejs.com/meteor/standard-minifier-js) |X|X|X|X|X|X|X|X|X| -| [static-html](https://atmospherejs.com/meteor/static-html) | |X| |X| |X|X|X| | -| [svelte:compiler](https://atmospherejs.com/svelte/compiler) | | | | | | | |X| | -| [swydo:graphql](https://atmospherejs.com/swydo/graphql) | | | | | |X| | | | -| [tailwindcss](https://tailwindcss.com) | |X|X| |X| |X| |X| -| [tracker](https://atmospherejs.com/meteor/tracker) | |X|X| |X| |X| | | -| [typescript](https://atmospherejs.com/meteor/typescript) |X|X|X|X|X|X|X|X|X| -| [webapp](https://atmospherejs.com/meteor/webapp) | | | |X| | | | | | -| [react-meteor-data](https://atmospherejs.com/meteor/react-meteor-data) |X| | | | | | | |X| +| | Default (`--react`) | `--bare` | `--full` | `--minimal` | `--blaze` | `--apollo` | `--vue` | `--svelte` | `--tailwind` | `--chakra-ui` | `--solid` | +|------------------------------------------------------------------------------------------------------|:-------------------:|:--------:|:--------:|:-----------:|:---------:|:----------:|:-------:|:----------:|:------------:|:-------------:|:---------:| +| [autopublish](https://atmospherejs.com/meteor/autopublish) | X | | | | X | | | X | X | X | X | +| [akryum:vue-component](https://atmospherejs.com/akryum/vue-component) | | | | | | | X | | | | | +| [apollo](https://atmospherejs.com/meteor/apollo) | | | | | | X | | | | | | +| [blaze-html-templates](https://atmospherejs.com/meteor/blaze-html-templates) | | | X | | X | | | | | | | +| [ecmascript](https://atmospherejs.com/meteor/ecmascript) | X | X | X | X | X | X | X | X | X | X | X | +| [es5-shim](https://atmospherejs.com/meteor/es5-shim) | X | X | X | X | X | X | X | X | X | X | X | +| [hot-module-replacement](https://atmospherejs.com/meteor/hot-module-replacement) | X | | | | X | X | | | X | X | X | +| [insecure](https://atmospherejs.com/meteor/insecure) | X | | | | X | | | X | X | X | X | +| [johanbrook:publication-collector](https://atmospherejs.com/meteor/johanbrook/publication-collector) | | | X | | | X | | | | | | +| [jquery](https://atmospherejs.com/meteor/jquery) | | | X | | X | | | | | | | +| [ostrio:flow-router-extra](https://atmospherejs.com/meteor/ostrio/flow-router-extra) | | | X | | | | | | | | | +| [less](https://atmospherejs.com/meteor/less) | | | X | | | | | | | | | +| [meteor](https://atmospherejs.com/meteor/meteor) | | | | X | | | | | | | | +| [meteor-base](https://atmospherejs.com/meteor/meteor-base) | X | X | X | | X | X | X | X | X | X | X | +| [mobile-experience](https://atmospherejs.com/meteor/mobile-experience) | X | X | X | | X | X | X | X | X | X | X | +| [mongo](https://atmospherejs.com/meteor/mongo) | X | X | X | | X | X | X | X | X | X | X | +| [meteortesting:mocha](https://atmospherejs.com/meteortesting/mocha) | | | X | | | | X | | | | | +| [reactive-var](https://atmospherejs.com/meteor/reactive-var) | X | X | X | | X | X | X | X | X | X | X | +| [rdb:svelte-meteor-data](https://atmospherejs.com/rdb/svelte-meteor-data) | | | | | | | | X | | | | +| [server-render](https://atmospherejs.com/meteor/server-render) | | | | X | | X | X | | | | | +| [shell-server](https://atmospherejs.com/meteor/shell-server) | | X | | X | X | X | X | X | X | X | X | +| [standard-minifier-css](https://atmospherejs.com/meteor/standard-minifier-css) | X | X | X | X | X | X | X | X | X | X | X | +| [standard-minifier-js](https://atmospherejs.com/meteor/standard-minifier-js) | X | X | X | X | X | X | X | X | X | X | X | +| [static-html](https://atmospherejs.com/meteor/static-html) | | X | | X | | X | X | X | | | | +| [svelte:compiler](https://atmospherejs.com/svelte/compiler) | | | | | | | | X | | | | +| [swydo:graphql](https://atmospherejs.com/swydo/graphql) | | | | | | X | | | | | | +| [tailwindcss](https://tailwindcss.com) | | X | X | | X | | X | | X | | | +| [tracker](https://atmospherejs.com/meteor/tracker) | | X | X | | X | | X | | | | | +| [typescript](https://atmospherejs.com/meteor/typescript) | X | X | X | X | X | X | X | X | X | X | X | +| [webapp](https://atmospherejs.com/meteor/webapp) | | | | X | | | | | | | | +| [react-meteor-data](https://atmospherejs.com/meteor/react-meteor-data) | X | | | | | | | | X | X | |

meteor login / logout

diff --git a/tools/cli/commands.js b/tools/cli/commands.js index b728fb2c02..c4b86b2c46 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -517,6 +517,7 @@ export const AVAILABLE_SKELETONS = [ "svelte", "tailwind", "chakra-ui", + "solid", ]; main.registerCommand({ @@ -537,6 +538,7 @@ main.registerCommand({ svelte: { type: Boolean }, tailwind: { type: Boolean }, 'chakra-ui': { type: Boolean }, + solid: { type: Boolean }, }, catalogRefresh: new catalog.Refresh.Never() }, function (options) { @@ -910,6 +912,7 @@ main.registerCommand({ cmd("meteor create --blaze # to create an app using Blaze"); cmd("meteor create --tailwind # to create an app using React and Tailwind"); cmd("meteor create --chakra-ui # to create an app Chakra UI and React"); + cmd("meteor create --solid # to create abasic Solid app"); } Console.info(""); diff --git a/tools/cli/help.txt b/tools/cli/help.txt index ba619843c5..13c612e9fd 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -150,7 +150,7 @@ Options: >>> create Create a new project. -Usage: meteor create [--release ] [--bare|--minimal|--full|--react|--vue|--apollo|--svelte|--blaze|--tailwind|--chakra-ui] +Usage: meteor create [--release ] [--bare|--minimal|--full|--react|--vue|--apollo|--svelte|--blaze|--tailwind|--chakra-ui|--solid] meteor create [--release ] --example [] meteor create --list meteor create --package [] @@ -189,6 +189,8 @@ Options: --typescript Create a basic Typescript React-based app. --blaze Create a basic blaze-based app. --tailwind Create a basic react-based app, with tailwind configured. + --chakra-ui Create a basic react-based app, with chakra-ui configured. + --solid Create a basic solid-based app. >>> update diff --git a/tools/static-assets/README.md b/tools/static-assets/README.md index e563e810b8..db232e18af 100644 --- a/tools/static-assets/README.md +++ b/tools/static-assets/README.md @@ -36,6 +36,10 @@ Similar to `skel`, `skel-tailwind` is copied on `meteor create --tailwind` comma Similar to `skel`, `skel-chakra-ui` is copied on `meteor create --chakra-ui` command. +## skel-solid - Package Skeleton + +Similar to `skel`, `skel-solid` is copied on `meteor create --solid` command. + ## server - Bundled App's Bootstrap The `server` folder is copied by Isobuild when the app is bundled (on diff --git a/tools/static-assets/skel-chakra-ui/.meteor/packages b/tools/static-assets/skel-chakra-ui/.meteor/packages index be7bcaa934..72de92e77b 100644 --- a/tools/static-assets/skel-chakra-ui/.meteor/packages +++ b/tools/static-assets/skel-chakra-ui/.meteor/packages @@ -4,20 +4,20 @@ # 'meteor add' and 'meteor remove' will edit this file for you, # but you can also edit it by hand. -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.15.0 # The database Meteor supports right now -reactive-var@1.0.11 # Reactive variable for tracker +meteor-base # Packages every Meteor app needs to have +mobile-experience # Packages for a great mobile UX +mongo # The database Meteor supports right now +reactive-var # Reactive variable for tracker -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.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 -hot-module-replacement@0.5.1 # Update client in development without reloading the page +standard-minifier-css # CSS minifier run for production mode +standard-minifier-js # JS minifier run for production mode +es5-shim # ECMAScript 5 compatibility for older browsers +ecmascript # Enable ECMAScript2015+ syntax in app code +typescript # Enable TypeScript syntax in .ts and .tsx modules +shell-server # Server-side component of the `meteor shell` command +hot-module-replacement # Update client in development without reloading the page -autopublish@1.0.7 # Publish all data to the clients (for prototyping) -insecure@1.0.7 # Allow all DB writes from clients (for prototyping) -static-html@1.3.2 # Define static page content in .html files +autopublish # Publish all data to the clients (for prototyping) +insecure # Allow all DB writes from clients (for prototyping) +static-html # Define static page content in .html files react-meteor-data # React higher-order component for reactively tracking Meteor data diff --git a/tools/static-assets/skel-solid/.gitignore b/tools/static-assets/skel-solid/.gitignore new file mode 100644 index 0000000000..c2658d7d1b --- /dev/null +++ b/tools/static-assets/skel-solid/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/tools/static-assets/skel-solid/.meteor/.gitignore b/tools/static-assets/skel-solid/.meteor/.gitignore new file mode 100644 index 0000000000..4083037423 --- /dev/null +++ b/tools/static-assets/skel-solid/.meteor/.gitignore @@ -0,0 +1 @@ +local diff --git a/tools/static-assets/skel-solid/.meteor/packages b/tools/static-assets/skel-solid/.meteor/packages new file mode 100644 index 0000000000..d6c05d244b --- /dev/null +++ b/tools/static-assets/skel-solid/.meteor/packages @@ -0,0 +1,23 @@ +# Meteor packages used by this project, one per line. +# Check this file (and the other files in this directory) into your repository. +# +# 'meteor add' and 'meteor remove' will edit this file for you, +# but you can also edit it by hand. + +meteor-base # Packages every Meteor app needs to have +mobile-experience # Packages for a great mobile UX +mongo # The database Meteor supports right now +reactive-var # Reactive variable for tracker + +standard-minifier-css # CSS minifier run for production mode +standard-minifier-js # JS minifier run for production mode +es5-shim # ECMAScript 5 compatibility for older browsers +ecmascript # Enable ECMAScript2015+ syntax in app code +typescript # Enable TypeScript syntax in .ts and .tsx modules +shell-server # Server-side component of the `meteor shell` command +hot-module-replacement # Update client in development without reloading the page + +autopublish # Publish all data to the clients (for prototyping) +insecure # Allow all DB writes from clients (for prototyping) +static-html # Define static page content in .html files +vite:bundler diff --git a/tools/static-assets/skel-solid/.meteor/platforms b/tools/static-assets/skel-solid/.meteor/platforms new file mode 100644 index 0000000000..efeba1b50c --- /dev/null +++ b/tools/static-assets/skel-solid/.meteor/platforms @@ -0,0 +1,2 @@ +server +browser diff --git a/tools/static-assets/skel-solid/client/main.css b/tools/static-assets/skel-solid/client/main.css new file mode 100644 index 0000000000..7f354f0fa7 --- /dev/null +++ b/tools/static-assets/skel-solid/client/main.css @@ -0,0 +1,4 @@ +body { + padding: 10px; + font-family: sans-serif; +} diff --git a/tools/static-assets/skel-solid/client/main.html b/tools/static-assets/skel-solid/client/main.html new file mode 100644 index 0000000000..f6b88dd21d --- /dev/null +++ b/tools/static-assets/skel-solid/client/main.html @@ -0,0 +1,9 @@ + + ~name~ + + + + +
+ + diff --git a/tools/static-assets/skel-solid/client/main.jsx b/tools/static-assets/skel-solid/client/main.jsx new file mode 100644 index 0000000000..97d382a9bd --- /dev/null +++ b/tools/static-assets/skel-solid/client/main.jsx @@ -0,0 +1 @@ +// main entry point is in imports/ui/main.jsx diff --git a/tools/static-assets/skel-solid/imports/api/links.js b/tools/static-assets/skel-solid/imports/api/links.js new file mode 100644 index 0000000000..ffe1b58fbe --- /dev/null +++ b/tools/static-assets/skel-solid/imports/api/links.js @@ -0,0 +1,4 @@ +import { Mongo } from 'meteor/mongo'; + +export const LinksCollection = new Mongo.Collection('links'); + diff --git a/tools/static-assets/skel-solid/imports/ui/App.jsx b/tools/static-assets/skel-solid/imports/ui/App.jsx new file mode 100644 index 0000000000..53c80e4498 --- /dev/null +++ b/tools/static-assets/skel-solid/imports/ui/App.jsx @@ -0,0 +1,12 @@ +import { Hello } from "./Hello"; +import { Info } from "./Info"; + +export const App = () => ( +
+

Welcome to Meteor!

+ + +
+); + + diff --git a/tools/static-assets/skel-solid/imports/ui/Hello.jsx b/tools/static-assets/skel-solid/imports/ui/Hello.jsx new file mode 100644 index 0000000000..c23767f44d --- /dev/null +++ b/tools/static-assets/skel-solid/imports/ui/Hello.jsx @@ -0,0 +1,16 @@ +import { createSignal } from "solid-js"; + +export const Hello = () => { + const [counter, setCounter] = createSignal(0); + + const increment = () => { + setCounter(counter() + 1); + }; + + return ( +
+ +

You've pressed the button {counter()} times.

+
+ ); +} diff --git a/tools/static-assets/skel-solid/imports/ui/Info.jsx b/tools/static-assets/skel-solid/imports/ui/Info.jsx new file mode 100644 index 0000000000..6f4a441e79 --- /dev/null +++ b/tools/static-assets/skel-solid/imports/ui/Info.jsx @@ -0,0 +1,26 @@ +import { LinksCollection } from "../api/links"; +import { createSignal, For } from "solid-js"; +import { Tracker } from "meteor/tracker"; + +export const Info = () => { + const [links, setLinks] = createSignal([]); + + Tracker.autorun(() => { + setLinks(LinksCollection.find().fetch()); + }); + + return ( +
+

Learn Meteor!

+ +
+ ) + +} diff --git a/tools/static-assets/skel-solid/imports/ui/main.jsx b/tools/static-assets/skel-solid/imports/ui/main.jsx new file mode 100644 index 0000000000..99eb6c43d7 --- /dev/null +++ b/tools/static-assets/skel-solid/imports/ui/main.jsx @@ -0,0 +1,8 @@ +/* @refresh reload */ +import { render } from 'solid-js/web'; +import { App } from './App'; +import { Meteor } from "meteor/meteor"; + +Meteor.startup(() => { + render(() => , document.getElementById('root')); +}) diff --git a/tools/static-assets/skel-solid/package.json b/tools/static-assets/skel-solid/package.json new file mode 100644 index 0000000000..e3cbb0efb5 --- /dev/null +++ b/tools/static-assets/skel-solid/package.json @@ -0,0 +1,28 @@ +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.17.9", + "meteor-node-stubs": "^1.2.1", + "solid-js": "^1.5.4" + }, + "meteor": { + "mainModule": { + "client": "client/main.jsx", + "server": "server/main.js" + }, + "testModule": "tests/main.js" + }, + "devDependencies": { + "babel-preset-solid": "^1.5.4", + "vite": "^3.0.9", + "vite-plugin-solid": "^2.3.0", + "vite-plugin-solid-svg": "^0.4.1" + } +} diff --git a/tools/static-assets/skel-solid/server/main.js b/tools/static-assets/skel-solid/server/main.js new file mode 100644 index 0000000000..99eab74e29 --- /dev/null +++ b/tools/static-assets/skel-solid/server/main.js @@ -0,0 +1,31 @@ +import { Meteor } from 'meteor/meteor'; +import { LinksCollection } from '/imports/api/links'; + +async function insertLink({ title, url }) { + await LinksCollection.insertAsync({ title, url, createdAt: new Date() }); +} + +Meteor.startup(async () => { + // If the Links collection is empty, add some data. + if (await LinksCollection.find().countAsync() === 0) { + await insertLink({ + title: 'Do the Tutorial', + url: 'https://www.solidjs.com/tutorial/introduction_basics', + }); + + await insertLink({ + title: 'Follow the Guide', + url: 'https://guide.meteor.com', + }); + + await insertLink({ + title: 'Read the Docs', + url: 'https://docs.meteor.com', + }); + + await insertLink({ + title: 'Discussions', + url: 'https://forums.meteor.com', + }); + } +}); diff --git a/tools/static-assets/skel-solid/tests/main.js b/tools/static-assets/skel-solid/tests/main.js new file mode 100644 index 0000000000..6486533db3 --- /dev/null +++ b/tools/static-assets/skel-solid/tests/main.js @@ -0,0 +1,20 @@ +import assert from "assert"; + +describe("solid-template", function () { + it("package.json has correct name", async function () { + const { name } = await import("../package.json"); + assert.strictEqual(name, "solid-template"); + }); + + if (Meteor.isClient) { + it("client is not server", function () { + assert.strictEqual(Meteor.isServer, false); + }); + } + + if (Meteor.isServer) { + it("server is not client", function () { + assert.strictEqual(Meteor.isClient, false); + }); + } +}); diff --git a/tools/static-assets/skel-solid/vite.config.js b/tools/static-assets/skel-solid/vite.config.js new file mode 100644 index 0000000000..c49fa70b16 --- /dev/null +++ b/tools/static-assets/skel-solid/vite.config.js @@ -0,0 +1,12 @@ +import { defineConfig } from 'vite'; +import solidPlugin from 'vite-plugin-solid'; +import solidSvg from "vite-plugin-solid-svg"; + +export default defineConfig({ + plugins: [solidPlugin(), solidSvg({ + defaultExport: 'component', + })], + meteor: { + clientEntry: 'imports/ui/main.jsx', + }, +}); From ae7ccaf8051030f180d4adfcb157676703563a09 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 20 Sep 2022 18:58:24 -0300 Subject: [PATCH 15/15] fix: adjusted small comment --- tools/cli/commands.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index c4b86b2c46..4a726cb3f3 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -912,7 +912,7 @@ main.registerCommand({ cmd("meteor create --blaze # to create an app using Blaze"); cmd("meteor create --tailwind # to create an app using React and Tailwind"); cmd("meteor create --chakra-ui # to create an app Chakra UI and React"); - cmd("meteor create --solid # to create abasic Solid app"); + cmd("meteor create --solid # to create a basic Solid app"); } Console.info("");