• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vuepress / vuepress-next / 7163313360

11 Dec 2023 05:25AM CUT coverage: 67.837% (-1.3%) from 69.176%
7163313360

Pull #1449

github

web-flow
Merge 4941993a9 into b82d48e1e
Pull Request #1449: feat: remove vuepress-vite and vuepress-webpack package and support --bundler option, close #1446

325 of 462 branches covered (0.0%)

Branch coverage included in aggregate %.

2 of 26 new or added lines in 4 files covered. (7.69%)

1 existing line in 1 file now uncovered.

641 of 962 relevant lines covered (66.63%)

47.76 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

3.13
/packages/cli/src/commands/dev/pageDepsHelper.ts
1
import type { Page } from '@vuepress/core'
2

3
/**
4
 * Page deps helper
5
 */
6
export interface PageDepsHelper {
7
  /**
8
   * Handle deps when adding a page
9
   */
10
  add: (page: Page) => string[]
11

12
  /**
13
   * Handle deps when removing a page
14
   */
15
  remove: (page: Page) => string[]
16

17
  /**
18
   * Get all pages that depend on the `dep`
19
   */
20
  get: (dep: string) => string[]
21
}
22

23
/**
24
 * Create page deps helper
25
 */
26
export const createPageDepsHelper = (): PageDepsHelper => {
3✔
27
  const store = new Map<string, Set<string>>()
×
28
  return {
×
29
    add: ({ deps, filePathRelative }) => {
30
      const depsAdded: string[] = []
×
31
      if (filePathRelative) {
×
32
        deps.forEach((item) => {
×
33
          if (!store.has(item)) {
×
34
            store.set(item, new Set())
×
35
            depsAdded.push(item)
×
36
          }
37
          store.get(item)?.add(filePathRelative)
×
38
        })
39
      }
40
      return depsAdded
×
41
    },
42
    remove: ({ deps, filePathRelative }) => {
43
      const depsRemoved: string[] = []
×
44
      if (filePathRelative) {
×
45
        deps.forEach((item) => {
×
46
          const pagePathsSet = store.get(item)
×
47
          pagePathsSet?.delete(filePathRelative)
×
48
          if (pagePathsSet?.size === 0) {
×
49
            store.delete(item)
×
50
            depsRemoved.push(item)
×
51
          }
52
        })
53
      }
54
      return depsRemoved
×
55
    },
56
    get: (dep) => {
57
      const pagePathsSet = store.get(dep)
×
58
      return pagePathsSet ? [...pagePathsSet] : []
×
59
    },
60
  }
61
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc