From 381306170bc997f3a0f75f372603ebe3bc07668f Mon Sep 17 00:00:00 2001
From: Chris Visser <2496739+chris-visser@users.noreply.github.com>
Date: Sun, 7 Jun 2020 17:57:17 +0200
Subject: [PATCH] Add create command for vuejs
---
tools/cli/commands.js | 7 ++-
tools/static-assets/skel-vue/.gitignore | 1 +
.../static-assets/skel-vue/.meteor/.gitignore | 1 +
tools/static-assets/skel-vue/.meteor/packages | 24 ++++++++
.../static-assets/skel-vue/.meteor/platforms | 2 +
tools/static-assets/skel-vue/package.json | 23 ++++++++
tools/static-assets/skel-vue/src/App.vue | 26 +++++++++
tools/static-assets/skel-vue/src/client.js | 12 ++++
.../skel-vue/src/collections/Links.js | 3 +
.../skel-vue/src/collections/Links.tests.js | 24 ++++++++
.../skel-vue/src/components/Hello.vue | 27 +++++++++
.../skel-vue/src/components/Info.vue | 55 +++++++++++++++++++
tools/static-assets/skel-vue/src/fixtures.js | 32 +++++++++++
tools/static-assets/skel-vue/src/main.html | 7 +++
.../skel-vue/src/methods/createLink.js | 16 ++++++
.../skel-vue/src/methods/createLink.tests.js | 20 +++++++
.../skel-vue/src/methods/index.js | 1 +
tools/static-assets/skel-vue/src/plugins.js | 4 ++
.../skel-vue/src/publications/index.js | 1 +
.../skel-vue/src/publications/links.js | 6 ++
.../skel-vue/src/publications/links.tests.js | 22 ++++++++
tools/static-assets/skel-vue/src/server.js | 3 +
tools/static-assets/skel-vue/tests/main.js | 20 +++++++
23 files changed, 336 insertions(+), 1 deletion(-)
create mode 100644 tools/static-assets/skel-vue/.gitignore
create mode 100644 tools/static-assets/skel-vue/.meteor/.gitignore
create mode 100644 tools/static-assets/skel-vue/.meteor/packages
create mode 100644 tools/static-assets/skel-vue/.meteor/platforms
create mode 100644 tools/static-assets/skel-vue/package.json
create mode 100644 tools/static-assets/skel-vue/src/App.vue
create mode 100644 tools/static-assets/skel-vue/src/client.js
create mode 100644 tools/static-assets/skel-vue/src/collections/Links.js
create mode 100644 tools/static-assets/skel-vue/src/collections/Links.tests.js
create mode 100644 tools/static-assets/skel-vue/src/components/Hello.vue
create mode 100644 tools/static-assets/skel-vue/src/components/Info.vue
create mode 100644 tools/static-assets/skel-vue/src/fixtures.js
create mode 100644 tools/static-assets/skel-vue/src/main.html
create mode 100644 tools/static-assets/skel-vue/src/methods/createLink.js
create mode 100644 tools/static-assets/skel-vue/src/methods/createLink.tests.js
create mode 100644 tools/static-assets/skel-vue/src/methods/index.js
create mode 100644 tools/static-assets/skel-vue/src/plugins.js
create mode 100644 tools/static-assets/skel-vue/src/publications/index.js
create mode 100644 tools/static-assets/skel-vue/src/publications/links.js
create mode 100644 tools/static-assets/skel-vue/src/publications/links.tests.js
create mode 100644 tools/static-assets/skel-vue/src/server.js
create mode 100644 tools/static-assets/skel-vue/tests/main.js
diff --git a/tools/cli/commands.js b/tools/cli/commands.js
index 95df9286d2..a50cd06c07 100644
--- a/tools/cli/commands.js
+++ b/tools/cli/commands.js
@@ -517,6 +517,7 @@ main.registerCommand({
minimal: { type: Boolean },
full: { type: Boolean },
react: { type: Boolean },
+ vue: { type: Boolean },
typescript: { type: Boolean },
},
catalogRefresh: new catalog.Refresh.Never()
@@ -770,6 +771,8 @@ main.registerCommand({
skelName += "-full";
} else if (options.react) {
skelName += "-react";
+ } else if (options.vue) {
+ skelName += "-vue";
} else if (options.typescript) {
skelName += "-typescript";
}
@@ -886,8 +889,9 @@ main.registerCommand({
! options.minimal &&
! options.full &&
! options.react &&
+ ! options.vue &&
! options.typescript) {
- // Notify people about --bare, --minimal, --full, --react, and --typescript.
+ // Notify people about --bare, --minimal, --full, --react, --vue, and --typescript.
Console.info([
"",
"To start with a different app template, try one of the following:",
@@ -898,6 +902,7 @@ main.registerCommand({
cmd("meteor create --minimal # to create an app with as few Meteor packages as possible");
cmd("meteor create --full # to create a more complete scaffolded app");
cmd("meteor create --react # to create a basic React-based app");
+ cmd("meteor create --vue # to create a basic Vue-based app");
cmd("meteor create --typescript # to create an app using TypeScript and React");
}
diff --git a/tools/static-assets/skel-vue/.gitignore b/tools/static-assets/skel-vue/.gitignore
new file mode 100644
index 0000000000..c2658d7d1b
--- /dev/null
+++ b/tools/static-assets/skel-vue/.gitignore
@@ -0,0 +1 @@
+node_modules/
diff --git a/tools/static-assets/skel-vue/.meteor/.gitignore b/tools/static-assets/skel-vue/.meteor/.gitignore
new file mode 100644
index 0000000000..4083037423
--- /dev/null
+++ b/tools/static-assets/skel-vue/.meteor/.gitignore
@@ -0,0 +1 @@
+local
diff --git a/tools/static-assets/skel-vue/.meteor/packages b/tools/static-assets/skel-vue/.meteor/packages
new file mode 100644
index 0000000000..83be6b3a62
--- /dev/null
+++ b/tools/static-assets/skel-vue/.meteor/packages
@@ -0,0 +1,24 @@
+# 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/.meteor/platforms b/tools/static-assets/skel-vue/.meteor/platforms
new file mode 100644
index 0000000000..efeba1b50c
--- /dev/null
+++ b/tools/static-assets/skel-vue/.meteor/platforms
@@ -0,0 +1,2 @@
+server
+browser
diff --git a/tools/static-assets/skel-vue/package.json b/tools/static-assets/skel-vue/package.json
new file mode 100644
index 0000000000..97a009989c
--- /dev/null
+++ b/tools/static-assets/skel-vue/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "skel",
+ "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.8.3",
+ "meteor-node-stubs": "^1.0.0",
+ "vue": "^2.6.11",
+ "vue-meteor-tracker": "^2.0.0-beta.5"
+ },
+ "meteor": {
+ "mainModule": {
+ "client": "src/client.js",
+ "server": "src/server.js"
+ },
+ "testModule": "tests/main.js"
+ }
+}
diff --git a/tools/static-assets/skel-vue/src/App.vue b/tools/static-assets/skel-vue/src/App.vue
new file mode 100644
index 0000000000..e126098ccb
--- /dev/null
+++ b/tools/static-assets/skel-vue/src/App.vue
@@ -0,0 +1,26 @@
+
+ You've pressed the button {{counter}} times.Welcome to Meteor!
+ Learn Meteor!
+
+
+