Repository navigation
Expand file tree
/
Copy pathpackage.json
More file actions
92 lines (92 loc) · 4.91 KB
/
Copy pathpackage.json
File metadata and controls
92 lines (92 loc) · 4.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
{
"--": [
"Notes:",
"",
"Script argument handling:",
"- Our scripts use a special POSIX shim that allows you to run i.e. yarn lint:markdown and specify files to check, or omit the files and it has a default.",
"- The magic is in the ${@:-\"**/*.md\"} part:",
" - $@: This represents all the arguments passed to the script (e.g., the files you want to lint).",
" - ${...:-...}: This is the shell's 'use default value' operator.",
" - In plain English: If $@ (the list of arguments) is empty or not set, use the default value **/*.md. Otherwise, use the arguments that were provided.",
"",
"Markdown file filtering:",
"- lint:markdown and format:markdown only process .md files when specific files are passed.",
"- If you run 'yarn format source/index.html README.md', only README.md gets passed to markdownlint.",
"- This is necessary because markdownlint-cli2 does not filter by extension - it will attempt to lint any file you explicitly pass to it.",
"- The shell loop 'for file in \"$@\"; do case \"$file\" in *.md) ...' implements this filtering.",
"",
"Prettier ignore behavior:",
"- Prettier respects .prettierignore even when you pass specific file paths.",
"- .prettierignore contains '*.md' so Prettier silently skips Markdown files.",
"- This means 'yarn format README.md' will skip Prettier but run markdownlint on README.md.",
"- This is intentional: we want markdownlint (not Prettier) to format Markdown files.",
"",
"Ruby:",
"- yarn build:jekyll and yarn dev use `rv run bundle exec`.",
"- Homebrew's ruby/bundle on PATH is not the GitHub Pages ruby in .ruby-version.",
"- Using `bundle` directly loads Homebrew Bundler and fails with a missing exe/bundle LoadError.",
"",
"Known issues:",
"- yarn test:html-validate returns exit code 129 when run through yarn, despite tests passing.",
"- This appears to be related to how Yarn Berry handles worker_threads termination.",
"- Workaround: run tests individually or use CI/CD which may handle this differently.",
"- The tests themselves pass correctly (see output), only the exit code is affected.",
"",
"@yarnpkg/core:",
"- @yarnpkg/sdks depends on @yarnpkg/core ^4.9.1.",
"- 4.9.2 declares got as a patch file under ~/.yarn/patches that exists only in the Yarn repository.",
"- yarn dlx @yarnpkg/sdks fails with ENOENT on that patch. https://github.com/yarnpkg/berry/issues/7281",
"- resolutions pins @yarnpkg/core to 4.9.1, and postinstall runs the local sdks binary.",
"",
"Transitive security overrides:",
"- ajv, brace-expansion, fast-uri, and undici are pinned in resolutions.",
"- html-validate and cheerio already allow these releases, and Yarn had locked older vulnerable ones.",
"- ajv 8.20.0, brace-expansion 5.0.12, fast-uri 3.1.8, undici 7.30.0."
],
"license": "MIT",
"devDependencies": {
"@fulldecent/nice-checkers-plugin": "^1.3.11",
"@shopify/prettier-plugin-liquid": "^1.11.2",
"@yarnpkg/sdks": "^3.3.1",
"cheerio": "^1.2.0",
"css": "^3.0.0",
"glob": "^13.0.6",
"html-validate": "^11.16.2",
"markdownlint-cli2": "^0.23.3",
"prettier": "^3.9.9"
},
"resolutions": {
"@yarnpkg/core": "4.9.1",
"ajv": "8.20.0",
"brace-expansion": "5.0.12",
"fast-uri": "3.1.8",
"undici": "7.30.0"
},
"scripts": {
"lint": "sh -c 'yarn lint:prettier \"$@\" && yarn lint:markdown \"$@\"' --",
"lint:prettier": "sh -c 'yarn prettier --cache --cache-location=cache/.prettiercache --check ${@:-\".\"}' --",
"lint:markdown": "sh -c 'if [ $# -eq 0 ]; then yarn markdownlint-cli2 \"**/*.md\"; else for file in \"$@\"; do case \"$file\" in *.md) yarn markdownlint-cli2 \"$file\";; esac; done; fi' --",
"format": "sh -c 'yarn format:prettier \"$@\" && yarn format:markdown \"$@\"' --",
"format:prettier": "sh -c 'yarn prettier --cache --cache-location=cache/.prettiercache --write ${@:-\".\"}' --",
"format:markdown": "sh -c 'if [ $# -eq 0 ]; then yarn markdownlint-cli2 --fix \"**/*.md\"; else for file in \"$@\"; do case \"$file\" in *.md) yarn markdownlint-cli2 --fix \"$file\";; esac; done; fi' --",
"dev": "rv run bundle exec jekyll serve --livereload",
"build": "yarn build:jekyll && yarn build:sitemap",
"build:jekyll": "rv run bundle exec jekyll build",
"build:sitemap": "node scripts/generate-sitemap.mjs",
"test": "sh -c 'yarn test:html-validate \"$@\" && yarn test:dirty-file-paths-checker && yarn test:unused-assets' --",
"test:html-validate": "node test/html-validate.mjs",
"test:dirty-file-paths-checker": "node test/dirty-file-paths-checker.mjs",
"test:unused-assets": "node test/unused-assets.mjs",
"postinstall": "yarn sdks vscode"
},
"packageManager": "yarn@4.18.1",
"dependencies": {
"front-matter": "^4.0.2",
"xml2js": "^0.6.2"
},
"dependenciesMeta": {
"@shopify/prettier-plugin-liquid@1.5.0": {
"unplugged": true
}
}
}