From 0e6b22a7811674f2050540c0ed47eb81dae5f679 Mon Sep 17 00:00:00 2001 From: Mike Madeja Date: Sun, 11 Oct 2026 11:09:52 -0500 Subject: [PATCH] chore: declare FunctionsToExport and add .gitattributes FunctionsToExport was missing from the manifest entirely, which PowerShell/the Gallery treat as wildcard ('*') - Microsoft's module authoring guidance calls this an anti-pattern since it forces PowerShell to execute the .psm1 to discover exports instead of reading the static manifest, and the Gallery can't show an accurate function list without importing. Added the explicit list, generated from and verified identical to PiHoleShell.psm1's own Export-ModuleMember list (76 functions, confirmed via Test-ModuleManifest and a real Import-Module). Also adds .gitattributes (* text=auto, with PiHoleShell.psd1 excluded since it's UTF-16LE). This makes line-ending normalization explicit/portable across contributors rather than implicit in each person's local core.autocrlf setting - note it does not by itself silence the "LF will be replaced by CRLF" messages this session has seen locally, since those come from this machine's own core.autocrlf=true regardless of .gitattributes. Co-Authored-By: Claude Sonnet 5 --- .gitattributes | 8 ++++++++ PiHoleShell/PiHoleShell.psd1 | Bin 1624 -> 6888 bytes 2 files changed, 8 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..f7f2311 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,8 @@ +# Normalize line endings for all text files based on content, rather than relying on each +# contributor's local core.autocrlf setting (which is what's been producing the "LF will be +# replaced by CRLF" warnings on every git operation in this repo). +* text=auto + +# PiHoleShell.psd1 is UTF-16LE with a BOM (New-ModuleManifest's default output) - leave it as +# binary from git's line-ending-normalization perspective so it's never rewritten. +PiHoleShell/PiHoleShell.psd1 -text diff --git a/PiHoleShell/PiHoleShell.psd1 b/PiHoleShell/PiHoleShell.psd1 index 431211d3eb965c486deb411cad1a5dd10617c8ab..9cfbe97c9914127536e111cbdc5379acc1825d9b 100644 GIT binary patch literal 6888 zcmcgxZEw>^5T4H`@gMRnpaXJPi5@&Z`^N7Uxu;| zS;`&DN1U&4Jd~;AGLlD-aJGG$?;$yZ%n-Wcr4g*{zhK9Hd@FnMP7b8Eq!W6_U)IX0 zJeD(zc7|h1p34LIfM3sXejrce1@1n>w-*@ckvzq>$H4sz#{d#f@!iUt21vSyOaZhL zU|1g4zhiwk0?tcVY$2{0Y!2iTu0Eg;f+SHk0w6@&y*wDw_x$(jACe8{Q!!5%GKW4kg!q}kHQBPoVN4~;8j!5+OP+uGu z^`CmzHaIs0LZTjkBR=c9fd_jg@?T6WZh-hcJZK|^W5j!6I1p;@B7)b*{6~2W%LO7r z&o6JKc?g{g*x+b)ya?CBrc!Nr3lDPmkeS$pe)fPMN1n+UqT`HGbkrjk$*53k8`x$z z28NY7YiK3MVY8-I_HeiOMg69z>EXVtRed z2jXYcnqZ3AR-WXhg0V7j4RmZ8EXGY?a{6yDzli2WPVgZz&2sg)oWE1-Nw_v^CW-R)88y~kZ$A*gt)zfn^;iwll>?)ya?q-p)3UN*18j>yM#OgfuO!dvMKgpmy zFtx0?mF1{!j>%;NafaPK64p+c1-}o6V^f_O=A^5*dI&}{yG@zMO3uB{8FpjgK1N3< z&v3>+R@YTty-ru+vSfPI^(EJxFYZr2pn4sdxt${loaO3$toEq}pZzrUDK@HXnRTn= z?Y@?Kfu@)8DxSNvQ)*N}J2S@-;%KN@p39p>RQ9txddlY$ZW zP;1?oW2;N-SuG})UN>UW>G@NZUN^>A=3*FQa%qe)=`_Z&^d>RJ_RPw-*s2tEf%d>q zu1s@WtLJs7$1W~Aly(hYH@1)4-M_h;bgv0ulwh+_qLWjCs z?b4d%u^kRR_YaXb%T2A#+DG)Sc69&!g8s{%vC~Y;sr(5>V~w9-h9w#_c&vpOv%l_lzRMolPRu8G%bx%5@VLqw&JVKEGVC?t z!TO-@1Z+3lzAMNe*Ft=KdA_G0yZHpd_X+F-^1a0J+kzI}=lmIs%XhB}&hOvlC-(Z= A<^TWy delta 148 zcmaE1dV`1k|33$YY6jkktg(!|6BFHm#PU`~-pSgG!9cQ>aV3ycW%34+`Ap70GFRLl zNUjExFU9Ryc^SAEcqeO0*iK%=FEY78LJUaDOkN=o1g1qKXMpKrk|kg|M5+Kti%8Wn Mfb=OqA%q7Z0ZdLNRsaA1