Skip to content

Commit 339351c

Browse files
authored
refactor: use ensureNetlifyIgnore from @netlify/dev-utils (#7448)
* Replaces usages of ensureNetlifyIgnore with dev-utils * Corrected import group * Uninstalled parse-gitignore packages * Added back in gitignore util to track a logger
1 parent 5401fad commit 339351c

File tree

4 files changed

+5
-62
lines changed

4 files changed

+5
-62
lines changed

package-lock.json

Lines changed: 0 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@
136136
"p-wait-for": "5.0.2",
137137
"parallel-transform": "1.2.0",
138138
"parse-github-url": "1.0.3",
139-
"parse-gitignore": "2.0.0",
140139
"prettyjson": "1.2.5",
141140
"raw-body": "3.0.0",
142141
"read-package-up": "11.0.0",
@@ -181,7 +180,6 @@
181180
"@types/node-fetch": "2.6.12",
182181
"@types/parallel-transform": "1.1.4",
183182
"@types/parse-github-url": "1.0.3",
184-
"@types/parse-gitignore": "1.0.2",
185183
"@types/picomatch": "4.0.1",
186184
"@types/prettyjson": "0.0.33",
187185
"@types/semver": "7.7.0",

src/commands/link/link.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import type { NetlifyAPI } from '@netlify/api'
77
import { listSites } from '../../lib/api.js'
88
import { startSpinner } from '../../lib/spinner.js'
99
import { chalk, logAndThrowError, exit, log, APIError, netlifyCommand } from '../../utils/command-helpers.js'
10-
import getRepoData from '../../utils/get-repo-data.js'
1110
import { ensureNetlifyIgnore } from '../../utils/gitignore.js'
11+
import getRepoData from '../../utils/get-repo-data.js'
1212
import { track } from '../../utils/telemetry/index.js'
1313
import type { SiteInfo } from '../../utils/types.js'
1414
import BaseCommand from '../base-command.js'

src/utils/gitignore.ts

Lines changed: 4 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,6 @@
1-
import { readFile, writeFile } from 'fs/promises'
2-
import path from 'path'
1+
import { ensureNetlifyIgnore as originalEnsureNetlifyIgnore } from '@netlify/dev-utils'
32

4-
import parseIgnore from 'parse-gitignore'
3+
import { log, warn, logError } from './command-helpers.js'
54

6-
import { fileExistsAsync } from '../lib/fs.js'
7-
8-
import { log } from './command-helpers.js'
9-
10-
const hasGitIgnore = async function (dir: string) {
11-
const gitIgnorePath = path.join(dir, '.gitignore')
12-
const hasIgnore = await fileExistsAsync(gitIgnorePath)
13-
return hasIgnore
14-
}
15-
16-
export const ensureNetlifyIgnore = async function (dir: string) {
17-
const gitIgnorePath = path.join(dir, '.gitignore')
18-
const ignoreContent = '# Local Netlify folder\n.netlify\n'
19-
20-
/* No .gitignore file. Create one and ignore .netlify folder */
21-
if (!(await hasGitIgnore(dir))) {
22-
await writeFile(gitIgnorePath, ignoreContent, 'utf8')
23-
return false
24-
}
25-
26-
let gitIgnoreContents
27-
let ignorePatterns
28-
try {
29-
gitIgnoreContents = await readFile(gitIgnorePath, 'utf8')
30-
ignorePatterns = parseIgnore.parse(gitIgnoreContents)
31-
} catch {
32-
// ignore
33-
}
34-
/* Not ignoring .netlify folder. Add to .gitignore */
35-
if (!ignorePatterns || !ignorePatterns.patterns.some((pattern) => /(^|\/|\\)\.netlify($|\/|\\)/.test(pattern))) {
36-
log()
37-
log('Adding local .netlify folder to .gitignore file...')
38-
const newContents = `${gitIgnoreContents}\n${ignoreContent}`
39-
await writeFile(gitIgnorePath, newContents, 'utf8')
40-
}
41-
}
5+
export const ensureNetlifyIgnore = async (rootDir: string) =>
6+
originalEnsureNetlifyIgnore(rootDir, { log, warn, error: logError })

0 commit comments

Comments
 (0)