diff --git a/.circleci/config.yml b/.circleci/config.yml index 8daa41611a..a3a67cd8d1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -390,7 +390,7 @@ jobs: ./meteor self-test \ "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ - --exclude "${SELF_TEST_EXCLUDE}|--svelte|--vue|--typescript|--apollo|--solid|--full" \ + --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ --junit ./tmp/results/junit/3.xml \ --without-tag "custom-warehouse" diff --git a/docs/source/commandline.md b/docs/source/commandline.md index 9381e02d83..11138250d5 100644 --- a/docs/source/commandline.md +++ b/docs/source/commandline.md @@ -285,20 +285,6 @@ You can also use Vue 3 with Vite by using the [jorgenvatle:meteor-vite](https:// package. You can see an example on the [meteor-vite](https://github.com/JorgenVatle/meteor-vite/tree/release/examples/vue) repository. - -

--vue-2

- -The command `meteor create --vue-2 app-name` creates a Meteor app with [Vue 2](https://v2.vuejs.org/) and -[MongoDB](https://www.mongodb.com/). To create a complete app, including testing and deployment, follow the -[Vue 2 tutorial](https://vue-tutorial.meteor.com/). - -Npm packages included: `@babel/runtime`, `meteor-node-stubs`, `vue`, `vue-meteor-tracker`. - -Meteor packages included: `meteor-base`, `mobile-experience`, `mongo`, `reactive-var`, `standard-minifier-css`, -`standard-minifier-js`, `es5-shim`, `ecmascript`, `typescript`, `shell-server`, `tracker`, `static-html`, `akryum:vue-component`, -`meteortesting:mocha`, `johanbrook:publication-collector`. - -

meteor generate

``meteor generate`` is a command for generating scaffolds for your current project. When ran without arguments, it will ask diff --git a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json index 20c19af8aa..2223499220 100644 --- a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json +++ b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json @@ -409,9 +409,9 @@ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==" }, "@types/node": { - "version": "20.11.28", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.28.tgz", - "integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==" + "version": "20.11.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", + "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==" }, "@types/webidl-conversions": { "version": "7.0.3", diff --git a/packages/webapp/.npm/package/npm-shrinkwrap.json b/packages/webapp/.npm/package/npm-shrinkwrap.json index 71f05c1202..4d536037cf 100644 --- a/packages/webapp/.npm/package/npm-shrinkwrap.json +++ b/packages/webapp/.npm/package/npm-shrinkwrap.json @@ -32,14 +32,14 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "@types/node": { - "version": "20.11.28", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.28.tgz", - "integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==" + "version": "20.11.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", + "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==" }, "@types/qs": { - "version": "6.9.12", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", - "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==" + "version": "6.9.13", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.13.tgz", + "integrity": "sha512-iLR+1vTTJ3p0QaOUq6ACbY1mzKTODFDT/XedZI8BksOotFmL4ForwDfRQ/DZeuTHR7/2i4lI1D203gdfxuqTlA==" }, "@types/range-parser": { "version": "1.2.7", diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 25e526d9fb..e6b8f43100 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -607,7 +607,6 @@ export const AVAILABLE_SKELETONS = [ DEFAULT_SKELETON, "typescript", "vue", - 'vue-2', "svelte", "tailwind", "chakra-ui", @@ -623,7 +622,6 @@ const SKELETON_INFO = { "react": "To create a basic React-based app", "typescript": "To create an app using TypeScript and React", "vue": "To create a basic Vue3-based app", - "vue-2": "To create a basic Vue2-based app", "svelte": "To create a basic Svelte app", "tailwind": "To create an app using React and Tailwind", "chakra-ui": "To create an app Chakra UI and React", @@ -644,7 +642,6 @@ main.registerCommand({ blaze: { type: Boolean }, react: { type: Boolean }, vue: { type: Boolean }, - 'vue-2': { type: Boolean }, typescript: { type: Boolean }, apollo: { type: Boolean }, svelte: { type: Boolean }, diff --git a/tools/cli/example-repositories.js b/tools/cli/example-repositories.js index 7bf472ec0d..f1d67151ef 100644 --- a/tools/cli/example-repositories.js +++ b/tools/cli/example-repositories.js @@ -1,5 +1,4 @@ export const EXAMPLE_REPOSITORIES = { - "vue-2": { "repo": "https://github.com/meteor/skel-vue-2" }, "vue": { "repo": "https://github.com/meteor/skel-vue" }, "react": { "repo": "https://github.com/meteor/skel-react" }, "full": { "repo": "https://github.com/meteor/skel-full" }, diff --git a/tools/cli/help.txt b/tools/cli/help.txt index 6820167a1e..1eff3661b6 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -152,7 +152,7 @@ Options: >>> create Create a new project. -Usage: meteor create [--release ] [--bare|--minimal|--full|--react|--vue|--vue-2|--apollo|--svelte|--blaze|--tailwind|--chakra-ui|--solid] +Usage: meteor create [--release ] [--bare|--minimal|--full|--react|--vue|--apollo|--svelte|--blaze|--tailwind|--chakra-ui|--solid] meteor create [--release ] --example [] meteor create [--release ] --from [] meteor create --list @@ -188,7 +188,6 @@ Options: --full Create a fully scaffolded app. --react Create a basic react-based app, same as default. --vue Create a basic vue3-based app. - --vue-2 Create a basic vue2-based app. --apollo Create a basic apollo-based app. --svelte Create a basic svelte-based app. --typescript Create a basic Typescript React-based app. diff --git a/tools/static-assets/README.md b/tools/static-assets/README.md index 1884abb1d6..6cef051b69 100644 --- a/tools/static-assets/README.md +++ b/tools/static-assets/README.md @@ -44,10 +44,6 @@ Similar to `skel`, `skel-solid` is copied on `meteor create --solid` command. Similar to `skel`, `skel-vue` is copied on `meteor create --vue` command. -## skel-vue-2 - Package Skeleton - -Similar to `skel`, `skel-vue-2` is copied on `meteor create --vue-2` 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-apollo/.meteor/packages b/tools/static-assets/skel-apollo/.meteor/packages index 0addfea192..718d356e3d 100644 --- a/tools/static-assets/skel-apollo/.meteor/packages +++ b/tools/static-assets/skel-apollo/.meteor/packages @@ -19,4 +19,4 @@ hot-module-replacement # Update client in development without reloading the pag ~prototype~ static-html # Define static page content in .html files apollo # Basic Apollo integration for Meteor apps -swydo:graphql # Import .graphql files +compat:graphql # Import .graphql files diff --git a/tools/static-assets/skel-solid/.meteor/packages b/tools/static-assets/skel-solid/.meteor/packages index 492b563f76..8d50345989 100644 --- a/tools/static-assets/skel-solid/.meteor/packages +++ b/tools/static-assets/skel-solid/.meteor/packages @@ -19,4 +19,4 @@ hot-module-replacement # Update client in development without reloading the pag ~prototype~ static-html # Define static page content in .html files -vite:bundler +jorgenvatle:vite-bundler@2.0.0-beta.12 diff --git a/tools/static-assets/skel-solid/package.json b/tools/static-assets/skel-solid/package.json index 7e70da4e84..9ab02889ae 100644 --- a/tools/static-assets/skel-solid/package.json +++ b/tools/static-assets/skel-solid/package.json @@ -21,6 +21,7 @@ }, "devDependencies": { "babel-preset-solid": "^1.5.4", + "meteor-vite": "^1.10.2", "vite": "^3.0.9", "vite-plugin-solid": "^2.3.0", "vite-plugin-solid-svg": "^0.4.1" diff --git a/tools/static-assets/skel-vue-2/.gitignore b/tools/static-assets/skel-vue-2/.gitignore deleted file mode 100644 index c2658d7d1b..0000000000 --- a/tools/static-assets/skel-vue-2/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/tools/static-assets/skel-vue-2/.meteor/.gitignore b/tools/static-assets/skel-vue-2/.meteor/.gitignore deleted file mode 100644 index 4083037423..0000000000 --- a/tools/static-assets/skel-vue-2/.meteor/.gitignore +++ /dev/null @@ -1 +0,0 @@ -local diff --git a/tools/static-assets/skel-vue-2/.meteor/packages b/tools/static-assets/skel-vue-2/.meteor/packages deleted file mode 100644 index 83be6b3a62..0000000000 --- a/tools/static-assets/skel-vue-2/.meteor/packages +++ /dev/null @@ -1,24 +0,0 @@ -# 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 - -tracker # Dependency tracker to allow reactive callbacks -static-html # Define static page content in .html files -akryum:vue-component # Vue-CLI template to publish components - -meteortesting:mocha # A package for writing and running your meteor app and package tests with mocha -johanbrook:publication-collector # Test a Meteor publication by collecting its output diff --git a/tools/static-assets/skel-vue-2/.meteor/platforms b/tools/static-assets/skel-vue-2/.meteor/platforms deleted file mode 100644 index efeba1b50c..0000000000 --- a/tools/static-assets/skel-vue-2/.meteor/platforms +++ /dev/null @@ -1,2 +0,0 @@ -server -browser diff --git a/tools/static-assets/skel-vue-2/client/main.html b/tools/static-assets/skel-vue-2/client/main.html deleted file mode 100644 index 7a78efb67d..0000000000 --- a/tools/static-assets/skel-vue-2/client/main.html +++ /dev/null @@ -1,8 +0,0 @@ - - ~name~ - - - - -
- diff --git a/tools/static-assets/skel-vue-2/client/main.js b/tools/static-assets/skel-vue-2/client/main.js deleted file mode 100644 index 665c6aa1b1..0000000000 --- a/tools/static-assets/skel-vue-2/client/main.js +++ /dev/null @@ -1,12 +0,0 @@ -import Vue from 'vue' - -import '../imports/ui/plugins' - -import App from '../imports/ui/App.vue' - -Meteor.startup(() => { - new Vue({ - el: '#app', - ...App, - }) -}) diff --git a/tools/static-assets/skel-vue-2/imports/api/collections/Links.js b/tools/static-assets/skel-vue-2/imports/api/collections/Links.js deleted file mode 100644 index de6a43c4a4..0000000000 --- a/tools/static-assets/skel-vue-2/imports/api/collections/Links.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Mongo } from 'meteor/mongo'; - -export default new Mongo.Collection('links'); diff --git a/tools/static-assets/skel-vue-2/imports/api/collections/Links.tests.js b/tools/static-assets/skel-vue-2/imports/api/collections/Links.tests.js deleted file mode 100644 index ce178512d0..0000000000 --- a/tools/static-assets/skel-vue-2/imports/api/collections/Links.tests.js +++ /dev/null @@ -1,24 +0,0 @@ -// Tests for the behavior of the links collection -// -// https://guide.meteor.com/testing.html - -import { Meteor } from 'meteor/meteor'; -import { assert } from 'chai'; -import Links from './Links.js'; - -if (Meteor.isServer) { - describe('links collection', function () { - it('insert correctly', function () { - const linkId = Links.insert({ - title: 'meteor homepage', - url: 'https://www.meteor.com', - }); - const added = Links.find({ _id: linkId }); - const collectionName = added._getCollectionName(); - const count = added.count(); - - assert.equal(collectionName, 'links'); - assert.equal(count, 1); - }); - }); -} diff --git a/tools/static-assets/skel-vue-2/imports/api/fixtures.js b/tools/static-assets/skel-vue-2/imports/api/fixtures.js deleted file mode 100644 index daa11f32f1..0000000000 --- a/tools/static-assets/skel-vue-2/imports/api/fixtures.js +++ /dev/null @@ -1,31 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import Links from './collections/Links.js'; - -async function insertLink({ title, url }) { - await Links.insertAsync({ title, url, createdAt: new Date() }); -} - -Meteor.startup(async () => { - // If the Links collection is empty, add some data. - if (await Links.find().countAsync() === 0) { - await insertLink({ - title: 'Do the Tutorial', - url: 'https://vue-tutorial.meteor.com/', - }); - - 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-vue-2/imports/api/methods/createLink.js b/tools/static-assets/skel-vue-2/imports/api/methods/createLink.js deleted file mode 100644 index 876f710978..0000000000 --- a/tools/static-assets/skel-vue-2/imports/api/methods/createLink.js +++ /dev/null @@ -1,16 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { check } from 'meteor/check'; -import Links from '../collections/Links.js'; - -Meteor.methods({ - 'createLink'(title, url) { - check(url, String); - check(title, String); - - return Links.insert({ - url, - title, - createdAt: new Date(), - }); - }, -}); diff --git a/tools/static-assets/skel-vue-2/imports/api/methods/createLink.tests.js b/tools/static-assets/skel-vue-2/imports/api/methods/createLink.tests.js deleted file mode 100644 index d899a7338f..0000000000 --- a/tools/static-assets/skel-vue-2/imports/api/methods/createLink.tests.js +++ /dev/null @@ -1,20 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { assert } from 'chai'; -import Links from '../collections/Links.js'; -import './methods.js'; - -if (Meteor.isServer) { - describe('method: createLink', function () { - beforeEach(function () { - Links.remove({}); - }); - - it('can add a new link', function () { - const addLink = Meteor.server.method_handlers['createLink']; - - addLink.apply({}, ['meteor.com', 'https://www.meteor.com']); - - assert.equal(Links.find().count(), 1); - }); - }); -} diff --git a/tools/static-assets/skel-vue-2/imports/api/methods/index.js b/tools/static-assets/skel-vue-2/imports/api/methods/index.js deleted file mode 100644 index c52403a2e8..0000000000 --- a/tools/static-assets/skel-vue-2/imports/api/methods/index.js +++ /dev/null @@ -1 +0,0 @@ -import './createLink' diff --git a/tools/static-assets/skel-vue-2/imports/api/publications/index.js b/tools/static-assets/skel-vue-2/imports/api/publications/index.js deleted file mode 100644 index d161b580e7..0000000000 --- a/tools/static-assets/skel-vue-2/imports/api/publications/index.js +++ /dev/null @@ -1 +0,0 @@ -import './links' diff --git a/tools/static-assets/skel-vue-2/imports/api/publications/links.js b/tools/static-assets/skel-vue-2/imports/api/publications/links.js deleted file mode 100644 index f085d75045..0000000000 --- a/tools/static-assets/skel-vue-2/imports/api/publications/links.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import Links from '../collections/Links.js'; - -Meteor.publish('links', function () { - return Links.find(); -}); diff --git a/tools/static-assets/skel-vue-2/imports/api/publications/links.tests.js b/tools/static-assets/skel-vue-2/imports/api/publications/links.tests.js deleted file mode 100644 index 37f337c869..0000000000 --- a/tools/static-assets/skel-vue-2/imports/api/publications/links.tests.js +++ /dev/null @@ -1,22 +0,0 @@ -import { assert } from 'chai' -import { PublicationCollector } from 'meteor/johanbrook:publication-collector' -import Links from '../collections/Links.js' -import './publications.js' - -describe('Publish links', function () { - beforeEach(function () { - Links.remove({}) - Links.insert({ - title: 'meteor homepage', - url: 'https://www.meteor.com' - }) - }) - - it('sends all links', function (done) { - const collector = new PublicationCollector() - collector.collect('links', (collections) => { - assert.equal(collections.links.length, 1) - done() - }) - }) -}) diff --git a/tools/static-assets/skel-vue-2/imports/ui/App.vue b/tools/static-assets/skel-vue-2/imports/ui/App.vue deleted file mode 100644 index e126098ccb..0000000000 --- a/tools/static-assets/skel-vue-2/imports/ui/App.vue +++ /dev/null @@ -1,26 +0,0 @@ - - - - - diff --git a/tools/static-assets/skel-vue-2/imports/ui/components/Hello.vue b/tools/static-assets/skel-vue-2/imports/ui/components/Hello.vue deleted file mode 100644 index 64947eb06a..0000000000 --- a/tools/static-assets/skel-vue-2/imports/ui/components/Hello.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - - - diff --git a/tools/static-assets/skel-vue-2/imports/ui/components/Info.vue b/tools/static-assets/skel-vue-2/imports/ui/components/Info.vue deleted file mode 100644 index b52b2be838..0000000000 --- a/tools/static-assets/skel-vue-2/imports/ui/components/Info.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - - - diff --git a/tools/static-assets/skel-vue-2/imports/ui/plugins.js b/tools/static-assets/skel-vue-2/imports/ui/plugins.js deleted file mode 100644 index eb976c92e5..0000000000 --- a/tools/static-assets/skel-vue-2/imports/ui/plugins.js +++ /dev/null @@ -1,4 +0,0 @@ -import Vue from 'vue' -import VueMeteorTracker from 'vue-meteor-tracker' - -Vue.use(VueMeteorTracker) diff --git a/tools/static-assets/skel-vue-2/package.json b/tools/static-assets/skel-vue-2/package.json deleted file mode 100644 index affdeee60e..0000000000 --- a/tools/static-assets/skel-vue-2/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "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.23.5", - "meteor-node-stubs": "^1.2.7", - "vue": "^2.7.15", - "vue-meteor-tracker": "^3.0.0-beta.7" - }, - "meteor": { - "mainModule": { - "client": "client/main.js", - "server": "server/main.js" - }, - "testModule": "tests/main.js" - } -} diff --git a/tools/static-assets/skel-vue-2/server/main.js b/tools/static-assets/skel-vue-2/server/main.js deleted file mode 100644 index 42950618b6..0000000000 --- a/tools/static-assets/skel-vue-2/server/main.js +++ /dev/null @@ -1,3 +0,0 @@ -import '../imports/api/fixtures' -import '../imports/api/methods' -import '../imports/api/publications' diff --git a/tools/static-assets/skel-vue-2/tests/main.js b/tools/static-assets/skel-vue-2/tests/main.js deleted file mode 100644 index 6d2a32e09d..0000000000 --- a/tools/static-assets/skel-vue-2/tests/main.js +++ /dev/null @@ -1,20 +0,0 @@ -import assert from "assert"; - -describe("skel", function () { - it("package.json has correct name", async function () { - const { name } = await import("../package.json"); - assert.strictEqual(name, "skel"); - }); - - 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-vue/.meteor/packages b/tools/static-assets/skel-vue/.meteor/packages index 3ae6a18b5f..c6c928e0d1 100644 --- a/tools/static-assets/skel-vue/.meteor/packages +++ b/tools/static-assets/skel-vue/.meteor/packages @@ -18,6 +18,6 @@ shell-server # Server-side component of the `meteor shell` com hot-module-replacement # Update client in development without reloading the page static-html # Define static page content in .html files -jorgenvatle:vite-bundler +jorgenvatle:vite-bundler@2.0.0-beta.12 ~prototype~ diff --git a/v3-docs/docs/cli/index.md b/v3-docs/docs/cli/index.md index 97af8129a5..40ecd77a1a 100644 --- a/v3-docs/docs/cli/index.md +++ b/v3-docs/docs/cli/index.md @@ -277,13 +277,6 @@ You can also use Vue 3 with Vite by using the [jorgenvatle:meteor-vite](https:// package. You can see an example on the [meteor-vite](https://github.com/JorgenVatle/meteor-vite/tree/release/examples/vue) repository. - -## --vue-2 {vue-2} - -The command `meteor create --vue-2 app-name` creates a Meteor app with [Vue 2](https://v2.vuejs.org/) and -[MongoDB](https://www.mongodb.com/). To create a complete app, including testing and deployment, follow the -[Vue 2 tutorial](https://vue-tutorial.meteor.com/). - Npm packages included: `@babel/runtime`, `meteor-node-stubs`, `vue`, `vue-meteor-tracker`. Meteor packages included: `meteor-base`, `mobile-experience`, `mongo`, `reactive-var`, `standard-minifier-css`,