Skip to content

Commit

Permalink
Append to vercelignore if exists
Browse files Browse the repository at this point in the history
  • Loading branch information
motdotla committed Jul 8, 2023
1 parent e1e11f7 commit 855bf10
Show file tree
Hide file tree
Showing 11 changed files with 126 additions and 54 deletions.
15 changes: 15 additions & 0 deletions src/services/append-to-ignore-service.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import {AppendToDockerignoreService} from '../services/append-to-dockerignore-service'
import {AppendToGitignoreService} from '../services/append-to-gitignore-service'
import {AppendToNpmignoreService} from '../services/append-to-npmignore-service'
import {AppendToVercelignoreService} from '../services/append-to-vercelignore-service'

class AppendToIgnoreService {
async run (): Promise<void> {
new AppendToDockerignoreService().run()
new AppendToGitignoreService().run()
new AppendToNpmignoreService().run()
new AppendToVercelignoreService().run()
}
}

export {AppendToIgnoreService}
93 changes: 93 additions & 0 deletions src/services/append-to-vercelignore-service.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
import {existsSync, writeFileSync, readFileSync, appendFileSync} from 'fs'

class AppendToVercelignoreService {
get vercelignore(): string {
return '.vercelignore'
}

get envFormat(): string {
return '.env*' // asterisk
}

get flaskenvFormat(): string {
return '.flaskenv*'
}

get envProjectFormat(): string {
return '!.env.project'
}

get envVaultFormat(): string {
return '!.env.vault'
}

missing(): boolean {
return !existsSync(this.vercelignore)
}

append(str: string): void {
appendFileSync(this.vercelignore, str)
}

touch(): void {
writeFileSync(this.vercelignore, '')
}

read(): string {
return readFileSync(this.vercelignore, 'utf8')
}

async run(): Promise<void> {
let envExists = false
let flaskenvExists = false
let envProjectExists = false
let envVaultExists = false

if (this.missing()) {
// ignore. must not be a vercel project
} else {
// 2. iterate over vercelignore lines
const lines = this.read().split(/\r?\n/)

// 3. for each line check if ignore already exists
for (const line of lines) {
const trimLine = line.trim()

if (trimLine === this.envFormat) {
envExists = true
}

if (trimLine === this.flaskenvFormat) {
flaskenvExists = true
}

if (trimLine === this.envProjectFormat) {
envProjectExists = true
}

if (trimLine === this.envVaultFormat) {
envVaultExists = true
}
}

// 4. add ignore if it does not already exist
if (envExists === false) {
this.append('\n' + this.envFormat)
}

if (flaskenvExists === false) {
this.append('\n' + this.flaskenvFormat)
}

if (envProjectExists === false) {
this.append('\n' + this.envProjectFormat)
}

if (envVaultExists === false) {
this.append('\n' + this.envVaultFormat)
}
}
}
}

export {AppendToVercelignoreService}
8 changes: 2 additions & 6 deletions src/services/build-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ import axios, {AxiosRequestConfig} from 'axios'
import {vars} from '../vars'
import {writeFileSync} from 'fs'
import {CliUx} from '@oclif/core'
import {AppendToDockerignoreService} from '../services/append-to-dockerignore-service'
import {AppendToGitignoreService} from '../services/append-to-gitignore-service'
import {AppendToNpmignoreService} from '../services/append-to-npmignore-service'
import {AppendToIgnoreService} from '../services/append-to-ignore-service'
import {LogService} from '../services/log-service'
import {AbortService} from '../services/abort-service'
import {LoginService} from '../services/login-service'
Expand Down Expand Up @@ -35,9 +33,7 @@ class BuildService {
}

async run(): Promise<void> {
new AppendToDockerignoreService().run()
new AppendToGitignoreService().run()
new AppendToNpmignoreService().run()
new AppendToIgnoreService().run()

if (vars.missingEnvVault) {
this.abort.missingEnvVault()
Expand Down
8 changes: 2 additions & 6 deletions src/services/keys-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ import chalk from 'chalk'
import axios, {AxiosRequestConfig} from 'axios'
import {vars} from '../vars'
import {CliUx} from '@oclif/core'
import {AppendToDockerignoreService} from '../services/append-to-dockerignore-service'
import {AppendToGitignoreService} from '../services/append-to-gitignore-service'
import {AppendToNpmignoreService} from '../services/append-to-npmignore-service'
import {AppendToIgnoreService} from '../services/append-to-ignore-service'
import {LogService} from '../services/log-service'
import {AbortService} from '../services/abort-service'
import {LoginService} from '../services/login-service'
Expand Down Expand Up @@ -37,9 +35,7 @@ class KeysService {
}

async run(): Promise<void> {
new AppendToDockerignoreService().run()
new AppendToGitignoreService().run()
new AppendToNpmignoreService().run()
new AppendToIgnoreService().run()

if (vars.missingEnvVault) {
this.abort.missingEnvVault()
Expand Down
8 changes: 2 additions & 6 deletions src/services/local/build-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ import chalk from 'chalk'
import {vars} from '../../vars'
import {writeFileSync, readFileSync, readdirSync} from 'fs'
import {CliUx} from '@oclif/core'
import {AppendToDockerignoreService} from '../../services/append-to-dockerignore-service'
import {AppendToGitignoreService} from '../../services/append-to-gitignore-service'
import {AppendToNpmignoreService} from '../../services/append-to-npmignore-service'
import {AppendToIgnoreService} from '../../services/append-to-ignore-service'
import {LogService} from '../../services/log-service'

interface LocalBuildServiceAttrs {
Expand All @@ -24,9 +22,7 @@ class LocalBuildService {
}

async run(): Promise<void> {
new AppendToDockerignoreService().run()
new AppendToGitignoreService().run()
new AppendToNpmignoreService().run()
new AppendToIgnoreService().run()

const buildMsg = 'Building .env.vault from files on your machine'

Expand Down
8 changes: 2 additions & 6 deletions src/services/local/keys-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ import chalk from 'chalk'
import * as dotenv from 'dotenv'
import {vars} from '../../vars'
import {CliUx} from '@oclif/core'
import {AppendToDockerignoreService} from '../../services/append-to-dockerignore-service'
import {AppendToGitignoreService} from '../../services/append-to-gitignore-service'
import {AppendToNpmignoreService} from '../../services/append-to-npmignore-service'
import {AppendToIgnoreService} from '../../services/append-to-ignore-service'
import {LogService} from '../../services/log-service'
import {AbortService} from '../../services/abort-service'

Expand All @@ -28,9 +26,7 @@ class LocalKeysService {
}

async run(): Promise<void> {
new AppendToDockerignoreService().run()
new AppendToGitignoreService().run()
new AppendToNpmignoreService().run()
new AppendToIgnoreService().run()

if (vars.missingEnvKeys) {
this.abort.missingEnvKeys()
Expand Down
8 changes: 2 additions & 6 deletions src/services/login-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ import axios, {AxiosRequestConfig} from 'axios'
import {existsSync, writeFileSync} from 'fs'
import {vars} from '../vars'
import {CliUx} from '@oclif/core'
import {AppendToDockerignoreService} from '../services/append-to-dockerignore-service'
import {AppendToGitignoreService} from '../services/append-to-gitignore-service'
import {AppendToNpmignoreService} from '../services/append-to-npmignore-service'
import {AppendToIgnoreService} from '../services/append-to-ignore-service'
import {LogService} from '../services/log-service'
import {AbortService} from '../services/abort-service'

Expand Down Expand Up @@ -39,9 +37,7 @@ class LoginService {
}

async run(): Promise<void> {
new AppendToDockerignoreService().run()
new AppendToGitignoreService().run()
new AppendToNpmignoreService().run()
new AppendToIgnoreService().run()

if (vars.missingEnvVault) {
this.abort.missingEnvVault()
Expand Down
8 changes: 2 additions & 6 deletions src/services/new-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ import axios, {AxiosRequestConfig} from 'axios'
import {vars} from '../vars'
import {existsSync, writeFileSync} from 'fs'
import {CliUx} from '@oclif/core'
import {AppendToDockerignoreService} from '../services/append-to-dockerignore-service'
import {AppendToGitignoreService} from '../services/append-to-gitignore-service'
import {AppendToNpmignoreService} from '../services/append-to-npmignore-service'
import {AppendToIgnoreService} from '../services/append-to-ignore-service'
import {LogService} from '../services/log-service'
import {AbortService} from '../services/abort-service'

Expand Down Expand Up @@ -40,9 +38,7 @@ class NewService {
}

async run(): Promise<void> {
new AppendToDockerignoreService().run()
new AppendToGitignoreService().run()
new AppendToNpmignoreService().run()
new AppendToIgnoreService().run()

// Step 1
if (vars.missingEnvVault) {
Expand Down
8 changes: 2 additions & 6 deletions src/services/pull-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ import axios, {AxiosRequestConfig, AxiosResponse} from 'axios'
import {vars} from '../vars'
import {existsSync, renameSync, writeFileSync} from 'fs'
import {CliUx} from '@oclif/core'
import {AppendToDockerignoreService} from '../services/append-to-dockerignore-service'
import {AppendToGitignoreService} from '../services/append-to-gitignore-service'
import {AppendToNpmignoreService} from '../services/append-to-npmignore-service'
import {AppendToIgnoreService} from '../services/append-to-ignore-service'
import {LogService} from '../services/log-service'
import {AbortService} from '../services/abort-service'
import {LoginService} from '../services/login-service'
Expand Down Expand Up @@ -41,9 +39,7 @@ class PullService {
}

async run(): Promise<void> {
new AppendToDockerignoreService().run()
new AppendToGitignoreService().run()
new AppendToNpmignoreService().run()
new AppendToIgnoreService().run()

if (vars.missingEnvVault) {
this.abort.missingEnvVault()
Expand Down
8 changes: 2 additions & 6 deletions src/services/push-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ import axios, {AxiosRequestConfig} from 'axios'
import {vars} from '../vars'
import {existsSync, readFileSync, writeFileSync} from 'fs'
import {CliUx} from '@oclif/core'
import {AppendToDockerignoreService} from '../services/append-to-dockerignore-service'
import {AppendToGitignoreService} from '../services/append-to-gitignore-service'
import {AppendToNpmignoreService} from '../services/append-to-npmignore-service'
import {AppendToIgnoreService} from '../services/append-to-ignore-service'
import {LogService} from '../services/log-service'
import {AbortService} from '../services/abort-service'
import {LoginService} from '../services/login-service'
Expand Down Expand Up @@ -41,9 +39,7 @@ class PushService {
}

async run(): Promise<void> {
new AppendToDockerignoreService().run()
new AppendToGitignoreService().run()
new AppendToNpmignoreService().run()
new AppendToIgnoreService().run()

if (vars.missingEnvVault) {
this.abort.missingEnvVault()
Expand Down
8 changes: 2 additions & 6 deletions src/services/versions-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ import chalk from 'chalk'
import axios, {AxiosRequestConfig} from 'axios'
import {vars} from '../vars'
import {CliUx} from '@oclif/core'
import {AppendToDockerignoreService} from '../services/append-to-dockerignore-service'
import {AppendToGitignoreService} from '../services/append-to-gitignore-service'
import {AppendToNpmignoreService} from '../services/append-to-npmignore-service'
import {AppendToIgnoreService} from '../services/append-to-ignore-service'
import {LogService} from '../services/log-service'
import {AbortService} from '../services/abort-service'
import {LoginService} from '../services/login-service'
Expand Down Expand Up @@ -37,9 +35,7 @@ class VersionsService {
}

async run(): Promise<void> {
new AppendToDockerignoreService().run()
new AppendToGitignoreService().run()
new AppendToNpmignoreService().run()
new AppendToIgnoreService().run()

if (vars.missingEnvVault) {
this.abort.missingEnvVault()
Expand Down

0 comments on commit 855bf10

Please sign in to comment.