├── .eslintrc.js
├── .gitignore
├── LICENSE
├── README.md
├── demo-app
├── .gitignore
├── .meteor
│ ├── .finished-upgraders
│ ├── .gitignore
│ ├── .id
│ ├── packages
│ ├── platforms
│ ├── release
│ └── versions
├── client
│ ├── head.html
│ ├── main.js
│ └── main.less
├── imports
│ ├── api
│ │ └── links
│ │ │ ├── links.js
│ │ │ ├── links.tests.js
│ │ │ ├── methods.js
│ │ │ ├── methods.tests.js
│ │ │ └── server
│ │ │ ├── publications.js
│ │ │ └── publications.tests.js
│ ├── startup
│ │ ├── both
│ │ │ └── index.js
│ │ ├── client
│ │ │ ├── index.js
│ │ │ └── routes.js
│ │ └── server
│ │ │ ├── fixtures.js
│ │ │ ├── index.js
│ │ │ └── register-api.js
│ └── ui
│ │ ├── components
│ │ ├── App.vue
│ │ ├── Counter.vue
│ │ ├── Info.vue
│ │ ├── ScriptSetup.vue
│ │ ├── hello
│ │ │ ├── hello.html
│ │ │ └── hello.js
│ │ └── info
│ │ │ ├── info.html
│ │ │ └── info.js
│ │ ├── layouts
│ │ └── body
│ │ │ ├── body.html
│ │ │ └── body.js
│ │ ├── pages
│ │ ├── home
│ │ │ ├── home.html
│ │ │ └── home.js
│ │ └── not-found
│ │ │ ├── not-found.html
│ │ │ └── not-found.js
│ │ └── stylesheets
│ │ └── not-found.less
├── package.json
├── packages
├── private
│ └── README.md
├── public
│ └── img
│ │ ├── 404.svg
│ │ └── bg-footer.svg
├── server
│ └── main.js
└── yarn.lock
├── package.json
├── packages
└── vue3
│ ├── .versions
│ ├── README.md
│ ├── package.js
│ ├── src
│ ├── build
│ │ ├── compiler.js
│ │ ├── error.js
│ │ ├── hmr.js
│ │ ├── index.js
│ │ └── source-map.js
│ ├── dev-server.ts
│ └── index.ts
│ └── tsconfig.json
├── tsconfig.json
└── yarn.lock
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | extends: 'standard-with-typescript',
3 | parserOptions: {
4 | project: './tsconfig.json',
5 | },
6 | env: {
7 | browser: true,
8 | },
9 | globals: {
10 | Package: true,
11 | Npm: true,
12 | Meteor: true,
13 | Tracker: true,
14 | MultiFileCachingCompiler: true,
15 | Babel: true,
16 | },
17 | rules: {
18 | 'comma-dangle': ['error', 'always-multiline'],
19 | },
20 | }
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 |
9 | # Diagnostic reports (https://nodejs.org/api/report.html)
10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
11 |
12 | # Runtime data
13 | pids
14 | *.pid
15 | *.seed
16 | *.pid.lock
17 |
18 | # Directory for instrumented libs generated by jscoverage/JSCover
19 | lib-cov
20 |
21 | # Coverage directory used by tools like istanbul
22 | coverage
23 | *.lcov
24 |
25 | # nyc test coverage
26 | .nyc_output
27 |
28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
29 | .grunt
30 |
31 | # Bower dependency directory (https://bower.io/)
32 | bower_components
33 |
34 | # node-waf configuration
35 | .lock-wscript
36 |
37 | # Compiled binary addons (https://nodejs.org/api/addons.html)
38 | build/Release
39 |
40 | # Dependency directories
41 | node_modules/
42 | jspm_packages/
43 |
44 | # TypeScript v1 declaration files
45 | typings/
46 |
47 | # TypeScript cache
48 | *.tsbuildinfo
49 |
50 | # Optional npm cache directory
51 | .npm
52 |
53 | # Optional eslint cache
54 | .eslintcache
55 |
56 | # Microbundle cache
57 | .rpt2_cache/
58 | .rts2_cache_cjs/
59 | .rts2_cache_es/
60 | .rts2_cache_umd/
61 |
62 | # Optional REPL history
63 | .node_repl_history
64 |
65 | # Output of 'npm pack'
66 | *.tgz
67 |
68 | # Yarn Integrity file
69 | .yarn-integrity
70 |
71 | # dotenv environment variables file
72 | .env
73 | .env.test
74 |
75 | # parcel-bundler cache (https://parceljs.org/)
76 | .cache
77 |
78 | # Next.js build output
79 | .next
80 |
81 | # Nuxt.js build / generate output
82 | .nuxt
83 | dist
84 |
85 | # Gatsby files
86 | .cache/
87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js
88 | # https://nextjs.org/blog/next-9-1#public-directory-support
89 | # public
90 |
91 | # vuepress build output
92 | .vuepress/dist
93 |
94 | # Serverless directories
95 | .serverless/
96 |
97 | # FuseBox cache
98 | .fusebox/
99 |
100 | # DynamoDB Local files
101 | .dynamodb/
102 |
103 | # TernJS port file
104 | .tern-port
105 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 meteor-vue
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Meteor + Vue 3
2 |
3 | ## Packages
4 |
5 | [vuejs:vue3](./packages/vue3)
6 |
--------------------------------------------------------------------------------
/demo-app/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 |
--------------------------------------------------------------------------------
/demo-app/.meteor/.finished-upgraders:
--------------------------------------------------------------------------------
1 | # This file contains information which helps Meteor properly upgrade your
2 | # app when you run 'meteor update'. You should check it into version control
3 | # with your project.
4 |
5 | notices-for-0.9.0
6 | notices-for-0.9.1
7 | 0.9.4-platform-file
8 | notices-for-facebook-graph-api-2
9 | 1.2.0-standard-minifiers-package
10 | 1.2.0-meteor-platform-split
11 | 1.2.0-cordova-changes
12 | 1.2.0-breaking-changes
13 | 1.3.0-split-minifiers-package
14 | 1.4.0-remove-old-dev-bundle-link
15 | 1.4.1-add-shell-server-package
16 | 1.4.3-split-account-service-packages
17 | 1.5-add-dynamic-import-package
18 | 1.7-split-underscore-from-meteor-base
19 | 1.8.3-split-jquery-from-blaze
20 |
--------------------------------------------------------------------------------
/demo-app/.meteor/.gitignore:
--------------------------------------------------------------------------------
1 | local
2 |
--------------------------------------------------------------------------------
/demo-app/.meteor/.id:
--------------------------------------------------------------------------------
1 | # This file contains a token that is unique to your project.
2 | # Check it into your repository along with the rest of this directory.
3 | # It can be used for purposes such as:
4 | # - ensuring you don't accidentally deploy one app on top of another
5 | # - providing package authors with aggregated statistics
6 |
7 | gxew4jvlrson.k6lce27wvq8v
8 |
--------------------------------------------------------------------------------
/demo-app/.meteor/packages:
--------------------------------------------------------------------------------
1 | # Meteor packages used by this project, one per line.
2 | # Check this file (and the other files in this directory) into your repository.
3 | #
4 | # 'meteor add' and 'meteor remove' will edit this file for you,
5 | # but you can also edit it by hand.
6 |
7 | meteor-base@1.5.1 # Packages every Meteor app needs to have
8 | mobile-experience@1.1.0 # Packages for a great mobile UX
9 | mongo@1.12.0 # The database Meteor supports right now
10 | blaze-html-templates # Compile .html files into Meteor Blaze views
11 | jquery # Wrapper package for npm-installed jquery
12 | reactive-var@1.0.11 # Reactive variable for tracker
13 | tracker@1.2.0 # Meteor's client-side reactive programming library
14 |
15 | standard-minifier-css@1.7.3 # CSS minifier run for production mode
16 | standard-minifier-js@2.6.1 # JS minifier run for production mode
17 | es5-shim@4.8.0 # ECMAScript 5 compatibility for older browsers
18 | ecmascript@0.15.3 # Enable ECMAScript2015+ syntax in app code
19 | typescript@4.3.5 # Enable TypeScript syntax in .ts and .tsx modules
20 | shell-server@0.5.0 # Server-side component of the `meteor shell` command
21 |
22 | ostrio:flow-router-extra # FlowRouter is a very simple router for Meteor
23 | less # Leaner CSS language
24 |
25 | meteortesting:mocha # A package for writing and running your meteor app and package tests with mocha
26 | johanbrook:publication-collector # Test a Meteor publication by collecting its output
27 | hot-module-replacement@0.3.0
28 |
29 | vuejs:vue3
30 |
--------------------------------------------------------------------------------
/demo-app/.meteor/platforms:
--------------------------------------------------------------------------------
1 | server
2 | browser
3 |
--------------------------------------------------------------------------------
/demo-app/.meteor/release:
--------------------------------------------------------------------------------
1 | METEOR@2.3.5
2 |
--------------------------------------------------------------------------------
/demo-app/.meteor/versions:
--------------------------------------------------------------------------------
1 | allow-deny@1.1.0
2 | autoupdate@1.7.0
3 | babel-compiler@7.7.0
4 | babel-runtime@1.5.0
5 | base64@1.0.12
6 | binary-heap@1.0.11
7 | blaze@2.5.0
8 | blaze-html-templates@1.2.1
9 | blaze-tools@1.1.2
10 | boilerplate-generator@1.7.1
11 | caching-compiler@1.2.2
12 | caching-html-compiler@1.2.0
13 | callback-hook@1.3.1
14 | check@1.3.1
15 | ddp@1.4.0
16 | ddp-client@2.5.0
17 | ddp-common@1.4.0
18 | ddp-server@2.4.1
19 | diff-sequence@1.1.1
20 | dynamic-import@0.7.1
21 | ecmascript@0.15.3
22 | ecmascript-runtime@0.7.0
23 | ecmascript-runtime-client@0.11.1
24 | ecmascript-runtime-server@0.10.1
25 | ejson@1.1.1
26 | es5-shim@4.8.0
27 | fetch@0.1.1
28 | geojson-utils@1.0.10
29 | hot-code-push@1.0.4
30 | hot-module-replacement@0.3.0
31 | html-tools@1.1.2
32 | htmljs@1.1.1
33 | http@1.0.10
34 | id-map@1.1.1
35 | inter-process-messaging@0.1.1
36 | johanbrook:publication-collector@1.1.0
37 | jquery@3.0.0
38 | launch-screen@1.3.0
39 | less@4.0.0
40 | logging@1.2.0
41 | meteor@1.9.3
42 | meteor-base@1.5.1
43 | meteortesting:browser-tests@1.3.4
44 | meteortesting:mocha@2.0.2
45 | meteortesting:mocha-core@8.0.1
46 | minifier-css@1.5.4
47 | minifier-js@2.6.1
48 | minimongo@1.7.0
49 | mobile-experience@1.1.0
50 | mobile-status-bar@1.1.0
51 | modern-browsers@0.1.5
52 | modules@0.16.0
53 | modules-runtime@0.12.0
54 | modules-runtime-hot@0.13.0
55 | mongo@1.12.0
56 | mongo-decimal@0.1.2
57 | mongo-dev-server@1.1.0
58 | mongo-id@1.0.8
59 | npm-mongo@3.9.1
60 | observe-sequence@1.0.19
61 | ordered-dict@1.1.0
62 | ostrio:flow-router-extra@3.7.5
63 | promise@0.12.0
64 | random@1.2.0
65 | react-fast-refresh@0.1.1
66 | reactive-dict@1.3.0
67 | reactive-var@1.0.11
68 | reload@1.3.1
69 | retry@1.1.0
70 | routepolicy@1.1.1
71 | shell-server@0.5.0
72 | socket-stream-client@0.4.0
73 | spacebars@1.2.0
74 | spacebars-compiler@1.2.1
75 | standard-minifier-css@1.7.3
76 | standard-minifier-js@2.6.1
77 | templating@1.4.1
78 | templating-compiler@1.4.1
79 | templating-runtime@1.5.0
80 | templating-tools@1.2.0
81 | tmeasday:check-npm-versions@1.0.2
82 | tracker@1.2.0
83 | typescript@4.3.5
84 | ui@1.0.13
85 | underscore@1.0.10
86 | url@1.3.2
87 | vuejs:vue3@0.0.1
88 | webapp@1.11.1
89 | webapp-hashing@1.1.0
90 |
--------------------------------------------------------------------------------
/demo-app/client/head.html:
--------------------------------------------------------------------------------
1 |
2 | demo-app
3 |
4 |
--------------------------------------------------------------------------------
/demo-app/client/main.js:
--------------------------------------------------------------------------------
1 | // Client entry point, imports all client code
2 |
3 | import '/imports/startup/client';
4 | import '/imports/startup/both';
5 |
--------------------------------------------------------------------------------
/demo-app/client/main.less:
--------------------------------------------------------------------------------
1 | @import "{}/imports/ui/stylesheets/not-found.less";
2 |
--------------------------------------------------------------------------------
/demo-app/imports/api/links/links.js:
--------------------------------------------------------------------------------
1 | // Definition of the links collection
2 |
3 | import { Mongo } from 'meteor/mongo';
4 |
5 | export const Links = new Mongo.Collection('links');
6 |
--------------------------------------------------------------------------------
/demo-app/imports/api/links/links.tests.js:
--------------------------------------------------------------------------------
1 | // Tests for the behavior of the links collection
2 | //
3 | // https://guide.meteor.com/testing.html
4 |
5 | import { Meteor } from 'meteor/meteor';
6 | import { assert } from 'chai';
7 | import { Links } from './links.js';
8 |
9 | if (Meteor.isServer) {
10 | describe('links collection', function () {
11 | it('insert correctly', function () {
12 | const linkId = Links.insert({
13 | title: 'meteor homepage',
14 | url: 'https://www.meteor.com',
15 | });
16 | const added = Links.find({ _id: linkId });
17 | const collectionName = added._getCollectionName();
18 | const count = added.count();
19 |
20 | assert.equal(collectionName, 'links');
21 | assert.equal(count, 1);
22 | });
23 | });
24 | }
25 |
--------------------------------------------------------------------------------
/demo-app/imports/api/links/methods.js:
--------------------------------------------------------------------------------
1 | // Methods related to links
2 |
3 | import { Meteor } from 'meteor/meteor';
4 | import { check } from 'meteor/check';
5 | import { Links } from './links.js';
6 |
7 | Meteor.methods({
8 | 'links.insert'(title, url) {
9 | check(url, String);
10 | check(title, String);
11 |
12 | return Links.insert({
13 | url,
14 | title,
15 | createdAt: new Date(),
16 | });
17 | },
18 | });
19 |
--------------------------------------------------------------------------------
/demo-app/imports/api/links/methods.tests.js:
--------------------------------------------------------------------------------
1 | // Tests for links methods
2 | //
3 | // https://guide.meteor.com/testing.html
4 |
5 | import { Meteor } from 'meteor/meteor';
6 | import { assert } from 'chai';
7 | import { Links } from './links.js';
8 | import './methods.js';
9 |
10 | if (Meteor.isServer) {
11 | describe('links methods', function () {
12 | beforeEach(function () {
13 | Links.remove({});
14 | });
15 |
16 | it('can add a new link', function () {
17 | const addLink = Meteor.server.method_handlers['links.insert'];
18 |
19 | addLink.apply({}, ['meteor.com', 'https://www.meteor.com']);
20 |
21 | assert.equal(Links.find().count(), 1);
22 | });
23 | });
24 | }
25 |
--------------------------------------------------------------------------------
/demo-app/imports/api/links/server/publications.js:
--------------------------------------------------------------------------------
1 | // All links-related publications
2 |
3 | import { Meteor } from 'meteor/meteor';
4 | import { Links } from '../links.js';
5 |
6 | Meteor.publish('links.all', function () {
7 | return Links.find();
8 | });
9 |
--------------------------------------------------------------------------------
/demo-app/imports/api/links/server/publications.tests.js:
--------------------------------------------------------------------------------
1 | // Tests for the links publications
2 | //
3 | // https://guide.meteor.com/testing.html
4 |
5 | import { assert } from 'chai';
6 | import { Links } from '../links.js';
7 | import { PublicationCollector } from 'meteor/johanbrook:publication-collector';
8 | import './publications.js';
9 |
10 | describe('links publications', function () {
11 | beforeEach(function () {
12 | Links.remove({});
13 | Links.insert({
14 | title: 'meteor homepage',
15 | url: 'https://www.meteor.com',
16 | });
17 | });
18 |
19 | describe('links.all', function () {
20 | it('sends all links', function (done) {
21 | const collector = new PublicationCollector();
22 | collector.collect('links.all', (collections) => {
23 | assert.equal(collections.links.length, 1);
24 | done();
25 | });
26 | });
27 | });
28 | });
29 |
--------------------------------------------------------------------------------
/demo-app/imports/startup/both/index.js:
--------------------------------------------------------------------------------
1 | // Import modules used by both client and server through a single index entry point
2 | // e.g. useraccounts configuration file.
3 |
--------------------------------------------------------------------------------
/demo-app/imports/startup/client/index.js:
--------------------------------------------------------------------------------
1 | // Import client startup through a single index entry point
2 |
3 | import './routes.js';
4 |
--------------------------------------------------------------------------------
/demo-app/imports/startup/client/routes.js:
--------------------------------------------------------------------------------
1 | import { FlowRouter } from 'meteor/ostrio:flow-router-extra';
2 |
3 | // Import needed templates
4 | import '../../ui/layouts/body/body.js';
5 | import '../../ui/pages/home/home.js';
6 | import '../../ui/pages/not-found/not-found.js';
7 |
8 | // Set up all routes in the app
9 | FlowRouter.route('/', {
10 | name: 'App.home',
11 | action() {
12 | this.render('App_body', 'App_home');
13 | },
14 | });
15 |
16 | FlowRouter.notFound = {
17 | action() {
18 | this.render('App_body', 'App_notFound');
19 | },
20 | };
21 |
--------------------------------------------------------------------------------
/demo-app/imports/startup/server/fixtures.js:
--------------------------------------------------------------------------------
1 | // Fill the DB with example data on startup
2 |
3 | import { Meteor } from 'meteor/meteor';
4 | import { Links } from '../../api/links/links.js';
5 |
6 | Meteor.startup(() => {
7 | // if the Links collection is empty
8 | if (Links.find().count() === 0) {
9 | const data = [
10 | {
11 | title: 'Do the Tutorial',
12 | url: 'https://www.meteor.com/try',
13 | createdAt: new Date(),
14 | },
15 | {
16 | title: 'Follow the Guide',
17 | url: 'http://guide.meteor.com',
18 | createdAt: new Date(),
19 | },
20 | {
21 | title: 'Read the Docs',
22 | url: 'https://docs.meteor.com',
23 | createdAt: new Date(),
24 | },
25 | {
26 | title: 'Discussions',
27 | url: 'https://forums.meteor.com',
28 | createdAt: new Date(),
29 | },
30 | ];
31 |
32 | data.forEach(link => Links.insert(link));
33 | }
34 | });
35 |
--------------------------------------------------------------------------------
/demo-app/imports/startup/server/index.js:
--------------------------------------------------------------------------------
1 | // Import server startup through a single index entry point
2 |
3 | import './fixtures.js';
4 | import './register-api.js';
5 |
--------------------------------------------------------------------------------
/demo-app/imports/startup/server/register-api.js:
--------------------------------------------------------------------------------
1 | // Register your apis here
2 |
3 | import '../../api/links/methods.js';
4 | import '../../api/links/server/publications.js';
5 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/components/App.vue:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/components/Counter.vue:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
23 | You've pressed the button {{counter}} times.
24 |
25 |
26 |
27 |
37 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/components/Info.vue:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 | Learn Meteor!
28 |
43 |
44 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/components/ScriptSetup.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 | You've pressed the button {{counter}} times.
15 |
16 |
17 |
27 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/components/hello/hello.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | You've pressed the button {{counter}} times.
4 |
5 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/components/hello/hello.js:
--------------------------------------------------------------------------------
1 | import './hello.html';
2 |
3 | Template.hello.onCreated(function helloOnCreated() {
4 | // counter starts at 0
5 | this.counter = new ReactiveVar(0);
6 | });
7 |
8 | Template.hello.helpers({
9 | counter() {
10 | return Template.instance().counter.get();
11 | },
12 | });
13 |
14 | Template.hello.events({
15 | 'click button'(event, instance) {
16 | // increment the counter when button is clicked
17 | instance.counter.set(instance.counter.get() + 1);
18 | },
19 | });
20 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/components/info/info.html:
--------------------------------------------------------------------------------
1 |
2 | Learn Meteor!
3 |
4 | -
5 |
10 |
11 | {{#each links}}
12 | - {{title}}
13 | {{/each}}
14 |
15 |
16 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/components/info/info.js:
--------------------------------------------------------------------------------
1 | import { Links } from '/imports/api/links/links.js';
2 | import { Meteor } from 'meteor/meteor';
3 | import './info.html';
4 |
5 | Template.info.onCreated(function () {
6 | Meteor.subscribe('links.all');
7 | });
8 |
9 | Template.info.helpers({
10 | links() {
11 | return Links.find({});
12 | },
13 | });
14 |
15 | Template.info.events({
16 | 'submit .info-link-add'(event) {
17 | event.preventDefault();
18 |
19 | const target = event.target;
20 | const title = target.title;
21 | const url = target.url;
22 |
23 | Meteor.call('links.insert', title.value, url.value, (error) => {
24 | if (error) {
25 | alert(error.error);
26 | } else {
27 | title.value = '';
28 | url.value = '';
29 | }
30 | });
31 | },
32 | });
33 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/layouts/body/body.html:
--------------------------------------------------------------------------------
1 |
2 | {{> yield}}
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/layouts/body/body.js:
--------------------------------------------------------------------------------
1 | import './body.html'
2 | import { Meteor } from 'meteor/meteor'
3 | import { createApp } from 'vue'
4 | import App from '../../components/App.vue'
5 |
6 | Meteor.startup(() => {
7 | const app = createApp(App)
8 | app.mount('#vue-app')
9 | })
10 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/pages/home/home.html:
--------------------------------------------------------------------------------
1 |
2 | {{> hello}}
3 | {{> info}}
4 |
5 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/pages/home/home.js:
--------------------------------------------------------------------------------
1 | import './home.html';
2 |
3 | import '../../components/hello/hello.js';
4 | import '../../components/info/info.js';
5 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/pages/not-found/not-found.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |

5 |
6 |
7 |
Sorry, that page doesn't exist
8 |
Go to home
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/pages/not-found/not-found.js:
--------------------------------------------------------------------------------
1 | import './not-found.html';
2 |
--------------------------------------------------------------------------------
/demo-app/imports/ui/stylesheets/not-found.less:
--------------------------------------------------------------------------------
1 | #not-found {
2 | width: 700px;
3 | margin: 0 auto;
4 | .not-found-image {
5 | width: 25%;
6 | float: left;
7 | }
8 | .not-found-title {
9 | width: 70%;
10 | float: right;
11 | background: url(/img/bg-footer.svg);
12 | background-repeat: no-repeat;
13 | background-position: center;
14 | background-size: contain;
15 | min-height: 400px;
16 | h1 {
17 | font-size: 30px;
18 | color: #1f2128;
19 | margin-bottom: 20px;
20 | margin-top: 155px;
21 | }
22 | a.gotohomepage {
23 | background-color: #de4f4f;
24 | color: #fff;
25 | width: 180px;
26 | line-height: 40px;
27 | display: block;
28 | text-align: center;
29 | font-size: 14px;
30 | text-decoration: none;
31 | text-transform: uppercase;
32 | height: 40px;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/demo-app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo-app",
3 | "private": true,
4 | "scripts": {
5 | "start": "meteor run",
6 | "test": "meteor test --once --driver-package meteortesting:mocha"
7 | },
8 | "dependencies": {
9 | "@babel/runtime": "^7.14.8",
10 | "jquery": "^3.6.0",
11 | "meteor-node-stubs": "^1.0.3",
12 | "vue": "^3.1.0"
13 | },
14 | "devDependencies": {
15 | "@vue/compiler-sfc": "^3.1.5",
16 | "chai": "^4.2.0"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/demo-app/packages:
--------------------------------------------------------------------------------
1 | ../packages
--------------------------------------------------------------------------------
/demo-app/private/README.md:
--------------------------------------------------------------------------------
1 | **private folder**
2 |
3 | All files inside a top-level directory called `private/` are only accessible from server code and can be loaded via the [`Assets`](http://docs.meteor.com/#/full/assets_getText) API. This can be used for private data files and any files that are in your project directory that you don't want to be accessible from the outside.
4 |
--------------------------------------------------------------------------------
/demo-app/public/img/404.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
114 |
--------------------------------------------------------------------------------
/demo-app/public/img/bg-footer.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/demo-app/server/main.js:
--------------------------------------------------------------------------------
1 | // Server entry point, imports all server code
2 |
3 | import '/imports/startup/server';
4 | import '/imports/startup/both';
5 |
--------------------------------------------------------------------------------
/demo-app/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/helper-validator-identifier@^7.14.9":
6 | version "7.14.9"
7 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48"
8 | integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==
9 |
10 | "@babel/parser@^7.12.0", "@babel/parser@^7.13.9":
11 | version "7.15.2"
12 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.2.tgz#08d4ffcf90d211bf77e7cc7154c6f02d468d2b1d"
13 | integrity sha512-bMJXql1Ss8lFnvr11TZDH4ArtwlAS5NG9qBmdiFW2UHHm6MVoR+GDc5XE2b9K938cyjc9O6/+vjjcffLDtfuDg==
14 |
15 | "@babel/runtime@^7.14.8":
16 | version "7.14.8"
17 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.8.tgz#7119a56f421018852694290b9f9148097391b446"
18 | integrity sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==
19 | dependencies:
20 | regenerator-runtime "^0.13.4"
21 |
22 | "@babel/types@^7.12.0", "@babel/types@^7.13.0":
23 | version "7.15.0"
24 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd"
25 | integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==
26 | dependencies:
27 | "@babel/helper-validator-identifier" "^7.14.9"
28 | to-fast-properties "^2.0.0"
29 |
30 | "@types/estree@^0.0.48":
31 | version "0.0.48"
32 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.48.tgz#18dc8091b285df90db2f25aa7d906cfc394b7f74"
33 | integrity sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==
34 |
35 | "@vue/compiler-core@3.1.5":
36 | version "3.1.5"
37 | resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.1.5.tgz#298f905b6065d6d81ff63756f98c60876b393c87"
38 | integrity sha512-TXBhFinoBaXKDykJzY26UEuQU1K07FOp/0Ie+OXySqqk0bS0ZO7Xvl7UmiTUPYcLrWbxWBR7Bs/y55AI0MNc2Q==
39 | dependencies:
40 | "@babel/parser" "^7.12.0"
41 | "@babel/types" "^7.12.0"
42 | "@vue/shared" "3.1.5"
43 | estree-walker "^2.0.1"
44 | source-map "^0.6.1"
45 |
46 | "@vue/compiler-dom@3.1.5":
47 | version "3.1.5"
48 | resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.1.5.tgz#cbb97020c62a5faa3fbc2a97916bd98041ac9856"
49 | integrity sha512-ZsL3jqJ52OjGU/YiT/9XiuZAmWClKInZM2aFJh9gnsAPqOrj2JIELMbkIFpVKR/CrVO/f2VxfPiiQdQTr65jcQ==
50 | dependencies:
51 | "@vue/compiler-core" "3.1.5"
52 | "@vue/shared" "3.1.5"
53 |
54 | "@vue/compiler-sfc@^3.1.5":
55 | version "3.1.5"
56 | resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.1.5.tgz#e61e54f3a963b0f4a8e523fbb8632390dc52b0d6"
57 | integrity sha512-mtMY6xMvZeSRx9MTa1+NgJWndrkzVTdJ1pQAmAKQuxyb5LsHVvrgP7kcQFvxPHVpLVTORbTJWHaiqoKrJvi1iA==
58 | dependencies:
59 | "@babel/parser" "^7.13.9"
60 | "@babel/types" "^7.13.0"
61 | "@types/estree" "^0.0.48"
62 | "@vue/compiler-core" "3.1.5"
63 | "@vue/compiler-dom" "3.1.5"
64 | "@vue/compiler-ssr" "3.1.5"
65 | "@vue/shared" "3.1.5"
66 | consolidate "^0.16.0"
67 | estree-walker "^2.0.1"
68 | hash-sum "^2.0.0"
69 | lru-cache "^5.1.1"
70 | magic-string "^0.25.7"
71 | merge-source-map "^1.1.0"
72 | postcss "^8.1.10"
73 | postcss-modules "^4.0.0"
74 | postcss-selector-parser "^6.0.4"
75 | source-map "^0.6.1"
76 |
77 | "@vue/compiler-ssr@3.1.5":
78 | version "3.1.5"
79 | resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.1.5.tgz#f068652774293256a1e53084bed48a67682df9d2"
80 | integrity sha512-CU5N7Di/a4lyJ18LGJxJYZS2a8PlLdWpWHX9p/XcsjT2TngMpj3QvHVRkuik2u8QrIDZ8OpYmTyj1WDNsOV+Dg==
81 | dependencies:
82 | "@vue/compiler-dom" "3.1.5"
83 | "@vue/shared" "3.1.5"
84 |
85 | "@vue/reactivity@3.1.5":
86 | version "3.1.5"
87 | resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.1.5.tgz#dbec4d9557f7c8f25c2635db1e23a78a729eb991"
88 | integrity sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==
89 | dependencies:
90 | "@vue/shared" "3.1.5"
91 |
92 | "@vue/runtime-core@3.1.5":
93 | version "3.1.5"
94 | resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.1.5.tgz#a545b7f146092929cb5e833e85439150f17ac87b"
95 | integrity sha512-YQbG5cBktN1RowQDKA22itmvQ+b40f0WgQ6CXK4VYoYICAiAfu6Cc14777ve8zp1rJRGtk5oIeS149TOculrTg==
96 | dependencies:
97 | "@vue/reactivity" "3.1.5"
98 | "@vue/shared" "3.1.5"
99 |
100 | "@vue/runtime-dom@3.1.5":
101 | version "3.1.5"
102 | resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.1.5.tgz#4fa28947d408aa368fa17ea0edc1beb9af1472a1"
103 | integrity sha512-tNcf3JhVR0RfW0kw1p8xZgv30nvX8Y9rsz7eiQ0dHe273sfoCngAG0y4GvMaY4Xd8FsjUwFedd4suQ8Lu8meXg==
104 | dependencies:
105 | "@vue/runtime-core" "3.1.5"
106 | "@vue/shared" "3.1.5"
107 | csstype "^2.6.8"
108 |
109 | "@vue/shared@3.1.5":
110 | version "3.1.5"
111 | resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.1.5.tgz#74ee3aad995d0a3996a6bb9533d4d280514ede03"
112 | integrity sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==
113 |
114 | asn1.js@^5.2.0:
115 | version "5.4.1"
116 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
117 | integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
118 | dependencies:
119 | bn.js "^4.0.0"
120 | inherits "^2.0.1"
121 | minimalistic-assert "^1.0.0"
122 | safer-buffer "^2.1.0"
123 |
124 | assert@^2.0.0:
125 | version "2.0.0"
126 | resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32"
127 | integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==
128 | dependencies:
129 | es6-object-assign "^1.1.0"
130 | is-nan "^1.2.1"
131 | object-is "^1.0.1"
132 | util "^0.12.0"
133 |
134 | assertion-error@^1.1.0:
135 | version "1.1.0"
136 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
137 | integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
138 |
139 | available-typed-arrays@^1.0.4:
140 | version "1.0.4"
141 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz#9e0ae84ecff20caae6a94a1c3bc39b955649b7a9"
142 | integrity sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==
143 |
144 | base64-js@^1.3.1:
145 | version "1.5.1"
146 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
147 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
148 |
149 | big.js@^5.2.2:
150 | version "5.2.2"
151 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
152 | integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
153 |
154 | bluebird@^3.7.2:
155 | version "3.7.2"
156 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
157 | integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
158 |
159 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9:
160 | version "4.12.0"
161 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
162 | integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
163 |
164 | bn.js@^5.0.0, bn.js@^5.1.1:
165 | version "5.2.0"
166 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
167 | integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==
168 |
169 | brorand@^1.0.1, brorand@^1.1.0:
170 | version "1.1.0"
171 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
172 | integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
173 |
174 | browserify-aes@^1.0.0, browserify-aes@^1.0.4:
175 | version "1.2.0"
176 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
177 | integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
178 | dependencies:
179 | buffer-xor "^1.0.3"
180 | cipher-base "^1.0.0"
181 | create-hash "^1.1.0"
182 | evp_bytestokey "^1.0.3"
183 | inherits "^2.0.1"
184 | safe-buffer "^5.0.1"
185 |
186 | browserify-cipher@^1.0.0:
187 | version "1.0.1"
188 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
189 | integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
190 | dependencies:
191 | browserify-aes "^1.0.4"
192 | browserify-des "^1.0.0"
193 | evp_bytestokey "^1.0.0"
194 |
195 | browserify-des@^1.0.0:
196 | version "1.0.2"
197 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
198 | integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
199 | dependencies:
200 | cipher-base "^1.0.1"
201 | des.js "^1.0.0"
202 | inherits "^2.0.1"
203 | safe-buffer "^5.1.2"
204 |
205 | browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
206 | version "4.1.0"
207 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d"
208 | integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==
209 | dependencies:
210 | bn.js "^5.0.0"
211 | randombytes "^2.0.1"
212 |
213 | browserify-sign@^4.0.0:
214 | version "4.2.1"
215 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3"
216 | integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==
217 | dependencies:
218 | bn.js "^5.1.1"
219 | browserify-rsa "^4.0.1"
220 | create-hash "^1.2.0"
221 | create-hmac "^1.1.7"
222 | elliptic "^6.5.3"
223 | inherits "^2.0.4"
224 | parse-asn1 "^5.1.5"
225 | readable-stream "^3.6.0"
226 | safe-buffer "^5.2.0"
227 |
228 | browserify-zlib@^0.2.0:
229 | version "0.2.0"
230 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
231 | integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
232 | dependencies:
233 | pako "~1.0.5"
234 |
235 | buffer-xor@^1.0.3:
236 | version "1.0.3"
237 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
238 | integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
239 |
240 | buffer@^6.0.3:
241 | version "6.0.3"
242 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
243 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
244 | dependencies:
245 | base64-js "^1.3.1"
246 | ieee754 "^1.2.1"
247 |
248 | builtin-status-codes@^3.0.0:
249 | version "3.0.0"
250 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
251 | integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
252 |
253 | call-bind@^1.0.0, call-bind@^1.0.2:
254 | version "1.0.2"
255 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
256 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
257 | dependencies:
258 | function-bind "^1.1.1"
259 | get-intrinsic "^1.0.2"
260 |
261 | chai@^4.2.0:
262 | version "4.3.4"
263 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49"
264 | integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==
265 | dependencies:
266 | assertion-error "^1.1.0"
267 | check-error "^1.0.2"
268 | deep-eql "^3.0.1"
269 | get-func-name "^2.0.0"
270 | pathval "^1.1.1"
271 | type-detect "^4.0.5"
272 |
273 | check-error@^1.0.2:
274 | version "1.0.2"
275 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
276 | integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
277 |
278 | cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
279 | version "1.0.4"
280 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
281 | integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
282 | dependencies:
283 | inherits "^2.0.1"
284 | safe-buffer "^5.0.1"
285 |
286 | colorette@^1.2.2:
287 | version "1.2.2"
288 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
289 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
290 |
291 | console-browserify@^1.2.0:
292 | version "1.2.0"
293 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
294 | integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
295 |
296 | consolidate@^0.16.0:
297 | version "0.16.0"
298 | resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16"
299 | integrity sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==
300 | dependencies:
301 | bluebird "^3.7.2"
302 |
303 | constants-browserify@^1.0.0:
304 | version "1.0.0"
305 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
306 | integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
307 |
308 | create-ecdh@^4.0.0:
309 | version "4.0.4"
310 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
311 | integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
312 | dependencies:
313 | bn.js "^4.1.0"
314 | elliptic "^6.5.3"
315 |
316 | create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
317 | version "1.2.0"
318 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
319 | integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
320 | dependencies:
321 | cipher-base "^1.0.1"
322 | inherits "^2.0.1"
323 | md5.js "^1.3.4"
324 | ripemd160 "^2.0.1"
325 | sha.js "^2.4.0"
326 |
327 | create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
328 | version "1.1.7"
329 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
330 | integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
331 | dependencies:
332 | cipher-base "^1.0.3"
333 | create-hash "^1.1.0"
334 | inherits "^2.0.1"
335 | ripemd160 "^2.0.0"
336 | safe-buffer "^5.0.1"
337 | sha.js "^2.4.8"
338 |
339 | crypto-browserify@^3.12.0:
340 | version "3.12.0"
341 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
342 | integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
343 | dependencies:
344 | browserify-cipher "^1.0.0"
345 | browserify-sign "^4.0.0"
346 | create-ecdh "^4.0.0"
347 | create-hash "^1.1.0"
348 | create-hmac "^1.1.0"
349 | diffie-hellman "^5.0.0"
350 | inherits "^2.0.1"
351 | pbkdf2 "^3.0.3"
352 | public-encrypt "^4.0.0"
353 | randombytes "^2.0.0"
354 | randomfill "^1.0.3"
355 |
356 | cssesc@^3.0.0:
357 | version "3.0.0"
358 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
359 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
360 |
361 | csstype@^2.6.8:
362 | version "2.6.17"
363 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.17.tgz#4cf30eb87e1d1a005d8b6510f95292413f6a1c0e"
364 | integrity sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==
365 |
366 | deep-eql@^3.0.1:
367 | version "3.0.1"
368 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
369 | integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
370 | dependencies:
371 | type-detect "^4.0.0"
372 |
373 | define-properties@^1.1.3:
374 | version "1.1.3"
375 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
376 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
377 | dependencies:
378 | object-keys "^1.0.12"
379 |
380 | des.js@^1.0.0:
381 | version "1.0.1"
382 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
383 | integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==
384 | dependencies:
385 | inherits "^2.0.1"
386 | minimalistic-assert "^1.0.0"
387 |
388 | diffie-hellman@^5.0.0:
389 | version "5.0.3"
390 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
391 | integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
392 | dependencies:
393 | bn.js "^4.1.0"
394 | miller-rabin "^4.0.0"
395 | randombytes "^2.0.0"
396 |
397 | domain-browser@^4.19.0:
398 | version "4.22.0"
399 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.22.0.tgz#6ddd34220ec281f9a65d3386d267ddd35c491f9f"
400 | integrity sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==
401 |
402 | elliptic@^6.5.3, elliptic@^6.5.4:
403 | version "6.5.4"
404 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
405 | integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
406 | dependencies:
407 | bn.js "^4.11.9"
408 | brorand "^1.1.0"
409 | hash.js "^1.0.0"
410 | hmac-drbg "^1.0.1"
411 | inherits "^2.0.4"
412 | minimalistic-assert "^1.0.1"
413 | minimalistic-crypto-utils "^1.0.1"
414 |
415 | emojis-list@^3.0.0:
416 | version "3.0.0"
417 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
418 | integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
419 |
420 | es-abstract@^1.18.5:
421 | version "1.18.5"
422 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.5.tgz#9b10de7d4c206a3581fd5b2124233e04db49ae19"
423 | integrity sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==
424 | dependencies:
425 | call-bind "^1.0.2"
426 | es-to-primitive "^1.2.1"
427 | function-bind "^1.1.1"
428 | get-intrinsic "^1.1.1"
429 | has "^1.0.3"
430 | has-symbols "^1.0.2"
431 | internal-slot "^1.0.3"
432 | is-callable "^1.2.3"
433 | is-negative-zero "^2.0.1"
434 | is-regex "^1.1.3"
435 | is-string "^1.0.6"
436 | object-inspect "^1.11.0"
437 | object-keys "^1.1.1"
438 | object.assign "^4.1.2"
439 | string.prototype.trimend "^1.0.4"
440 | string.prototype.trimstart "^1.0.4"
441 | unbox-primitive "^1.0.1"
442 |
443 | es-to-primitive@^1.2.1:
444 | version "1.2.1"
445 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
446 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
447 | dependencies:
448 | is-callable "^1.1.4"
449 | is-date-object "^1.0.1"
450 | is-symbol "^1.0.2"
451 |
452 | es6-object-assign@^1.1.0:
453 | version "1.1.0"
454 | resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c"
455 | integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=
456 |
457 | estree-walker@^2.0.1:
458 | version "2.0.2"
459 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
460 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
461 |
462 | events@^3.3.0:
463 | version "3.3.0"
464 | resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
465 | integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
466 |
467 | evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
468 | version "1.0.3"
469 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
470 | integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
471 | dependencies:
472 | md5.js "^1.3.4"
473 | safe-buffer "^5.1.1"
474 |
475 | foreach@^2.0.5:
476 | version "2.0.5"
477 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
478 | integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=
479 |
480 | function-bind@^1.1.1:
481 | version "1.1.1"
482 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
483 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
484 |
485 | generic-names@^2.0.1:
486 | version "2.0.1"
487 | resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872"
488 | integrity sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==
489 | dependencies:
490 | loader-utils "^1.1.0"
491 |
492 | get-func-name@^2.0.0:
493 | version "2.0.0"
494 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
495 | integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
496 |
497 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
498 | version "1.1.1"
499 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
500 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
501 | dependencies:
502 | function-bind "^1.1.1"
503 | has "^1.0.3"
504 | has-symbols "^1.0.1"
505 |
506 | has-bigints@^1.0.1:
507 | version "1.0.1"
508 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
509 | integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==
510 |
511 | has-symbols@^1.0.1, has-symbols@^1.0.2:
512 | version "1.0.2"
513 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
514 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
515 |
516 | has-tostringtag@^1.0.0:
517 | version "1.0.0"
518 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
519 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
520 | dependencies:
521 | has-symbols "^1.0.2"
522 |
523 | has@^1.0.3:
524 | version "1.0.3"
525 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
526 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
527 | dependencies:
528 | function-bind "^1.1.1"
529 |
530 | hash-base@^3.0.0:
531 | version "3.1.0"
532 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
533 | integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
534 | dependencies:
535 | inherits "^2.0.4"
536 | readable-stream "^3.6.0"
537 | safe-buffer "^5.2.0"
538 |
539 | hash-sum@^2.0.0:
540 | version "2.0.0"
541 | resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
542 | integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
543 |
544 | hash.js@^1.0.0, hash.js@^1.0.3:
545 | version "1.1.7"
546 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
547 | integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
548 | dependencies:
549 | inherits "^2.0.3"
550 | minimalistic-assert "^1.0.1"
551 |
552 | hmac-drbg@^1.0.1:
553 | version "1.0.1"
554 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
555 | integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
556 | dependencies:
557 | hash.js "^1.0.3"
558 | minimalistic-assert "^1.0.0"
559 | minimalistic-crypto-utils "^1.0.1"
560 |
561 | https-browserify@^1.0.0:
562 | version "1.0.0"
563 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
564 | integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
565 |
566 | icss-replace-symbols@^1.1.0:
567 | version "1.1.0"
568 | resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
569 | integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
570 |
571 | icss-utils@^5.0.0:
572 | version "5.1.0"
573 | resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
574 | integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
575 |
576 | ieee754@^1.2.1:
577 | version "1.2.1"
578 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
579 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
580 |
581 | inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4:
582 | version "2.0.4"
583 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
584 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
585 |
586 | internal-slot@^1.0.3:
587 | version "1.0.3"
588 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
589 | integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==
590 | dependencies:
591 | get-intrinsic "^1.1.0"
592 | has "^1.0.3"
593 | side-channel "^1.0.4"
594 |
595 | is-arguments@^1.0.4:
596 | version "1.1.1"
597 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
598 | integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
599 | dependencies:
600 | call-bind "^1.0.2"
601 | has-tostringtag "^1.0.0"
602 |
603 | is-bigint@^1.0.1:
604 | version "1.0.3"
605 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.3.tgz#fc9d9e364210480675653ddaea0518528d49a581"
606 | integrity sha512-ZU538ajmYJmzysE5yU4Y7uIrPQ2j704u+hXFiIPQExpqzzUbpe5jCPdTfmz7jXRxZdvjY3KZ3ZNenoXQovX+Dg==
607 |
608 | is-boolean-object@^1.1.0:
609 | version "1.1.2"
610 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
611 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
612 | dependencies:
613 | call-bind "^1.0.2"
614 | has-tostringtag "^1.0.0"
615 |
616 | is-callable@^1.1.4, is-callable@^1.2.3:
617 | version "1.2.4"
618 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
619 | integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
620 |
621 | is-date-object@^1.0.1:
622 | version "1.0.5"
623 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
624 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
625 | dependencies:
626 | has-tostringtag "^1.0.0"
627 |
628 | is-generator-function@^1.0.7:
629 | version "1.0.10"
630 | resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
631 | integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
632 | dependencies:
633 | has-tostringtag "^1.0.0"
634 |
635 | is-nan@^1.2.1:
636 | version "1.3.2"
637 | resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d"
638 | integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==
639 | dependencies:
640 | call-bind "^1.0.0"
641 | define-properties "^1.1.3"
642 |
643 | is-negative-zero@^2.0.1:
644 | version "2.0.1"
645 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
646 | integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
647 |
648 | is-number-object@^1.0.4:
649 | version "1.0.6"
650 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0"
651 | integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==
652 | dependencies:
653 | has-tostringtag "^1.0.0"
654 |
655 | is-regex@^1.1.3:
656 | version "1.1.4"
657 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
658 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
659 | dependencies:
660 | call-bind "^1.0.2"
661 | has-tostringtag "^1.0.0"
662 |
663 | is-string@^1.0.5, is-string@^1.0.6:
664 | version "1.0.7"
665 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
666 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
667 | dependencies:
668 | has-tostringtag "^1.0.0"
669 |
670 | is-symbol@^1.0.2, is-symbol@^1.0.3:
671 | version "1.0.4"
672 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
673 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
674 | dependencies:
675 | has-symbols "^1.0.2"
676 |
677 | is-typed-array@^1.1.3, is-typed-array@^1.1.6:
678 | version "1.1.7"
679 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.7.tgz#881ddc660b13cb8423b2090fa88c0fe37a83eb2f"
680 | integrity sha512-VxlpTBGknhQ3o7YiVjIhdLU6+oD8dPz/79vvvH4F+S/c8608UCVa9fgDpa1kZgFoUST2DCgacc70UszKgzKuvA==
681 | dependencies:
682 | available-typed-arrays "^1.0.4"
683 | call-bind "^1.0.2"
684 | es-abstract "^1.18.5"
685 | foreach "^2.0.5"
686 | has-tostringtag "^1.0.0"
687 |
688 | jquery@^3.6.0:
689 | version "3.6.0"
690 | resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
691 | integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==
692 |
693 | json5@^1.0.1:
694 | version "1.0.1"
695 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
696 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
697 | dependencies:
698 | minimist "^1.2.0"
699 |
700 | loader-utils@^1.1.0:
701 | version "1.4.0"
702 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
703 | integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
704 | dependencies:
705 | big.js "^5.2.2"
706 | emojis-list "^3.0.0"
707 | json5 "^1.0.1"
708 |
709 | lodash.camelcase@^4.3.0:
710 | version "4.3.0"
711 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
712 | integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
713 |
714 | lru-cache@^5.1.1:
715 | version "5.1.1"
716 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
717 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
718 | dependencies:
719 | yallist "^3.0.2"
720 |
721 | magic-string@^0.25.7:
722 | version "0.25.7"
723 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
724 | integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
725 | dependencies:
726 | sourcemap-codec "^1.4.4"
727 |
728 | md5.js@^1.3.4:
729 | version "1.3.5"
730 | resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
731 | integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
732 | dependencies:
733 | hash-base "^3.0.0"
734 | inherits "^2.0.1"
735 | safe-buffer "^5.1.2"
736 |
737 | merge-source-map@^1.1.0:
738 | version "1.1.0"
739 | resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
740 | integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
741 | dependencies:
742 | source-map "^0.6.1"
743 |
744 | meteor-node-stubs@^1.0.3:
745 | version "1.1.0"
746 | resolved "https://registry.yarnpkg.com/meteor-node-stubs/-/meteor-node-stubs-1.1.0.tgz#cbb9656a37eb08ab52f577201920fe5e0137c2bb"
747 | integrity sha512-YvMQb4zcfWA82wFdRVTyxq28GO+Us7GSdtP+bTtC/mV35yipKnWo4W4665O57AmLVFnz4zR+WIZW11b4sfCtJw==
748 | dependencies:
749 | assert "^2.0.0"
750 | browserify-zlib "^0.2.0"
751 | buffer "^6.0.3"
752 | console-browserify "^1.2.0"
753 | constants-browserify "^1.0.0"
754 | crypto-browserify "^3.12.0"
755 | domain-browser "^4.19.0"
756 | elliptic "^6.5.4"
757 | events "^3.3.0"
758 | https-browserify "^1.0.0"
759 | os-browserify "^0.3.0"
760 | path-browserify "^1.0.0"
761 | process "^0.11.10"
762 | punycode "^2.1.1"
763 | querystring-es3 "^0.2.1"
764 | readable-stream "^3.6.0"
765 | stream-browserify "^3.0.0"
766 | stream-http "^3.2.0"
767 | string_decoder "^1.3.0"
768 | timers-browserify "^2.0.12"
769 | tty-browserify "0.0.1"
770 | url "^0.11.0"
771 | util "^0.12.4"
772 | vm-browserify "^1.1.2"
773 |
774 | miller-rabin@^4.0.0:
775 | version "4.0.1"
776 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
777 | integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
778 | dependencies:
779 | bn.js "^4.0.0"
780 | brorand "^1.0.1"
781 |
782 | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
783 | version "1.0.1"
784 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
785 | integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
786 |
787 | minimalistic-crypto-utils@^1.0.1:
788 | version "1.0.1"
789 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
790 | integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
791 |
792 | minimist@^1.2.0:
793 | version "1.2.5"
794 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
795 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
796 |
797 | nanoid@^3.1.23:
798 | version "3.1.23"
799 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
800 | integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==
801 |
802 | object-inspect@^1.11.0, object-inspect@^1.9.0:
803 | version "1.11.0"
804 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1"
805 | integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==
806 |
807 | object-is@^1.0.1:
808 | version "1.1.5"
809 | resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
810 | integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
811 | dependencies:
812 | call-bind "^1.0.2"
813 | define-properties "^1.1.3"
814 |
815 | object-keys@^1.0.12, object-keys@^1.1.1:
816 | version "1.1.1"
817 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
818 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
819 |
820 | object.assign@^4.1.2:
821 | version "4.1.2"
822 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
823 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
824 | dependencies:
825 | call-bind "^1.0.0"
826 | define-properties "^1.1.3"
827 | has-symbols "^1.0.1"
828 | object-keys "^1.1.1"
829 |
830 | os-browserify@^0.3.0:
831 | version "0.3.0"
832 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
833 | integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
834 |
835 | pako@~1.0.5:
836 | version "1.0.11"
837 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
838 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
839 |
840 | parse-asn1@^5.0.0, parse-asn1@^5.1.5:
841 | version "5.1.6"
842 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4"
843 | integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==
844 | dependencies:
845 | asn1.js "^5.2.0"
846 | browserify-aes "^1.0.0"
847 | evp_bytestokey "^1.0.0"
848 | pbkdf2 "^3.0.3"
849 | safe-buffer "^5.1.1"
850 |
851 | path-browserify@^1.0.0:
852 | version "1.0.1"
853 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
854 | integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
855 |
856 | pathval@^1.1.1:
857 | version "1.1.1"
858 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d"
859 | integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
860 |
861 | pbkdf2@^3.0.3:
862 | version "3.1.2"
863 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
864 | integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
865 | dependencies:
866 | create-hash "^1.1.2"
867 | create-hmac "^1.1.4"
868 | ripemd160 "^2.0.1"
869 | safe-buffer "^5.0.1"
870 | sha.js "^2.4.8"
871 |
872 | postcss-modules-extract-imports@^3.0.0:
873 | version "3.0.0"
874 | resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d"
875 | integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==
876 |
877 | postcss-modules-local-by-default@^4.0.0:
878 | version "4.0.0"
879 | resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c"
880 | integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==
881 | dependencies:
882 | icss-utils "^5.0.0"
883 | postcss-selector-parser "^6.0.2"
884 | postcss-value-parser "^4.1.0"
885 |
886 | postcss-modules-scope@^3.0.0:
887 | version "3.0.0"
888 | resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06"
889 | integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==
890 | dependencies:
891 | postcss-selector-parser "^6.0.4"
892 |
893 | postcss-modules-values@^4.0.0:
894 | version "4.0.0"
895 | resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c"
896 | integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
897 | dependencies:
898 | icss-utils "^5.0.0"
899 |
900 | postcss-modules@^4.0.0:
901 | version "4.2.2"
902 | resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-4.2.2.tgz#5e7777c5a8964ea176919d90b2e54ef891321ce5"
903 | integrity sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==
904 | dependencies:
905 | generic-names "^2.0.1"
906 | icss-replace-symbols "^1.1.0"
907 | lodash.camelcase "^4.3.0"
908 | postcss-modules-extract-imports "^3.0.0"
909 | postcss-modules-local-by-default "^4.0.0"
910 | postcss-modules-scope "^3.0.0"
911 | postcss-modules-values "^4.0.0"
912 | string-hash "^1.1.1"
913 |
914 | postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
915 | version "6.0.6"
916 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea"
917 | integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==
918 | dependencies:
919 | cssesc "^3.0.0"
920 | util-deprecate "^1.0.2"
921 |
922 | postcss-value-parser@^4.1.0:
923 | version "4.1.0"
924 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
925 | integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
926 |
927 | postcss@^8.1.10:
928 | version "8.3.6"
929 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea"
930 | integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==
931 | dependencies:
932 | colorette "^1.2.2"
933 | nanoid "^3.1.23"
934 | source-map-js "^0.6.2"
935 |
936 | process@^0.11.10:
937 | version "0.11.10"
938 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
939 | integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
940 |
941 | public-encrypt@^4.0.0:
942 | version "4.0.3"
943 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
944 | integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
945 | dependencies:
946 | bn.js "^4.1.0"
947 | browserify-rsa "^4.0.0"
948 | create-hash "^1.1.0"
949 | parse-asn1 "^5.0.0"
950 | randombytes "^2.0.1"
951 | safe-buffer "^5.1.2"
952 |
953 | punycode@1.3.2:
954 | version "1.3.2"
955 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
956 | integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
957 |
958 | punycode@^2.1.1:
959 | version "2.1.1"
960 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
961 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
962 |
963 | querystring-es3@^0.2.1:
964 | version "0.2.1"
965 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
966 | integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
967 |
968 | querystring@0.2.0:
969 | version "0.2.0"
970 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
971 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
972 |
973 | randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
974 | version "2.1.0"
975 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
976 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
977 | dependencies:
978 | safe-buffer "^5.1.0"
979 |
980 | randomfill@^1.0.3:
981 | version "1.0.4"
982 | resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
983 | integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
984 | dependencies:
985 | randombytes "^2.0.5"
986 | safe-buffer "^5.1.0"
987 |
988 | readable-stream@^3.5.0, readable-stream@^3.6.0:
989 | version "3.6.0"
990 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
991 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
992 | dependencies:
993 | inherits "^2.0.3"
994 | string_decoder "^1.1.1"
995 | util-deprecate "^1.0.1"
996 |
997 | regenerator-runtime@^0.13.4:
998 | version "0.13.9"
999 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
1000 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
1001 |
1002 | ripemd160@^2.0.0, ripemd160@^2.0.1:
1003 | version "2.0.2"
1004 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
1005 | integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
1006 | dependencies:
1007 | hash-base "^3.0.0"
1008 | inherits "^2.0.1"
1009 |
1010 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
1011 | version "5.2.1"
1012 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
1013 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
1014 |
1015 | safer-buffer@^2.1.0:
1016 | version "2.1.2"
1017 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
1018 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
1019 |
1020 | setimmediate@^1.0.4:
1021 | version "1.0.5"
1022 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
1023 | integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
1024 |
1025 | sha.js@^2.4.0, sha.js@^2.4.8:
1026 | version "2.4.11"
1027 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
1028 | integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
1029 | dependencies:
1030 | inherits "^2.0.1"
1031 | safe-buffer "^5.0.1"
1032 |
1033 | side-channel@^1.0.4:
1034 | version "1.0.4"
1035 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
1036 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
1037 | dependencies:
1038 | call-bind "^1.0.0"
1039 | get-intrinsic "^1.0.2"
1040 | object-inspect "^1.9.0"
1041 |
1042 | source-map-js@^0.6.2:
1043 | version "0.6.2"
1044 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
1045 | integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
1046 |
1047 | source-map@^0.6.1:
1048 | version "0.6.1"
1049 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
1050 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
1051 |
1052 | sourcemap-codec@^1.4.4:
1053 | version "1.4.8"
1054 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
1055 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
1056 |
1057 | stream-browserify@^3.0.0:
1058 | version "3.0.0"
1059 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f"
1060 | integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==
1061 | dependencies:
1062 | inherits "~2.0.4"
1063 | readable-stream "^3.5.0"
1064 |
1065 | stream-http@^3.2.0:
1066 | version "3.2.0"
1067 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5"
1068 | integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==
1069 | dependencies:
1070 | builtin-status-codes "^3.0.0"
1071 | inherits "^2.0.4"
1072 | readable-stream "^3.6.0"
1073 | xtend "^4.0.2"
1074 |
1075 | string-hash@^1.1.1:
1076 | version "1.1.3"
1077 | resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
1078 | integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=
1079 |
1080 | string.prototype.trimend@^1.0.4:
1081 | version "1.0.4"
1082 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
1083 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
1084 | dependencies:
1085 | call-bind "^1.0.2"
1086 | define-properties "^1.1.3"
1087 |
1088 | string.prototype.trimstart@^1.0.4:
1089 | version "1.0.4"
1090 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
1091 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
1092 | dependencies:
1093 | call-bind "^1.0.2"
1094 | define-properties "^1.1.3"
1095 |
1096 | string_decoder@^1.1.1, string_decoder@^1.3.0:
1097 | version "1.3.0"
1098 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
1099 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
1100 | dependencies:
1101 | safe-buffer "~5.2.0"
1102 |
1103 | timers-browserify@^2.0.12:
1104 | version "2.0.12"
1105 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
1106 | integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
1107 | dependencies:
1108 | setimmediate "^1.0.4"
1109 |
1110 | to-fast-properties@^2.0.0:
1111 | version "2.0.0"
1112 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1113 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
1114 |
1115 | tty-browserify@0.0.1:
1116 | version "0.0.1"
1117 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811"
1118 | integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==
1119 |
1120 | type-detect@^4.0.0, type-detect@^4.0.5:
1121 | version "4.0.8"
1122 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
1123 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
1124 |
1125 | unbox-primitive@^1.0.1:
1126 | version "1.0.1"
1127 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
1128 | integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
1129 | dependencies:
1130 | function-bind "^1.1.1"
1131 | has-bigints "^1.0.1"
1132 | has-symbols "^1.0.2"
1133 | which-boxed-primitive "^1.0.2"
1134 |
1135 | url@^0.11.0:
1136 | version "0.11.0"
1137 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
1138 | integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
1139 | dependencies:
1140 | punycode "1.3.2"
1141 | querystring "0.2.0"
1142 |
1143 | util-deprecate@^1.0.1, util-deprecate@^1.0.2:
1144 | version "1.0.2"
1145 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1146 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
1147 |
1148 | util@^0.12.0, util@^0.12.4:
1149 | version "0.12.4"
1150 | resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253"
1151 | integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==
1152 | dependencies:
1153 | inherits "^2.0.3"
1154 | is-arguments "^1.0.4"
1155 | is-generator-function "^1.0.7"
1156 | is-typed-array "^1.1.3"
1157 | safe-buffer "^5.1.2"
1158 | which-typed-array "^1.1.2"
1159 |
1160 | vm-browserify@^1.1.2:
1161 | version "1.1.2"
1162 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
1163 | integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
1164 |
1165 | vue@^3.1.0:
1166 | version "3.1.5"
1167 | resolved "https://registry.yarnpkg.com/vue/-/vue-3.1.5.tgz#12879b11d0685ee4478c8869551799630a52f9fe"
1168 | integrity sha512-Ho7HNb1nfDoO+HVb6qYZgeaobt1XbY6KXFe4HGs1b9X6RhkWG/113n4/SrtM1LUclM6OrP/Se5aPHHvAPG1iVQ==
1169 | dependencies:
1170 | "@vue/compiler-dom" "3.1.5"
1171 | "@vue/runtime-dom" "3.1.5"
1172 | "@vue/shared" "3.1.5"
1173 |
1174 | which-boxed-primitive@^1.0.2:
1175 | version "1.0.2"
1176 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
1177 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
1178 | dependencies:
1179 | is-bigint "^1.0.1"
1180 | is-boolean-object "^1.1.0"
1181 | is-number-object "^1.0.4"
1182 | is-string "^1.0.5"
1183 | is-symbol "^1.0.3"
1184 |
1185 | which-typed-array@^1.1.2:
1186 | version "1.1.6"
1187 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.6.tgz#f3713d801da0720a7f26f50c596980a9f5c8b383"
1188 | integrity sha512-DdY984dGD5sQ7Tf+x1CkXzdg85b9uEel6nr4UkFg1LoE9OXv3uRuZhe5CoWdawhGACeFpEZXH8fFLQnDhbpm/Q==
1189 | dependencies:
1190 | available-typed-arrays "^1.0.4"
1191 | call-bind "^1.0.2"
1192 | es-abstract "^1.18.5"
1193 | foreach "^2.0.5"
1194 | has-tostringtag "^1.0.0"
1195 | is-typed-array "^1.1.6"
1196 |
1197 | xtend@^4.0.2:
1198 | version "4.0.2"
1199 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
1200 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
1201 |
1202 | yallist@^3.0.2:
1203 | version "3.1.1"
1204 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
1205 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
1206 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "meteor-vue3",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {
6 | "release": "cd packages/vue3 && PUBLISHING_METEOR_VUE=true meteor publish"
7 | },
8 | "devDependencies": {
9 | "@types/meteor": "^1.4.67",
10 | "@vue/compiler-sfc": "^3.1.5",
11 | "@typescript-eslint/eslint-plugin": "^4.16.1",
12 | "eslint": "^7.21.0",
13 | "eslint-config-standard-with-typescript": "^20.0.0",
14 | "eslint-plugin-import": "^2.22.1",
15 | "eslint-plugin-node": "^11.1.0",
16 | "eslint-plugin-promise": "^4.3.1",
17 | "eslint-plugin-standard": "^5.0.0",
18 | "typescript": "^4.2.3",
19 | "vue": "^3.2.0"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/packages/vue3/.versions:
--------------------------------------------------------------------------------
1 | babel-compiler@7.7.0
2 | babel-runtime@1.5.0
3 | caching-compiler@1.2.2
4 | dynamic-import@0.7.1
5 | ecmascript@0.15.3
6 | ecmascript-runtime@0.7.0
7 | ecmascript-runtime-client@0.11.1
8 | ecmascript-runtime-server@0.10.1
9 | fetch@0.1.1
10 | inter-process-messaging@0.1.1
11 | meteor@1.9.3
12 | modern-browsers@0.1.5
13 | modules@0.16.0
14 | modules-runtime@0.12.0
15 | promise@0.12.0
16 | random@1.2.0
17 | react-fast-refresh@0.1.1
18 | tmeasday:check-npm-versions@1.0.2
19 | typescript@4.3.5
20 | vuejs:vue3@0.0.1
21 |
--------------------------------------------------------------------------------
/packages/vue3/README.md:
--------------------------------------------------------------------------------
1 | # vuejs:vue3
2 |
3 | ## Installation
4 |
5 | ```sh
6 | meteor add vuejs:vue3
7 | ```
8 |
9 | ## Basic usage
10 |
11 | Start a subscription (with static parameters):
12 |
13 | ```js
14 | import { subscribe } from 'meteor/vuejs:vue3'
15 |
16 | export default {
17 | setup () {
18 | const { ready, stop } = subscribe('links.all' /*, 'some', 'params', 'here' */)
19 |
20 | watch(ready, value => {
21 | console.log('loading:', !value)
22 | })
23 | }
24 | }
25 | ```
26 |
27 | Star a subscription (with reactive parameters):
28 |
29 | ```js
30 | import { ref } from 'vue'
31 | import { autoSubscribe } from 'meteor/vuejs:vue3'
32 |
33 | export default {
34 | setup () {
35 | const filter = ref('meow')
36 |
37 | autoSubscribe(() => ['links.some', filter.value])
38 | }
39 | }
40 | ```
41 |
42 | Use Tracker:
43 |
44 | ```js
45 | import { autorun } from 'meteor/vuejs:vue3'
46 | // Import some collection
47 | import { Links } from '/imports/api/links/links.js'
48 |
49 | export default {
50 | setup () {
51 | const { result: links, stop } = autorun(() => Links.find({}))
52 |
53 | return {
54 | links,
55 | }
56 | }
57 | }
58 | ```
59 |
60 | If you don't plan on manually controlling the `autorun`, you can use `autoResult` instead which only returns the result:
61 |
62 | ```js
63 | import { autoResult } from 'meteor/vuejs:vue3'
64 | // Import some collection
65 | import { Links } from '/imports/api/links/links.js'
66 |
67 | export default {
68 | setup () {
69 | const links = autoResult(() => Links.find({}))
70 |
71 | return {
72 | links,
73 | }
74 | }
75 | }
76 | ```
77 |
78 | Full example:
79 |
80 | ```vue
81 |
104 |
105 |
106 | Learn Meteor!
107 |
108 | -
109 |
114 |
115 |
116 | Loading...
117 |
118 | -
119 | {{ link.title }}
120 |
121 |
122 |
123 | ```
124 |
--------------------------------------------------------------------------------
/packages/vue3/package.js:
--------------------------------------------------------------------------------
1 | Package.describe({
2 | name: 'vuejs:vue3',
3 | version: '0.0.1',
4 | summary: 'Vue 3 components',
5 | git: 'https://github.com/meteor-vue/meteor-vue3',
6 | documentation: 'README.md',
7 | })
8 |
9 | Package.registerBuildPlugin({
10 | name: 'vue3',
11 | use: [
12 | 'ecmascript@0.15.2',
13 | 'caching-compiler@1.2.2',
14 | 'babel-compiler@7.6.2',
15 | 'tmeasday:check-npm-versions@1.0.2',
16 | ],
17 | sources: [
18 | 'src/build/index.js',
19 | ],
20 | npmDependencies: {
21 | chalk: '4.1.2',
22 | 'hash-sum': '2.0.0',
23 | 'source-map': '0.7.3',
24 | },
25 | })
26 |
27 | Npm.depends({
28 | 'launch-editor-middleware': '2.2.1',
29 | })
30 |
31 | Package.onUse(function (api) {
32 | api.versionsFrom('2.3.4')
33 | api.use('isobuild:compiler-plugin@1.0.0')
34 | api.use('typescript')
35 | api.mainModule('src/index.ts')
36 | if (process.env.NODE_ENV !== 'production') {
37 | api.addFiles([
38 | 'src/dev-server.ts',
39 | ], 'server')
40 | }
41 | })
42 |
--------------------------------------------------------------------------------
/packages/vue3/src/build/compiler.js:
--------------------------------------------------------------------------------
1 | import { parse, compileScript, compileTemplate, compileStyleAsync } from '@vue/compiler-sfc'
2 | import hash from 'hash-sum'
3 | import { genHotReloadCode } from './hmr'
4 | import path from 'path'
5 | import { appendSourceMaps, combineSourceMaps } from './source-map'
6 | import { formatError } from './error'
7 |
8 | export class VueCompiler extends MultiFileCachingCompiler {
9 | constructor () {
10 | super({
11 | compilerName: 'vue3-components',
12 | defaultCacheSize: 1024 * 1024 * 10,
13 | })
14 | }
15 |
16 | getCacheKey (inputFile) {
17 | return [
18 | inputFile.getSourceHash(),
19 | inputFile.getPathInPackage(),
20 | ]
21 | }
22 |
23 | async compileOneFile (inputFile) {
24 | const contents = inputFile.getContentsAsString()
25 | const filename = inputFile.getPathInPackage()
26 | const { errors, descriptor } = parse(contents, {
27 | filename,
28 | })
29 | if (errors.length) {
30 | for (const error of errors) {
31 | console.error(formatError(error, contents, filename))
32 | }
33 | throw new Error(`Parsing failed for ${inputFile.getDisplayPath()} (${errors.length} error(s))`)
34 | }
35 |
36 | const compileResult = {
37 | source: '',
38 | sourceMap: null,
39 | styles: [],
40 | }
41 | const referencedImportPaths = []
42 |
43 | const isProd = process.env.NODE_ENV === 'production'
44 | const hasScoped = descriptor.styles.some((s) => s.scoped)
45 | const scopeId = hash(filename)
46 |
47 | if (descriptor.script || descriptor.scriptSetup) {
48 | const scriptResult = compileScript(descriptor, {
49 | id: scopeId,
50 | isProd,
51 | })
52 | compileResult.source += scriptResult.content.replace(/export default/, 'const __script__ = ')
53 | compileResult.sourceMap = scriptResult.map
54 | }
55 |
56 | if (descriptor.template) {
57 | const templateResult = compileTemplate({
58 | id: scopeId,
59 | filename,
60 | source: descriptor.template.content,
61 | scoped: hasScoped,
62 | isProd,
63 | inMap: descriptor.template.map,
64 | compilerOptions: {
65 | scopeId: hasScoped ? `data-v-${scopeId}` : undefined,
66 | },
67 | })
68 | if (templateResult.errors && templateResult.errors.length) {
69 | for (const error of templateResult.errors) {
70 | console.error(formatError(error, contents, filename))
71 | }
72 | throw new Error(`Compiling template failed for ${inputFile.getDisplayPath()} (${templateResult.errors.length} error(s))`)
73 | }
74 | if (!compileResult.source) {
75 | compileResult.source = 'const __script__ = {};'
76 | } else {
77 | compileResult.source += '\n'
78 | }
79 | const lines = compileResult.source.split('\n').length
80 | compileResult.source += templateResult.code
81 | .replace(/export function render/, '__script__.render = function')
82 | .replace(/export const render/, '__script__.render')
83 |
84 | if (templateResult.map) {
85 | if (compileResult.sourceMap) {
86 | compileResult.sourceMap = await appendSourceMaps(templateResult.map, compileResult.sourceMap, lines - 1)
87 | } else {
88 | compileResult.sourceMap = templateResult.map
89 | }
90 | }
91 | }
92 |
93 | // Scope id
94 | if (hasScoped) {
95 | compileResult.source += `\n__script__.__scopeId = 'data-v-${scopeId}'`
96 | }
97 |
98 | // HMR
99 | if (process.env.NODE_ENV !== 'production' && inputFile.hmrAvailable()) {
100 | compileResult.source += genHotReloadCode(scopeId)
101 | }
102 |
103 | // File (devtools)
104 | if (process.env.NODE_ENV !== 'production') {
105 | compileResult.source += `\n__script__.__file = ${JSON.stringify(path.resolve(process.cwd(), filename))}`
106 | }
107 |
108 | // Default export
109 | compileResult.source += '\nexport default __script__'
110 |
111 | const babelOptions = Babel.getDefaultOptions()
112 | babelOptions.babelrc = true
113 | babelOptions.sourceMaps = true
114 | babelOptions.filename = babelOptions.sourceFileName = filename
115 | const transpiled = Babel.compile(compileResult.source, babelOptions, {
116 | cacheDirectory: this._diskCache,
117 | })
118 | compileResult.source = transpiled.code
119 | if (transpiled.map && compileResult.sourceMap) {
120 | compileResult.sourceMap = await combineSourceMaps(transpiled.map, compileResult.sourceMap)
121 | }
122 |
123 | for (const style of descriptor.styles) {
124 | const styleResult = await compileStyleAsync({
125 | id: scopeId,
126 | filename,
127 | source: style.content,
128 | scoped: style.scoped,
129 | isProd,
130 | inMap: style.map,
131 | })
132 |
133 | compileResult.styles.push({
134 | source: styleResult.code,
135 | sourceMap: styleResult.map,
136 | })
137 | }
138 |
139 | return {
140 | compileResult,
141 | referencedImportPaths,
142 | }
143 | }
144 |
145 | addCompileResult (inputFile, result) {
146 | if (result.source) {
147 | inputFile.addJavaScript({
148 | path: inputFile.getPathInPackage() + '.js',
149 | sourcePath: inputFile.getPathInPackage(),
150 | data: result.source,
151 | sourceMap: result.sourceMap,
152 | })
153 | }
154 |
155 | for (const style of result.styles) {
156 | inputFile.addStylesheet({
157 | path: inputFile.getPathInPackage(),
158 | sourcePath: inputFile.getPathInPackage(),
159 | data: style.source,
160 | sourceMap: style.sourceMap,
161 | lazy: false,
162 | })
163 | }
164 | }
165 |
166 | compileResultSize (result) {
167 | const styleSize = result.styles.reduce((total, style) => total + style.source.length + (style.sourceMap ? style.sourceMap.length : 0), 0)
168 | return result.source.length + (result.sourceMap ? result.sourceMap.length : 0) + styleSize
169 | }
170 | }
171 |
--------------------------------------------------------------------------------
/packages/vue3/src/build/error.js:
--------------------------------------------------------------------------------
1 | import { generateCodeFrame } from '@vue/compiler-sfc'
2 | import chalk from 'chalk'
3 |
4 | export function formatError (err, source, file) {
5 | const loc = err.loc
6 | if (!loc) {
7 | return
8 | }
9 | const locString = `:${loc.start.line}:${loc.start.column}`
10 | const filePath = chalk.gray(`at ${file}${locString}`)
11 | const codeframe = generateCodeFrame(source, loc.start.offset, loc.end.offset)
12 | return `\n${chalk.red(
13 | `VueCompilerError: ${err.message}`,
14 | )}\n${filePath}\n${chalk.yellow(codeframe)}\n`
15 | }
16 |
--------------------------------------------------------------------------------
/packages/vue3/src/build/hmr.js:
--------------------------------------------------------------------------------
1 | // __VUE_HMR_RUNTIME__ is injected to global scope by @vue/runtime-core
2 |
3 | export function genHotReloadCode (id) {
4 | return `
5 | /* hot reload */
6 | if (module.hot) {
7 | __script__.__hmrId = "${id}"
8 | const api = __VUE_HMR_RUNTIME__
9 | module.hot.accept()
10 | if (!api.createRecord('${id}', __script__)) {
11 | api.reload('${id}', __script__)
12 | }
13 | }
14 | `
15 | }
16 |
17 | // @TODO Meteor doesn't support specific HMR requests
18 |
19 | // function genTemplateHotReloadCode (id, request) {
20 | // return `
21 | // module.hot.accept(${request}, () => {
22 | // api.rerender('${id}', render)
23 | // })
24 | // `
25 | // }
26 |
--------------------------------------------------------------------------------
/packages/vue3/src/build/index.js:
--------------------------------------------------------------------------------
1 | import { checkNpmVersions } from 'meteor/tmeasday:check-npm-versions'
2 |
3 | checkNpmVersions({
4 | vue: '^3.1.0',
5 | '@vue/compiler-sfc': '^3.1.0',
6 | }, 'vuejs:vue3')
7 |
8 | if (process.env.PUBLISHING_METEOR_VUE !== 'true') {
9 | const { VueCompiler } = require('./compiler')
10 |
11 | Plugin.registerCompiler({
12 | extensions: ['vue'],
13 | filenames: ['.vueignore'],
14 | }, () => new VueCompiler())
15 | }
16 |
--------------------------------------------------------------------------------
/packages/vue3/src/build/source-map.js:
--------------------------------------------------------------------------------
1 | // Forked from https://github.com/meteor-svelte/meteor-svelte/blob/2ecd24c50ee98629c0502cf1c28562505a0b5afe/SvelteCompiler.js#L192
2 |
3 | import { SourceMapGenerator, SourceMapConsumer } from 'source-map'
4 |
5 | export async function combineSourceMaps (babelMap, vueMap) {
6 | const result = new SourceMapGenerator()
7 |
8 | const babelConsumer = await new SourceMapConsumer(babelMap)
9 | const vueConsumer = await new SourceMapConsumer(vueMap)
10 |
11 | babelConsumer.eachMapping(mapping => {
12 | // Ignore mappings that don't have a source
13 | if (!mapping.source) {
14 | return
15 | }
16 |
17 | const position = vueConsumer.originalPositionFor({
18 | line: mapping.originalLine,
19 | column: mapping.originalColumn,
20 | })
21 |
22 | // Ignore mappings that don't map to the original HTML
23 | if (!position.source) {
24 | return
25 | }
26 |
27 | result.addMapping({
28 | source: position.source,
29 | original: {
30 | line: position.line,
31 | column: position.column,
32 | },
33 | generated: {
34 | line: mapping.generatedLine,
35 | column: mapping.generatedColumn,
36 | },
37 | })
38 | })
39 |
40 | // Only one file
41 | result.setSourceContent(
42 | vueMap.sources[0],
43 | vueMap.sourcesContent[0],
44 | )
45 |
46 | babelConsumer.destroy()
47 | vueConsumer.destroy()
48 |
49 | return result.toJSON()
50 | }
51 |
52 | export async function appendSourceMaps (additionalMap, initialMap, lineOffset) {
53 | const initialConsumer = await new SourceMapConsumer(initialMap)
54 | const additionalConsumer = await new SourceMapConsumer(additionalMap)
55 |
56 | const result = SourceMapGenerator.fromSourceMap(initialConsumer)
57 |
58 | additionalConsumer.eachMapping(mapping => {
59 | // Ignore mappings that don't have a source
60 | if (!mapping.source) {
61 | return
62 | }
63 |
64 | result.addMapping({
65 | source: mapping.source,
66 | original: {
67 | line: mapping.originalLine,
68 | column: mapping.originalColumn,
69 | },
70 | generated: {
71 | line: mapping.generatedLine + lineOffset,
72 | column: mapping.generatedColumn,
73 | },
74 | })
75 | })
76 |
77 | // Only one file
78 | result.setSourceContent(
79 | initialMap.sources[0],
80 | initialMap.sourcesContent[0],
81 | )
82 |
83 | initialConsumer.destroy()
84 | additionalConsumer.destroy()
85 |
86 | return result.toJSON()
87 | }
88 |
--------------------------------------------------------------------------------
/packages/vue3/src/dev-server.ts:
--------------------------------------------------------------------------------
1 | import { WebApp } from 'meteor/webapp'
2 | import launchMiddleware from 'launch-editor-middleware'
3 |
4 | WebApp.connectHandlers.use('/__open-in-editor', launchMiddleware())
5 |
--------------------------------------------------------------------------------
/packages/vue3/src/index.ts:
--------------------------------------------------------------------------------
1 | import { Tracker } from 'meteor/tracker'
2 | import { Meteor } from 'meteor/meteor'
3 | import { computed, ComputedRef, onUnmounted, ref, watch, watchEffect } from 'vue'
4 |
5 | export interface AutorunEffect {
6 | result: ComputedRef
7 | stop: () => void
8 | }
9 |
10 | export function autorun (callback: () => TResult): AutorunEffect {
11 | const result = ref()
12 | const stop = watchEffect((onInvalidate) => {
13 | const computation = Tracker.autorun(() => {
14 | let value: any = callback()
15 | if (value != null && typeof value.fetch === 'function') {
16 | value = value.fetch()
17 | }
18 | result.value = value
19 | })
20 | onInvalidate(() => {
21 | computation.stop()
22 | })
23 | })
24 | return {
25 | result: computed(() => result.value as TResult),
26 | stop,
27 | }
28 | }
29 |
30 | export function autoResult (callback: () => TResult): ComputedRef {
31 | return autorun(callback).result
32 | }
33 |
34 | export interface ReactiveMeteorSubscription {
35 | stop: () => void
36 | ready: ComputedRef
37 | }
38 |
39 | export function subscribe (name: string, ...args: any[]): ReactiveMeteorSubscription {
40 | const sub = Meteor.subscribe(name, ...args)
41 | const ready = autorun(() => sub.ready())
42 |
43 | function stop (): void {
44 | ready.stop()
45 | sub.stop()
46 | }
47 |
48 | onUnmounted(() => {
49 | stop()
50 | })
51 |
52 | return {
53 | stop,
54 | ready: ready.result,
55 | }
56 | }
57 |
58 | export function autoSubscribe (callback: () => [name: string, ...args: any[]]): ReactiveMeteorSubscription {
59 | const ready = ref(false)
60 | const stop = watch(callback, (value, oldValue, onInvalidate) => {
61 | const sub = Meteor.subscribe(...value)
62 |
63 | const computation = Tracker.autorun(() => {
64 | ready.value = sub.ready()
65 | })
66 |
67 | onInvalidate(() => {
68 | sub.stop()
69 | computation.stop()
70 | })
71 | }, {
72 | immediate: true,
73 | deep: true,
74 | })
75 |
76 | return {
77 | stop,
78 | ready: computed(() => ready.value),
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/packages/vue3/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | /* Basic Options */
4 | "target": "es2018",
5 | "module": "esNext",
6 | "lib": ["esnext", "dom"],
7 | "allowJs": true,
8 | "checkJs": false,
9 | "jsx": "preserve",
10 | "noEmit": true,
11 |
12 | /* Strict Type-Checking Options */
13 | "strict": true,
14 | "noImplicitAny": true,
15 | "strictNullChecks": true,
16 |
17 | /* Additional Checks */
18 | "noUnusedLocals": true,
19 | "noUnusedParameters": false,
20 | "noImplicitReturns": false,
21 | "noFallthroughCasesInSwitch": false,
22 |
23 | /* Module Resolution Options */
24 | "baseUrl": ".",
25 | "paths": {
26 | /* Support absolute /imports/* with a leading '/' */
27 | "/*": ["*"]
28 | },
29 | "moduleResolution": "node",
30 | "resolveJsonModule": true,
31 | "types": ["node"],
32 | "esModuleInterop": true,
33 | "preserveSymlinks": true
34 | },
35 | "include": [
36 | "src/**/*.ts"
37 | ]
38 | }
39 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "strictNullChecks": true
4 | },
5 | "include": [
6 | "packages/*/src/**/*.ts"
7 | ],
8 | "exclude": [
9 | ".meteor/**"
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------