Collection is not defined after a bare meteor install on windows 10 - meteor

This newly installed meteor (1.10.2) by chocolatey on windows 10 followed by meteor create --bare appName then copy/paste some 2 year old code I had parked for a while. Chassing the cause of this runtime error for no avail.
ReferenceError: DataTeckCol is not defined
at server/dataTeck.js:13:1
at module (server/dataTeck.js:20:8)
../server/dataTeck.js
"use strict";
let cheerio = require('cheerio');
import {Matcher} from "./matcher";
import {Dispatcher} from "./dispatcher";
import '../imports/api/dataTeck.js';
DataTeckCol.remove({plateNum: {$in: plates}}); //<<<<<<<< Error line
../imports/api/dataTeck.js
import { Mongo } from 'meteor/mongo';
export const DataTeckCol = new Mongo.Collection('dataTeckCol');

You need to explicitly import the exported const, so instead of
import '../imports/api/dataTeck.js';
you need to import it via
import { DataTeckCol } from '../imports/api/dataTeck.js';

Related

How to handle Cloud FireStore Triggers when migrating to react-native-firebase 6.x.x?

In my React Native project I'm migrating react-native-firebase from version 5 to version 6 using this guide. In the Specific Module Installation section it says to import the functions module using #react-native-firebase/functions and then to import them with import functions from '#react-native-firebase/functions';. However, when I try to update this code:
import * as functions from 'firebase-functions';
import { FeedModel } from '../../../models/feed.model';
export const onFeedCreate = functions.firestore
.document('promos/{uid}')
.onCreate( async (
snapshot,
context
) => {
const promo = snapshot.data() as FeedModel;
console.log(promo);
});
by replacing the first line with #react-native-firebase/functions';, then the term firestore on the third line is underlined in red and says Property 'firestore' does not exist on type 'FirebaseModuleWithStaticsAndApp<Module, Statics>'.
How should I change my imports in order to run this function?

Connecting firebase from ember gets firebase.app is not a function getApp

I am working in an Ember.js app and currently trying to connect to firebase (is not my default adapter, the default is a Rest adapter). I followed the instructions given in https://github.com/firebase/emberfire but when I try to read data from the database I get:
Error while processing route: my.routingFile firebase.app is not a function getApp
In brief, this is my routing file:
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
import RouteMixin from 'ember-cli-pagination/remote/route-mixin';
import Ember from 'ember';
import RealtimeRouteMixin from 'emberfire/mixins/realtime-route';
export default Ember.Route.extend(AuthenticatedRouteMixin,RouteMixin, RealtimeRouteMixin, {
firebaseApp: Ember.inject.service(),
model(params) {
return this.store.findAll('myModel');
},
setupController(){
this._super(...arguments);
},
actions:{
}
});
And, my adapter is defined as follows:
import RealtimeDatabaseAdapter from 'emberfire/adapters/realtime-database';
export default RealtimeDatabaseAdapter.extend({
databaseURL: 'https://my-url.firebaseio.com/'
});
My ember-cli version is: 3.0.2
Then, what am I missing?
I'm surprised that it's not working. Your code looks fine to me. Did you define the environment variables for Firebase in config/environment.js?

How to import redux-logger?

I'm trying to import redux logger v.3.0.6. https://github.com/evgenyrodionov/redux-logger
Attempt 1
import logger from 'redux-logger';
error
Uncaught SyntaxError: The requested module '../node_modules/redux-logger/dist/redux-logger.js' does not provide an export named 'default'
Attempt 2
import { logger } from 'redux-logger';
error
Uncaught SyntaxError: The requested module '../node_modules/redux-logger/dist/redux-logger.js' does not provide an export named 'logger'
Attempt 3
import { createLogger } from 'redux-logger';
error
Uncaught SyntaxError: The requested module '../node_modules/redux-logger/dist/redux-logger.js' does not provide an export named 'createLogger'
The third one is the one suggested on the github page. How do I solve this?
I had the same issue and solved it like this:
import createLogger from 'redux-logger';
// ...
const loggerMiddleware = createLogger;
It seems createLogger is a default export.
I am using like your first attempt and it is working fine,
import logger from "redux-logger";
I am also using the same version - 3.0.6 for both typings and logger itself.
"#types/redux-logger": "^3.0.6",
"redux-logger": "^3.0.6",
This suggestion was given to me in the error i got after installing and importing redux-logger.
the fix i found out is given below.
import pkg from "redux-logger";
const {createLogger}=pkg;
const logger=createLogger()
hope it helps!!

Client-side Loggly Meteor 1.4.1

I'm trying to setup some kind of logging for my meteor app and chose Loggly, I read this article, but I can't get the client-side implementation to work.
// in startup/client/loggly-client.js
import { Meteor } from 'meteor/meteor';
import { winston } from 'meteor/clinical:winston-browser-logging';
winston.info("winston-client has started on the client!");
// in startup/client/index.js
import './loggly-client.js';
import './routes.js';
Error I'm getting is Uncaught TypeError: Cannot read property 'info' of undefined
According to https://github.com/clinical-meteor/winston-browser-logging/blob/master/package.js it should be Winston, not winston.

Import file structure and collection publish

Following Meteor docs on how to use the import directory structure, Example directory layout.
//-------------- publication.js`
import {Vehicles} from '../vehicles.js';
Meteor.publish('vehicles', function () {
return Vehicles.find();
});
//-------------- carClass.jsx
import './vehicles/server/publications.js';
const composer = (props, onData) => {
const subscription = Meteor.subscribe('vehicles');
if (subscription.ready()) {
const vehicle = Vehicles.findOne({name: 'jack'});
onData(null, { vehicle });
}
};
Does the publish method need to be exported?
Error in browser console saying:
Uncaught Error: Cannot find module './vehicles/server/publications.js'
How can this error be fixed? Thanks
Meteor publications are server-only code, so you can't import that script in carClass.jsx.
You should have some file like {app root}/server/main.js. You import your publications here to make them available for client scripts to subscribe to. It's important that this file isn't inside of the /imports folder, so that it is eagerly loaded when the server starts.
The problem is that the path ./vehicles/server/publications.js is not reachable from the carClass.jsx file. You should reference it by ./server/publications.js

Resources