From f6aeb0fb7319fac6fa807cc4e3a5a5ad1e6e29b9 Mon Sep 17 00:00:00 2001 From: david-bfg Date: Thu, 6 Jan 2022 17:01:49 -0600 Subject: [PATCH 1/2] Updated project dependencies and removed vue-ssr + roles packages. Removed packages had dependency problems with latest meteor. --- boilerplate/.meteor/.finished-upgraders | 1 + boilerplate/.meteor/packages | 31 ++--- boilerplate/.meteor/release | 2 +- boilerplate/.meteor/versions | 156 ++++++++++++------------ boilerplate/package.json | 3 + boilerplate/src/server/index.js | 102 ++++++++-------- 6 files changed, 148 insertions(+), 147 deletions(-) diff --git a/boilerplate/.meteor/.finished-upgraders b/boilerplate/.meteor/.finished-upgraders index 4538749..c07b6ff 100644 --- a/boilerplate/.meteor/.finished-upgraders +++ b/boilerplate/.meteor/.finished-upgraders @@ -16,3 +16,4 @@ notices-for-facebook-graph-api-2 1.4.3-split-account-service-packages 1.5-add-dynamic-import-package 1.7-split-underscore-from-meteor-base +1.8.3-split-jquery-from-blaze diff --git a/boilerplate/.meteor/packages b/boilerplate/.meteor/packages index 81acd18..8c3a5f3 100644 --- a/boilerplate/.meteor/packages +++ b/boilerplate/.meteor/packages @@ -1,17 +1,17 @@ # Meteor packages used by this project, one per line. # Core Packages -meteor-base@1.4.0 # Packages every Meteor app needs to have -mobile-experience@1.0.5 # Packages for a great mobile user experience -dynamic-import@0.5.1 # Runtime support for Meteor 1.5 dynamic import(...) syntax -shell-server@0.4.0 # Server-side component of the `meteor shell` command +meteor-base@1.5.1 # Packages every Meteor app needs to have +mobile-experience@1.1.0 # Packages for a great mobile user experience +dynamic-import@0.7.2 # Runtime support for Meteor 1.5 dynamic import(...) syntax +shell-server@0.5.0 # Server-side component of the `meteor shell` command es5-shim@4.8.0 # ECMAScript 5 compatibility for older browsers -ecmascript@0.13.0 # Enable ECMAScript2015+ syntax in app code -static-html@1.2.2 # Define static page content in .html files +ecmascript@0.16.1 # Enable ECMAScript2015+ syntax in app code +static-html@1.3.2 # Define static page content in .html files # JS/Styles minifier -standard-minifier-js@2.5.0 # JS minifier run for production mode -standard-minifier-css@1.5.4 # Reduces amount of white-space parsing CSS with ParseCSS +standard-minifier-js@2.8.0 # JS minifier run for production mode +standard-minifier-css@1.7.4 # Reduces amount of white-space parsing CSS with ParseCSS # Reactive reactive-var@1.0.11 # Reactive variable for tracker @@ -19,7 +19,7 @@ tracker@1.2.0 # Meteor's client-side reactive program session@1.2.0 # Session variable. Provides a global object on the client # Data -mongo@1.6.2 # The database Meteor supports right now +mongo@1.13.0 # The database Meteor supports right now aldeed:collection2@3.0.0 # Allows you to attach a schema to a Mongo.Collection check@1.3.1 # Package for argument checking and general pattern matching deanius:promise@3.1.3 # Utilities for Promise-based wrappers, method calls, helpers and HTTP in Meteor @@ -27,21 +27,21 @@ deanius:promise@3.1.3 # Utilities for Promise-based wrappers # Vue.js Wrapper Meteor akryum:vue # Integrate Vue with Meteor akryum:vue-component # VueJS single-file components that hot-reloads -akryum:vue-ssr # Vue Server Side Rendering +# akryum:vue-ssr # Vue Server Side Rendering # Stylus akryum:vue-stylus # Add stylus support for vue components # Accouns -accounts-password@1.5.1 # Contains a full system for password-based authentication -accounts-base@1.4.5 # The basic functions necessary for user accounts and lets other packages register login service -alanning:roles@1.2.16 # Authorization package for Meteor +accounts-password@2.2.0 # Contains a full system for password-based authentication +accounts-base@2.2.0 # The basic functions necessary for user accounts and lets other packages register login service +# alanning:roles@1.2.16 # Authorization package for Meteor # Security audit-argument-checks@1.0.7 # This package causes Meteor to require that all arguments passed to methods and publish functions are checked mdg:validated-method@1.1.0 # Define Meteor methods in a structured way, with mixins mdg:validation-error@0.5.1 # Validation error to indicate that a method call has failed and the client can fix it by changing specific arguments -ddp-rate-limiter@1.0.7 # A rate limiter added directly to DDP that provides an API to add rules to Meteor methods and collections. +ddp-rate-limiter@1.1.0 # A rate limiter added directly to DDP that provides an API to add rules to Meteor methods and collections. # Testing meteortesting:mocha@1.0.0 # A Mocha test driver package for Meteor @@ -49,3 +49,6 @@ underscore@1.0.10 ostrio:files froala:editor jquery # Helpful client-side library +nathantreid:vue-typescript +nathantreid:vue-typescript-babel +typescript@4.4.1 diff --git a/boilerplate/.meteor/release b/boilerplate/.meteor/release index 250a263..c2ff29a 100644 --- a/boilerplate/.meteor/release +++ b/boilerplate/.meteor/release @@ -1 +1 @@ -METEOR@1.8.2 +METEOR@2.5.3 diff --git a/boilerplate/.meteor/versions b/boilerplate/.meteor/versions index 8dc9d95..431a24c 100644 --- a/boilerplate/.meteor/versions +++ b/boilerplate/.meteor/versions @@ -1,114 +1,108 @@ -accounts-base@1.4.5 -accounts-password@1.5.2 +accounts-base@2.2.0 +accounts-password@2.2.0 akryum:npm-check@0.1.2 akryum:vue@1.2.3 -akryum:vue-component@0.15.1 +akryum:vue-component@0.15.2 akryum:vue-component-dev-client@0.4.7 akryum:vue-component-dev-server@0.1.4 -akryum:vue-ssr@0.4.0 akryum:vue-stylus@0.1.3 -alanning:roles@1.2.19 -aldeed:collection2@3.0.4 +aldeed:collection2@3.5.0 allow-deny@1.1.0 audit-argument-checks@1.0.7 -autoupdate@1.6.0 -babel-compiler@7.4.1 -babel-runtime@1.4.0 +autoupdate@1.8.0 +babel-compiler@7.8.0 +babel-runtime@1.5.0 +barbatus:typescript-compiler@0.10.0 +barbatus:typescript-runtime@1.1.0 base64@1.0.12 binary-heap@1.0.11 -blaze-tools@1.0.10 -boilerplate-generator@1.6.0 -caching-compiler@1.2.1 -caching-html-compiler@1.1.3 -callback-hook@1.2.0 +blaze-tools@1.1.2 +boilerplate-generator@1.7.1 +caching-compiler@1.2.2 +caching-html-compiler@1.2.1 +callback-hook@1.4.0 check@1.3.1 -chuangbo:cookie@1.1.0 coffeescript@1.0.17 cosmos:browserify@0.10.0 ddp@1.4.0 -ddp-client@2.3.3 +ddp-client@2.5.0 ddp-common@1.4.0 -ddp-rate-limiter@1.0.7 -ddp-server@2.3.0 +ddp-rate-limiter@1.1.0 +ddp-server@2.5.0 deanius:promise@3.1.3 -deps@1.0.12 diff-sequence@1.1.1 -dynamic-import@0.5.1 -ecmascript@0.13.1 -ecmascript-runtime@0.7.0 -ecmascript-runtime-client@0.9.0 -ecmascript-runtime-server@0.8.0 -ejson@1.1.0 -email@1.2.3 +dynamic-import@0.7.2 +ecmascript@0.16.1 +ecmascript-runtime@0.8.0 +ecmascript-runtime-client@0.12.1 +ecmascript-runtime-server@0.11.0 +ejson@1.1.1 +email@2.2.0 es5-shim@4.8.0 fetch@0.1.1 -fortawesome:fontawesome@4.4.0_1 -froala:editor@2.9.6 +fortawesome:fontawesome@4.7.0 +froala:editor@4.0.1 geojson-utils@1.0.10 hot-code-push@1.0.4 -html-tools@1.0.11 -htmljs@1.0.11 -http@1.4.2 -id-map@1.1.0 -inter-process-messaging@0.1.0 -jquery@1.11.11 -lamhieu:meteorx@2.0.1 -launch-screen@1.1.1 -livedata@1.0.18 -lmieulet:meteor-coverage@1.1.4 +html-tools@1.1.2 +htmljs@1.1.1 +http@1.4.4 +id-map@1.1.1 +inter-process-messaging@0.1.1 +jquery@3.0.0 +launch-screen@1.3.0 +lmieulet:meteor-coverage@3.2.0 localstorage@1.2.0 -logging@1.1.20 +logging@1.3.1 mdg:validated-method@1.2.0 mdg:validation-error@0.5.1 -meteor@1.9.3 -meteor-base@1.4.0 -meteorhacks:picker@1.0.3 -meteortesting:browser-tests@1.0.0 -meteortesting:mocha@1.1.3 -meteortesting:mocha-core@1.0.1 -minifier-css@1.4.3 -minifier-js@2.5.1 -minimongo@1.4.5 -mobile-experience@1.0.5 -mobile-status-bar@1.0.14 -modern-browsers@0.1.4 -modules@0.14.0 -modules-runtime@0.11.0 -mongo@1.7.0 -mongo-decimal@0.1.1 +meteor@1.10.0 +meteor-base@1.5.1 +meteortesting:browser-tests@1.3.5 +meteortesting:mocha@1.1.5 +meteortesting:mocha-core@7.2.0 +minifier-css@1.6.0 +minifier-js@2.7.3 +minimongo@1.7.0 +mobile-experience@1.1.0 +mobile-status-bar@1.1.0 +modern-browsers@0.1.7 +modules@0.18.0 +modules-runtime@0.12.0 +mongo@1.13.0 +mongo-decimal@0.1.2 mongo-dev-server@1.1.0 -mongo-id@1.0.7 -npm-bcrypt@0.9.3 -npm-mongo@3.2.0 +mongo-id@1.0.8 +nathantreid:vue-typescript@0.0.2 +nathantreid:vue-typescript-babel@1.0.3 +npm-mongo@3.9.1 ordered-dict@1.1.0 -ostrio:cookies@2.5.0 -ostrio:files@1.13.0 -promise@0.11.2 -raix:eventemitter@0.1.3 -random@1.1.0 +ostrio:cookies@2.7.0 +ostrio:files@2.0.1 +promise@0.12.0 +raix:eventemitter@1.0.0 +random@1.2.0 rate-limit@1.0.9 +react-fast-refresh@0.2.2 reactive-dict@1.3.0 reactive-var@1.0.11 -reload@1.3.0 +reload@1.3.1 retry@1.1.0 -routepolicy@1.1.0 -server-render@0.3.1 -service-configuration@1.0.11 +routepolicy@1.1.1 +service-configuration@1.3.0 session@1.2.0 sha@1.0.9 -shell-server@0.4.0 -socket-stream-client@0.2.2 -spacebars-compiler@1.1.3 -srp@1.0.12 -standard-minifier-css@1.5.4 -standard-minifier-js@2.5.2 -staringatlights:fast-render@3.2.0 -staringatlights:inject-data@2.3.0 -static-html@1.2.2 -templating-tools@1.1.2 -tmeasday:check-npm-versions@0.3.2 +shell-server@0.5.0 +socket-stream-client@0.4.0 +spacebars-compiler@1.3.0 +standard-minifier-css@1.7.4 +standard-minifier-js@2.8.0 +static-html@1.3.2 +templating-tools@1.2.1 +tmeasday:check-npm-versions@1.0.2 tracker@1.2.0 +typescript@4.4.1 underscore@1.0.10 -url@1.2.0 -webapp@1.7.5 -webapp-hashing@1.0.9 +url@1.3.2 +webapp@1.13.0 +webapp-hashing@1.1.0 diff --git a/boilerplate/package.json b/boilerplate/package.json index b2bfb56..662e38d 100644 --- a/boilerplate/package.json +++ b/boilerplate/package.json @@ -37,6 +37,9 @@ "vuex-router-sync": "^5.0.0" }, "devDependencies": { + "@babel/core": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-typescript": "^7.16.7", "babel-eslint": "^10.0.3", "eslint": "^6.7.2", "eslint-config-standard": "^14.1.0", diff --git a/boilerplate/src/server/index.js b/boilerplate/src/server/index.js index 59661c2..9009b5e 100644 --- a/boilerplate/src/server/index.js +++ b/boilerplate/src/server/index.js @@ -1,57 +1,57 @@ import '../imports/startup/server' -import { VueSSR } from 'meteor/akryum:vue-ssr' -import CreateApp from '../imports/app' +// import { VueSSR } from 'meteor/akryum:vue-ssr' +// import CreateApp from '../imports/app' const isDev = process.env.NODE_ENV !== 'production' // Simple createApp -VueSSR.createApp = function (context) { - const s = isDev && Date.now() - - return new Promise((resolve, reject) => { - const { app, router, store } = CreateApp({ - ssr: true - }) - - // set router's location - router.push(context.url) - - // wait until router has resolved possible async hooks - router.onReady(() => { - const matchedComponents = router.getMatchedComponents() - - // no matched routes - if (!matchedComponents.length) { - reject({ code: 404 }) - } - - context.js = '' - - // Call preFetch hooks on components matched by the route. - // A preFetch hook dispatches a store action and returns a Promise, - // which is resolved when the action is complete and store state has been - // updated. - Promise.all(matchedComponents.map(component => { - return component.asyncData && component.asyncData({ - store, - route: router.currentRoute - }) - })).then(() => { - context.rendered = () => { - isDev && console.log(`[SSR] Data prefetch: ${Date.now() - s}ms`) - - // After all preFetch hooks are resolved, our store is now - // filled with the state needed to render the app. - // Expose the state on the render context, and let the request handler - // inline the state in the HTML response. This allows the client-side - // store to pick-up the server-side state without having to duplicate - // the initial data fetching on the client. - - context.js += `window.__INITIAL_STATE__=${JSON.stringify(store.state)};` - } - resolve(app) - }).catch(reject) - }) - }) -} +// VueSSR.createApp = function (context) { +// const s = isDev && Date.now() + +// return new Promise((resolve, reject) => { +// const { app, router, store } = CreateApp({ +// ssr: true +// }) + +// // set router's location +// router.push(context.url) + +// // wait until router has resolved possible async hooks +// router.onReady(() => { +// const matchedComponents = router.getMatchedComponents() + +// // no matched routes +// if (!matchedComponents.length) { +// reject({ code: 404 }) +// } + +// context.js = '' + +// // Call preFetch hooks on components matched by the route. +// // A preFetch hook dispatches a store action and returns a Promise, +// // which is resolved when the action is complete and store state has been +// // updated. +// Promise.all(matchedComponents.map(component => { +// return component.asyncData && component.asyncData({ +// store, +// route: router.currentRoute +// }) +// })).then(() => { +// context.rendered = () => { +// isDev && console.log(`[SSR] Data prefetch: ${Date.now() - s}ms`) + +// // After all preFetch hooks are resolved, our store is now +// // filled with the state needed to render the app. +// // Expose the state on the render context, and let the request handler +// // inline the state in the HTML response. This allows the client-side +// // store to pick-up the server-side state without having to duplicate +// // the initial data fetching on the client. + +// context.js += `window.__INITIAL_STATE__=${JSON.stringify(store.state)};` +// } +// resolve(app) +// }).catch(reject) +// }) +// }) +// } From a813b4633955c1415139323a5b42b2c6d13873b6 Mon Sep 17 00:00:00 2001 From: david-bfg Date: Thu, 6 Jan 2022 17:29:14 -0600 Subject: [PATCH 2/2] Boilerplate readme description modified to explain project changes. --- boilerplate/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boilerplate/README.md b/boilerplate/README.md index 4c7f6c3..f9f6476 100644 --- a/boilerplate/README.md +++ b/boilerplate/README.md @@ -6,4 +6,7 @@ ## Contributors -Check the [issues](https://github.com/alexandesigner/lets/issues) that are open and if you have a new idea open an issue, you will be welcome to discuss an improvement, bug or critical \ No newline at end of file +Check the [issues](https://github.com/alexandesigner/lets/issues) that are open and if you have a new idea open an issue, you will be welcome to discuss an improvement, bug or critical + +** David-bfg contributed updates to allow project to build with the latest Meteor 2.5 release. Vue server side rendering and roles have been removed due to dependency issues with the latest meteor. +Removed packages can be found commented out here boilerplate/.meteor/packages . If your project requires these features you may uncomment the packages and work on integrating them into your project.