Skip to content

Firebase doesn't work #4633

Closed
Closed
@marksalpeter

Description

[REQUIRED] Describe your environment

  • Operating System version: OS X
  • Browser version: doesn't matter - its compile time warnings
  • Firebase SDK version: latest (8.3.0)
  • Firebase Product: init, auth, firestore - everything really

[REQUIRED] Describe the problem

I set up a fresh preact project, import firebase and it immediately takes a sh*t. Here's the console log:

Compiled successfully!

You can view the application in browser.

Local:            http://0.0.0.0:8080
On Your Network:  http://10.196.35.140:8080
⚠ WARN ../node_modules/@firebase/component/dist/index.esm.js 242:26-39
"export '__spreadArray' was not found in 'tslib'
 @ ../node_modules/@firebase/app/dist/index.esm.js
 @ ../node_modules/firebase/app/dist/index.esm.js
 @ ./components/app.js
 @ ./index.js
 @ ../node_modules/preact-cli/lib/lib/entry.js
⚠ WARN ../node_modules/@firebase/component/dist/index.esm.js 242:40-53
"export '__spreadArray' was not found in 'tslib'
 @ ../node_modules/@firebase/app/dist/index.esm.js
 @ ../node_modules/firebase/app/dist/index.esm.js
 @ ./components/app.js
 @ ./index.js
 @ ../node_modules/preact-cli/lib/lib/entry.js

Steps to reproduce:

1. Environment Setup

# install preact-cli and create a project
$ npm install -g preact-cli
$ preact create default test

# add firebase
$ cd test
$ npm install --save firebase

2. Initialize firebase in the app

Add the init to the main app component src/components/app.js

import { h } from 'preact';
import { Router } from 'preact-router';
import { useEffect } from 'preact/hooks';
import firebase from "firebase/app";

import Header from './header';

// Code-splitting is automated for `routes` directory
import Home from '../routes/home';
import Profile from '../routes/profile';

const App = () => {
	// Initialize firebase
	useEffect(() => firebase.initializeApp({
		// Config goes here
	}), [])

	return <div id="app">
		<Header />
		<Router>
			<Home path="/" />
			<Profile path="/profile/" user="me" />
			<Profile path="/profile/:user" />
		</Router>
	</div>
}

export default App;

3. Give it a run

$ npm run dev

Relevant Code:

☝️See above

Notes

The project will still technically load in a browser until you do something meaty like import 'firebase/firestore'.
I'm pretty sure that the import issues are all related to this weird linking error I'm reporting, but I could be wrong.

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions