@edgedev/create-edge-app 1.0.14 → 1.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -59
- package/bin/cli.js +1 -61
- package/firebase_init.sh +39 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,63 +1,6 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
|
|
4
|
-
|
|
1
|
+
# Edge Firebase Starter
|
|
5
2
|
## Setup
|
|
6
3
|
|
|
7
|
-
Make sure to install the dependencies:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
# npm
|
|
11
|
-
npm install
|
|
12
|
-
|
|
13
|
-
# pnpm
|
|
14
|
-
pnpm install
|
|
15
|
-
|
|
16
|
-
# yarn
|
|
17
|
-
yarn install
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Development Server
|
|
21
|
-
|
|
22
|
-
Start the development server on `http://localhost:3000`:
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
# npm
|
|
26
|
-
npm run dev
|
|
27
|
-
|
|
28
|
-
# pnpm
|
|
29
|
-
pnpm run dev
|
|
30
|
-
|
|
31
|
-
# yarn
|
|
32
|
-
yarn dev
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Production
|
|
36
|
-
|
|
37
|
-
Build the application for production:
|
|
38
|
-
|
|
39
4
|
```bash
|
|
40
|
-
|
|
41
|
-
npm run build
|
|
42
|
-
|
|
43
|
-
# pnpm
|
|
44
|
-
pnpm run build
|
|
45
|
-
|
|
46
|
-
# yarn
|
|
47
|
-
yarn build
|
|
5
|
+
npx @edgedev/create-edge-app yourappname
|
|
48
6
|
```
|
|
49
|
-
|
|
50
|
-
Locally preview production build:
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
# npm
|
|
54
|
-
npm run preview
|
|
55
|
-
|
|
56
|
-
# pnpm
|
|
57
|
-
pnpm run preview
|
|
58
|
-
|
|
59
|
-
# yarn
|
|
60
|
-
yarn preview
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
|
package/bin/cli.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
console.log('Script started')
|
|
3
3
|
const { execSync } = require('child_process')
|
|
4
|
-
const fs = require('fs')
|
|
5
|
-
const readline = require('readline')
|
|
6
4
|
|
|
7
5
|
const runCommand = (command) => {
|
|
8
6
|
try {
|
|
@@ -16,58 +14,6 @@ const runCommand = (command) => {
|
|
|
16
14
|
return true
|
|
17
15
|
}
|
|
18
16
|
|
|
19
|
-
const promptForProjectId = () => {
|
|
20
|
-
const rl = readline.createInterface({
|
|
21
|
-
input: process.stdin,
|
|
22
|
-
output: process.stdout,
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
return new Promise((resolve, reject) => {
|
|
26
|
-
rl.question('Please enter your Firebase project ID: ', (projectId) => {
|
|
27
|
-
rl.close()
|
|
28
|
-
resolve(projectId)
|
|
29
|
-
})
|
|
30
|
-
})
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const initializeFirebase = async (projectId, repoName) => {
|
|
34
|
-
if (!projectId) {
|
|
35
|
-
console.error('Error: Firebase project ID cannot be empty.')
|
|
36
|
-
process.exit(1)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
try {
|
|
40
|
-
execSync('firebase --version', { stdio: 'inherit' })
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
console.error('Firebase CLI could not be found. Please install it and try again.')
|
|
44
|
-
process.exit(1)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const pathToFirebaseJson = `${repoName}/firebase.json`
|
|
48
|
-
const pathToFirestoreRules = `${repoName}/firestore.rules`
|
|
49
|
-
|
|
50
|
-
if (fs.existsSync(pathToFirebaseJson)) {
|
|
51
|
-
fs.renameSync(pathToFirebaseJson, `${pathToFirebaseJson}.temp`)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (fs.existsSync(pathToFirestoreRules)) {
|
|
55
|
-
fs.renameSync(pathToFirestoreRules, `${pathToFirestoreRules}.temp`)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
console.log(`Initializing Firebase for ${repoName}...`)
|
|
59
|
-
runCommand(`cd ${repoName} && firebase init firestore functions hosting storage emulators --project default`)
|
|
60
|
-
runCommand(`cd ${repoName} && firebase use --add ${projectId} --alias default`)
|
|
61
|
-
|
|
62
|
-
if (fs.existsSync(`${pathToFirebaseJson}.temp`)) {
|
|
63
|
-
fs.renameSync(`${pathToFirebaseJson}.temp`, pathToFirebaseJson)
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (fs.existsSync(`${pathToFirestoreRules}.temp`)) {
|
|
67
|
-
fs.renameSync(`${pathToFirestoreRules}.temp`, pathToFirestoreRules)
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
17
|
const repoName = process.argv[2]
|
|
72
18
|
const gitCheckoutCommand = `git clone --depth 1 https://github.com/Edge-Marketing-and-Design/edgeApp.git ${repoName}`
|
|
73
19
|
const installDependenciesCommand = `cd ${repoName} && pnpm install`
|
|
@@ -92,10 +38,4 @@ if (!installedFunctionDeps) {
|
|
|
92
38
|
}
|
|
93
39
|
|
|
94
40
|
console.log(`Successfully created ${repoName}!`)
|
|
95
|
-
|
|
96
|
-
const main = async () => {
|
|
97
|
-
const projectId = await promptForProjectId()
|
|
98
|
-
await initializeFirebase(projectId, repoName)
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
main()
|
|
41
|
+
console.log(`cd into ${repoName} and run 'sh firebase_init.sh' to initialize your firebase project.`)
|
package/firebase_init.sh
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Prompt for the project ID
|
|
2
|
+
echo "Please enter your Firebase project ID:"
|
|
3
|
+
read project_id
|
|
4
|
+
|
|
5
|
+
# Check if project_id is empty
|
|
6
|
+
if [ -z "$project_id" ]; then
|
|
7
|
+
echo "Error: Firebase project ID cannot be empty."
|
|
8
|
+
exit 1
|
|
9
|
+
fi
|
|
10
|
+
|
|
11
|
+
# Check if firebase is installed
|
|
12
|
+
if ! command -v firebase &> /dev/null; then
|
|
13
|
+
echo "Firebase CLI could not be found. Please install it and try again."
|
|
14
|
+
exit 1
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
# Check if firebase.json exists and make a backup
|
|
18
|
+
if [ -f ./firebase.json ]; then
|
|
19
|
+
cp ./firebase.json ./firebase.json.temp
|
|
20
|
+
fi
|
|
21
|
+
|
|
22
|
+
# Check if firestore.rules exists and make a backup
|
|
23
|
+
if [ -f ./firestore.rules ]; then
|
|
24
|
+
cp ./firestore.rules ./firestore.rules.temp
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
# Initialize Firebase
|
|
28
|
+
firebase use --add $project_id --alias default
|
|
29
|
+
firebase init firestore functions hosting storage emulators --project default
|
|
30
|
+
|
|
31
|
+
# Restore firebase.json from backup
|
|
32
|
+
if [ -f ./firebase.json.temp ]; then
|
|
33
|
+
mv ./firebase.json.temp ./firebase.json
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
# Restore firestore.rules from backup
|
|
37
|
+
if [ -f ./firestore.rules.temp ]; then
|
|
38
|
+
mv ./firestore.rules.temp ./firestore.rules
|
|
39
|
+
fi
|