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 @@
-
-