{"_id":"remark-github-markdown-alerts","_rev":"6-cb8cb8472a5eef1e4736134acc0e1520","name":"remark-github-markdown-alerts","dist-tags":{"latest":"1.2.2"},"versions":{"1.0.0":{"name":"remark-github-markdown-alerts","version":"1.0.0","keywords":["remark","rehype","markdown","unified","unifiedjs","remarkrehype","gfm"],"author":{"url":"https://github.com/neg4n","name":"neg4n","email":"neg4n@icloud.com"},"license":"MIT","_id":"remark-github-markdown-alerts@1.0.0","maintainers":[{"name":"igorklepacki","email":"neg4n@icloud.com"}],"dist":{"shasum":"74f0e56c0cd1e8c25be535c00bee6c03ab90d111","tarball":"https://registry.npmjs.org/remark-github-markdown-alerts/-/remark-github-markdown-alerts-1.0.0.tgz","fileCount":10,"integrity":"sha512-fe44SLV7Etd2sHWnnxHn0bazVgczeHdS157NqYG6hKeruMHcUBlHQeK/tBMpwmdB8laRMw/hxutboml4iCzyzA==","signatures":[{"sig":"MEUCICpUbJUP6eE9psW7HwH8mPZ3Nn98HXNywy0qjHBVWx6VAiEA2GbRHvw9KF8yBjJayNjwHN5daz6qoS8xTNtuc8PqIZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44695},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","default":"./dist/index.esm.js","require":"./dist/index.cjs"}},"gitHead":"6a3ebb3c81cea090c858bb1bd0ea3192fbcb8e96","scripts":{"dev":"rollup -c --watch","attw":"attw --pack .","lint":"biome check .","test":"vitest","build":"rollup -c","prepare":"husky","release":"semantic-release","lint:fix":"biome check --write .","typecheck":"tsc --noEmit","test:watch":"vitest --watch","build:check":"pnpm run build && pnpm run attw","postinstall":"husky","test:coverage":"vitest --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"igorklepacki","actor":{"name":"igorklepacki","type":"user","email":"neg4n@icloud.com"},"email":"neg4n@icloud.com"},"_npmVersion":"10.8.2","description":"An unifiedjs (remark) plugin to convert GitHub Markdown alerts syntax into actual UI","directories":{},"lint-staged":{"*.{js,ts,json}":"biome check --write --no-errors-on-unmatched"},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.8.0","devDependencies":{"hono":"^4.8.2","husky":"9.1.7","tslib":"^2.8.1","vfile":"^6.0.3","remark":"^15.0.1","rollup":"^4.44.0","trough":"^2.2.0","vitest":"3.2.4","unified":"^11.0.5","type-fest":"^4.41.0","typescript":"^5.8.3","@types/hast":"^3.0.4","lint-staged":"16.1.2","@types/mdast":"^4.0.4","@types/unist":"^3.0.3","remark-rehype":"^11.1.2","unist-util-is":"^6.0.0","vfile-message":"^4.0.2","@biomejs/biome":"2.0.4","rehype-stringify":"^10.0.1","semantic-release":"24.2.5","@hono/node-server":"^1.14.4","rollup-plugin-dts":"^6.2.1","@vitest/coverage-v8":"^3.2.4","@arethetypeswrong/cli":"^0.18.2","@rollup/plugin-terser":"^0.4.4","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","@rollup/plugin-commonjs":"^28.0.6","@semantic-release/github":"11.0.3","unist-util-visit-parents":"^6.0.1","@rollup/plugin-typescript":"^12.1.3","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"6.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/remark-github-markdown-alerts_1.0.0_1750891678091_0.9096772943937614","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"remark-github-markdown-alerts","version":"1.1.0","keywords":["remark","rehype","markdown","unified","unifiedjs","remarkrehype","gfm"],"author":{"url":"https://github.com/neg4n","name":"neg4n","email":"neg4n@icloud.com"},"license":"MIT","_id":"remark-github-markdown-alerts@1.1.0","maintainers":[{"name":"igorklepacki","email":"neg4n@icloud.com"}],"dist":{"shasum":"cfd8aea7003a975874b1aecc47789c8c21d32b0e","tarball":"https://registry.npmjs.org/remark-github-markdown-alerts/-/remark-github-markdown-alerts-1.1.0.tgz","fileCount":10,"integrity":"sha512-fEAMIWuwrw4+WlybRZoHHZjjQ/adMUzEMox+648Qx4jFn4EOCJJ+pMDTjpEb7ullbJRo1JSKyZN4MNFPOsh+MQ==","signatures":[{"sig":"MEYCIQDLeokYVZIe5EtmUkT0hd3u87jvw/rBNc4kWCBXNmXC3gIhALXJc+j8exwb49pr1l1m4bJSq9yYctAK0uA0ljf660cv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64304},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","default":"./dist/index.esm.js","require":"./dist/index.cjs"}},"gitHead":"dd164bd0e706b1114ccc944f08a4104286ce5824","scripts":{"dev":"rollup -c --watch","attw":"attw --pack .","lint":"biome check .","test":"vitest","build":"rollup -c","prepare":"husky","release":"semantic-release","lint:fix":"biome check --write .","typecheck":"tsc --noEmit","test:watch":"vitest --watch","build:check":"pnpm run build && pnpm run attw","postinstall":"husky","test:coverage":"vitest --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"igorklepacki","actor":{"name":"igorklepacki","type":"user","email":"neg4n@icloud.com"},"email":"neg4n@icloud.com"},"_npmVersion":"10.8.2","description":"An unifiedjs (remark) plugin to convert GitHub Markdown alerts syntax into actual UI","directories":{},"lint-staged":{"*.{js,ts,json}":"biome check --write --no-errors-on-unmatched"},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.8.0","devDependencies":{"hono":"^4.8.2","husky":"9.1.7","tslib":"^2.8.1","vfile":"^6.0.3","remark":"^15.0.1","rollup":"^4.44.0","trough":"^2.2.0","vitest":"3.2.4","unified":"^11.0.5","type-fest":"^4.41.0","typescript":"^5.8.3","@types/hast":"^3.0.4","lint-staged":"16.1.2","@types/mdast":"^4.0.4","@types/unist":"^3.0.3","remark-rehype":"^11.1.2","unist-util-is":"^6.0.0","vfile-message":"^4.0.2","@biomejs/biome":"2.0.4","rehype-stringify":"^10.0.1","semantic-release":"24.2.5","@hono/node-server":"^1.14.4","rollup-plugin-dts":"^6.2.1","@vitest/coverage-v8":"^3.2.4","@arethetypeswrong/cli":"^0.18.2","@rollup/plugin-terser":"^0.4.4","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","@rollup/plugin-commonjs":"^28.0.6","@semantic-release/github":"11.0.3","unist-util-visit-parents":"^6.0.1","@rollup/plugin-typescript":"^12.1.3","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"6.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/remark-github-markdown-alerts_1.1.0_1750920711697_0.9868019336433971","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"remark-github-markdown-alerts","version":"1.1.1","keywords":["remark","rehype","markdown","unified","unifiedjs","remarkrehype","gfm"],"author":{"url":"https://github.com/neg4n","name":"neg4n","email":"neg4n@icloud.com"},"license":"MIT","_id":"remark-github-markdown-alerts@1.1.1","maintainers":[{"name":"igorklepacki","email":"neg4n@icloud.com"}],"dist":{"shasum":"d958a4a663d52ec5b06e7c20895b84d918b92d2d","tarball":"https://registry.npmjs.org/remark-github-markdown-alerts/-/remark-github-markdown-alerts-1.1.1.tgz","fileCount":10,"integrity":"sha512-VwPODGWC29o01aWODEJmLo2U7/9p9jvn0RVSY4qtXrWlDhpiHKpE+SG4j6C1JzAVMhyfO2T/CknAew68p1YQMQ==","signatures":[{"sig":"MEUCIEUb3v6gbBUU757kXJIulb/JOkW5H5N7RT7uKhpV/wI7AiEAzEOCbJGW/PS76S+3WT1NonQShtQTS8KYaepWTp0AHkw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64304},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","default":"./dist/index.esm.js","require":"./dist/index.cjs"}},"gitHead":"8953975794c6d7ebe298dd45d6c86ba0edd1b327","scripts":{"dev":"rollup -c --watch","attw":"attw --pack .","lint":"biome check .","test":"vitest","build":"rollup -c","prepare":"husky","release":"semantic-release","lint:fix":"biome check --write .","typecheck":"tsc --noEmit","test:watch":"vitest --watch","build:check":"pnpm run build && pnpm run attw","postinstall":"husky","test:coverage":"vitest --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"igorklepacki","actor":{"name":"igorklepacki","type":"user","email":"neg4n@icloud.com"},"email":"neg4n@icloud.com"},"_npmVersion":"10.8.2","description":"An unifiedjs (remark) plugin to convert GitHub Markdown alerts syntax into actual UI","directories":{},"lint-staged":{"*.{js,ts,json}":"biome check --write --no-errors-on-unmatched"},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"unist-util-visit":"^5.0.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.8.0","devDependencies":{"hono":"^4.8.2","husky":"9.1.7","tslib":"^2.8.1","vfile":"^6.0.3","remark":"^15.0.1","rollup":"^4.44.0","trough":"^2.2.0","vitest":"3.2.4","unified":"^11.0.5","type-fest":"^4.41.0","typescript":"^5.8.3","@types/hast":"^3.0.4","lint-staged":"16.1.2","@types/mdast":"^4.0.4","@types/unist":"^3.0.3","remark-rehype":"^11.1.2","unist-util-is":"^6.0.0","vfile-message":"^4.0.2","@biomejs/biome":"2.0.4","rehype-stringify":"^10.0.1","semantic-release":"24.2.5","@hono/node-server":"^1.14.4","rollup-plugin-dts":"^6.2.1","@vitest/coverage-v8":"^3.2.4","@arethetypeswrong/cli":"^0.18.2","@rollup/plugin-terser":"^0.4.4","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","@rollup/plugin-commonjs":"^28.0.6","@semantic-release/github":"11.0.3","unist-util-visit-parents":"^6.0.1","@rollup/plugin-typescript":"^12.1.3","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"6.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/remark-github-markdown-alerts_1.1.1_1750921730857_0.9162551934104637","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"remark-github-markdown-alerts","version":"1.2.0","keywords":["remark","rehype","markdown","unified","unifiedjs","remarkrehype","gfm"],"author":{"url":"https://github.com/neg4n","name":"neg4n","email":"neg4n@icloud.com"},"license":"MIT","_id":"remark-github-markdown-alerts@1.2.0","maintainers":[{"name":"igorklepacki","email":"neg4n@icloud.com"}],"dist":{"shasum":"241b59fd01359bb681a65d8ece4c11f279301c7e","tarball":"https://registry.npmjs.org/remark-github-markdown-alerts/-/remark-github-markdown-alerts-1.2.0.tgz","fileCount":10,"integrity":"sha512-HamjbqGVDDMmg93RY0DxbC9aIWdLMmv0KitNRtNPGFgtop3vqKeNG50B9Ot3v3roVb1YnUBnlKYnSuCcqF21DQ==","signatures":[{"sig":"MEUCIQDm4PZfOes+LYmmh1JB4yd5dTsaXSYy2AqNAHHPx+AcUAIgS1D2I3NIJoxWbzzYi+yviVtzOCNLcFPLvCdEheICCSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65731},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","default":"./dist/index.esm.js","require":"./dist/index.cjs"}},"gitHead":"3a394e00774762e1789247bb026bb1b6346a0e50","scripts":{"dev":"rollup -c --watch","attw":"attw --pack .","lint":"biome check .","test":"vitest","build":"rollup -c","prepare":"husky","release":"semantic-release","lint:fix":"biome check --write .","typecheck":"tsc --noEmit","test:watch":"vitest --watch","build:check":"pnpm run build && pnpm run attw","postinstall":"husky","test:coverage":"vitest --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"igorklepacki","actor":{"name":"igorklepacki","type":"user","email":"neg4n@icloud.com"},"email":"neg4n@icloud.com"},"_npmVersion":"10.8.2","description":"An unifiedjs (remark) plugin to convert GitHub Markdown alerts syntax into actual UI","directories":{},"lint-staged":{"*.{js,ts,json}":"biome check --write --no-errors-on-unmatched"},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"hastscript":"^9.0.1","unist-builder":"^4.0.0","unist-util-visit":"^5.0.0","hast-util-to-html":"^9.0.5","hast-util-from-html":"^2.0.3","mdast-util-to-string":"^4.0.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.8.0","devDependencies":{"hono":"^4.8.2","husky":"9.1.7","tslib":"^2.8.1","vfile":"^6.0.3","remark":"^15.0.1","rollup":"^4.44.0","trough":"^2.2.0","vitest":"3.2.4","unified":"^11.0.5","type-fest":"^4.41.0","typescript":"^5.8.3","@types/hast":"^3.0.4","lint-staged":"16.1.2","@types/mdast":"^4.0.4","@types/unist":"^3.0.3","remark-rehype":"^11.1.2","unist-util-is":"^6.0.0","vfile-message":"^4.0.2","@biomejs/biome":"2.0.4","rehype-stringify":"^10.0.1","semantic-release":"24.2.5","@hono/node-server":"^1.14.4","rollup-plugin-dts":"^6.2.1","@vitest/coverage-v8":"^3.2.4","@arethetypeswrong/cli":"^0.18.2","@rollup/plugin-terser":"^0.4.4","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","@rollup/plugin-commonjs":"^28.0.6","@semantic-release/github":"11.0.3","unist-util-visit-parents":"^6.0.1","@rollup/plugin-typescript":"^12.1.3","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"6.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/remark-github-markdown-alerts_1.2.0_1750978331164_0.8735506495622456","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"remark-github-markdown-alerts","version":"1.2.1","keywords":["remark","rehype","markdown","unified","unifiedjs","remarkrehype","gfm"],"author":{"url":"https://github.com/neg4n","name":"neg4n","email":"neg4n@icloud.com"},"license":"MIT","_id":"remark-github-markdown-alerts@1.2.1","maintainers":[{"name":"igorklepacki","email":"neg4n@icloud.com"}],"dist":{"shasum":"7ee0bd72f66107ddc9f1d138a8826dce04697ab2","tarball":"https://registry.npmjs.org/remark-github-markdown-alerts/-/remark-github-markdown-alerts-1.2.1.tgz","fileCount":10,"integrity":"sha512-2R1oPZsMtMBLrema11zSmwWaIqeHz89/yTsgmgu3QeP7jn24Vti3KvMH6kZH14yYg1eGQI3ruHiAZ6idZS7s7g==","signatures":[{"sig":"MEQCIG41ICuwUb23QDlNY/z4iHzC9aVmtR7sSAhwuLoYHXYSAiA/dH4G4UoksTCOCTaN8DfrG92B1lY9JhBt3dsAxqI3MQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66126},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","default":"./dist/index.esm.js","require":"./dist/index.cjs"}},"gitHead":"d2c2e3e2465a18431e9706fbd47482db127b2bc1","scripts":{"dev":"rollup -c --watch","attw":"attw --pack .","lint":"biome check .","test":"vitest","build":"rollup -c","prepare":"husky","release":"semantic-release","lint:fix":"biome check --write .","typecheck":"tsc --noEmit","test:watch":"vitest --watch","build:check":"pnpm run build && pnpm run attw","postinstall":"husky","test:coverage":"vitest --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"igorklepacki","actor":{"name":"igorklepacki","type":"user","email":"neg4n@icloud.com"},"email":"neg4n@icloud.com"},"_npmVersion":"10.8.2","description":"An unifiedjs (remark) plugin to convert GitHub Markdown alerts syntax into actual UI","directories":{},"lint-staged":{"*.{js,ts,json}":"biome check --write --no-errors-on-unmatched"},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"hastscript":"^9.0.1","unist-builder":"^4.0.0","unist-util-visit":"^5.0.0","hast-util-to-html":"^9.0.5","hast-util-from-html":"^2.0.3","mdast-util-to-string":"^4.0.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.8.0","devDependencies":{"hono":"^4.8.2","husky":"9.1.7","tslib":"^2.8.1","vfile":"^6.0.3","remark":"^15.0.1","rollup":"^4.44.0","trough":"^2.2.0","vitest":"3.2.4","unified":"^11.0.5","type-fest":"^4.41.0","typescript":"^5.8.3","@types/hast":"^3.0.4","lint-staged":"16.1.2","@types/mdast":"^4.0.4","@types/unist":"^3.0.3","remark-rehype":"^11.1.2","unist-util-is":"^6.0.0","vfile-message":"^4.0.2","@biomejs/biome":"2.0.4","rehype-stringify":"^10.0.1","semantic-release":"24.2.5","@hono/node-server":"^1.14.4","rollup-plugin-dts":"^6.2.1","@vitest/coverage-v8":"^3.2.4","@arethetypeswrong/cli":"^0.18.2","@rollup/plugin-terser":"^0.4.4","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","@rollup/plugin-commonjs":"^28.0.6","@semantic-release/github":"11.0.3","unist-util-visit-parents":"^6.0.1","@rollup/plugin-typescript":"^12.1.3","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"6.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/remark-github-markdown-alerts_1.2.1_1750983073973_0.3308308094387842","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"remark-github-markdown-alerts","version":"1.2.2","description":"An unifiedjs (remark) plugin to convert GitHub Markdown alerts syntax into actual UI","type":"module","main":"./dist/index.cjs","module":"./dist/index.esm.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs","default":"./dist/index.esm.js"}},"sideEffects":false,"scripts":{"build":"rollup -c","build:check":"pnpm run build && pnpm run attw","dev":"rollup -c --watch","typecheck":"tsc --noEmit","attw":"attw --pack .","test":"vitest","test:watch":"vitest --watch","test:coverage":"vitest --coverage","lint":"biome check .","lint:fix":"biome check --write .","prepare":"husky","prepublishOnly":"pnpm build","release":"semantic-release"},"lint-staged":{"*.{js,ts,json}":"biome check --write --no-errors-on-unmatched"},"keywords":["remark","rehype","markdown","unified","unifiedjs","remarkrehype","gfm"],"author":{"name":"neg4n","email":"neg4n@icloud.com","url":"https://github.com/neg4n"},"license":"MIT","packageManager":"pnpm@10.8.0","devDependencies":{"@arethetypeswrong/cli":"^0.18.2","@biomejs/biome":"2.0.4","@hono/node-server":"^1.14.4","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.1.3","@semantic-release/changelog":"6.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/git":"10.0.1","@semantic-release/github":"11.0.3","@semantic-release/npm":"12.0.1","@semantic-release/release-notes-generator":"14.0.3","@types/hast":"^3.0.4","@types/mdast":"^4.0.4","@types/unist":"^3.0.3","@vitest/coverage-v8":"^3.2.4","hono":"^4.8.2","husky":"9.1.7","lint-staged":"16.1.2","rehype-stringify":"^10.0.1","remark":"^15.0.1","remark-rehype":"^11.1.2","rollup":"^4.44.0","rollup-plugin-dts":"^6.2.1","semantic-release":"24.2.5","trough":"^2.2.0","tslib":"^2.8.1","type-fest":"^4.41.0","typescript":"^5.8.3","unified":"^11.0.5","unist-util-is":"^6.0.0","unist-util-visit-parents":"^6.0.1","vfile":"^6.0.3","vfile-message":"^4.0.2","vitest":"3.2.4"},"dependencies":{"hast-util-from-html":"^2.0.3","hast-util-to-html":"^9.0.5","hastscript":"^9.0.1","mdast-util-to-string":"^4.0.0","unist-builder":"^4.0.0","unist-util-visit":"^5.0.0"},"_id":"remark-github-markdown-alerts@1.2.2","gitHead":"56bb051bcb4c4ff2988d2f8eedab184f7c1fbb81","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-MN7n4idIttGa99pXo2F+9hLX+AeKFXbcDCLbL/oGomSbGEThg3goYlYgyJ+NAXGi2WrwRMtxQ1h594dq+8j4UQ==","shasum":"70970dc764a582d386df489c8fafb0b600014d61","tarball":"https://registry.npmjs.org/remark-github-markdown-alerts/-/remark-github-markdown-alerts-1.2.2.tgz","fileCount":10,"unpackedSize":66098,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDG6EJyuQsr4J6P31zWDq4vgksu1J2BshyNg1R3PhfaIwIgVnQ2X0I6xWNN05b1dpUhV7pTd0v1XZtcqksm2dN/GdY="}]},"_npmUser":{"name":"igorklepacki","email":"neg4n@icloud.com"},"directories":{},"maintainers":[{"name":"igorklepacki","email":"neg4n@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/remark-github-markdown-alerts_1.2.2_1760125682295_0.9735222699434944"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-25T22:47:58.090Z","modified":"2025-10-10T19:48:02.644Z","1.0.0":"2025-06-25T22:47:58.262Z","1.1.0":"2025-06-26T06:51:51.937Z","1.1.1":"2025-06-26T07:08:51.052Z","1.2.0":"2025-06-26T22:52:11.317Z","1.2.1":"2025-06-27T00:11:14.190Z","1.2.2":"2025-10-10T19:48:02.479Z"},"author":{"name":"neg4n","email":"neg4n@icloud.com","url":"https://github.com/neg4n"},"license":"MIT","keywords":["remark","rehype","markdown","unified","unifiedjs","remarkrehype","gfm"],"description":"An unifiedjs (remark) plugin to convert GitHub Markdown alerts syntax into actual UI","maintainers":[{"name":"igorklepacki","email":"neg4n@icloud.com"}],"readme":"# remark-github-markdown-alerts\n\nTransform GitHub-style markdown alerts into HTML using the [unified][unified] ecosystem\n\n> **Why this package over [jaywcjlove/remark-github-blockquote-alert][alternative]?**  \n> First of all, the mentioned project is a great one and has been there for a while, however it's design indicates slightly different usage - it's rather for out of the box implementation of 1:1 GitHub Alerts visuals than for custom implementations.\n>\n> On the other hand, the [neg4n/remark-github-markdown-alerts](https://github.com/neg4n/remark-github-markdown-alerts) offers maximum extensibility with granular configuration for class names, HTML elements, and custom icons. It's both ESM and CJS compatible, completely unstyled by default (no opinionated GitHub CSS), adaptable to any design system\n\n## Features\n\n- 🎯 **GitHub compatibility** - Renders `[!NOTE]`, `[!TIP]`, `[!IMPORTANT]`, `[!WARNING]`, and `[!CAUTION]` alerts\n- 🔄 **Dual rendering modes** - Smart auto-detection for HTML and component-based pipelines (react-markdown, MDX)\n- 🛡️ **100% test coverage** - Comprehensive test suite\n- 🔧 **Maximum extensibility** - Configure HTML elements, class names, and custom icons per alert type\n- 🎨 **Unstyled by default** - No opinionated CSS, works with any design system\n- 📦 **TypeScript support** - Batteries included with typed HTML tags and more\n- 🔧 **[Unified][unified] ecosystem** - Works with remark, rehype and seamlessly integrates with [react-markdown][react-markdown] and MDX\n\n## Installation\n\n```sh\nnpm i remark-github-markdown-alerts\n# or\nyarn add remark-github-markdown-alerts\n# or\npnpm add remark-github-markdown-alerts\n# or\nbun add remark-github-markdown-alerts\n```\n\n## Rendering Modes\n\nThis plugin automatically detects your rendering environment and optimizes output accordingly:\n\n### 🔄 Auto-Detection (Recommended)\n\nThe plugin automatically chooses the optimal rendering mode:\n\n- **HTML Mode**: Traditional remark → rehype → HTML pipelines\n- **Component Mode**: react-markdown, MDX, and component-based systems\n\n```ts\nimport { remarkGitHubAlerts } from 'remark-github-markdown-alerts'\n\n// Auto-detects the right mode for your setup\nremark().use(remarkGitHubAlerts)\n```\n\n### 🎯 Manual Mode Selection\n\nOverride auto-detection when needed:\n\n```ts\nimport { remarkGitHubAlerts } from 'remark-github-markdown-alerts'\n\n// Force HTML mode (traditional pipelines)\nremark().use(remarkGitHubAlerts, { mode: 'html' })\n\n// Force component mode (react-markdown, MDX)\nremark().use(remarkGitHubAlerts, { mode: 'component' })\n\n// Auto-detection (default)\nremark().use(remarkGitHubAlerts, { mode: 'auto' })\n```\n\n### 📋 Mode Detection Logic\n\n**Component mode** is automatically triggered when:\n- Using with `react-markdown` \n- Processing `.mdx` files\n- File data contains `{ mdx: true }`\n- File data contains `{ allowDangerousHtml: false }`\n\n**HTML mode** is used for:\n- Traditional remark → rehype → HTML pipelines\n- Static site generators\n- Server-side rendering without components\n\n## Usage\n\n### With remark\n\n```ts\nimport { remark } from 'remark'\nimport remarkHtml from 'remark-html'\nimport { remarkGitHubAlerts } from 'remark-github-markdown-alerts'\n\nconst processor = remark()\n  .use(remarkGitHubAlerts)\n  .use(remarkHtml)\n\nconst markdown = `\n> [!NOTE]\n> This is a note alert with some important information.\n\n> [!WARNING] Custom title\n> This is a warning with a custom title.\n`\n\nconst result = await processor.process(markdown)\nconsole.log(result.toString())\n```\n\n### With React Server Components and custom icons\n\nUsing [`react-markdown`][react-markdown] and [`common-tags`][common-tags]'s `html` helper, example code in Next.js application:\n\n```tsx\nimport { MarkdownAsync } from 'react-markdown'\nimport { html } from 'common-tags'\nimport { remarkGitHubAlerts } from 'remark-github-markdown-alerts'\n\n// ⚠️ Use only in server environment (RSC)\nconst customIcon = html`<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\n  <path fill=\"currentColor\" d=\"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16zM8.93 6.588l-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"/>\n</svg>`\n\nasync function ServerMarkdown() {\n  const markdown = `\n  > [!NOTE]\n  > Server-rendered alert with custom SVG icon\n  `\n  \n  return (\n    <MarkdownAsync \n      remarkPlugins={[\n        [remarkGitHubAlerts, {\n          alerts: {\n            note: {\n              iconElementHtml: customIcon\n            }\n          }\n        }]\n      ]}\n    >\n      {markdown}\n    </MarkdownAsync>\n  )\n}\n```\n\n### With [unified][unified] pipeline\n\n```ts\nimport { unified } from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport rehypeStringify from 'rehype-stringify'\nimport { remarkGitHubAlerts } from 'remark-github-markdown-alerts'\n\nconst processor = unified()\n  .use(remarkParse)\n  .use(remarkGitHubAlerts)\n  .use(remarkRehype, { allowDangerousHtml: true })\n  .use(rehypeStringify, { allowDangerousHtml: true })\n\nconst result = await processor.process('> [!IMPORTANT]\\\\n> Critical information here!')\n```\n\n## Alert Types\n\n```markdown\n> [!NOTE]\n> Information that users should know.\n\n> [!TIP]\n> Helpful advice for better results.\n\n> [!IMPORTANT]  \n> Key information for success.\n\n> [!WARNING]\n> Urgent information to avoid problems.\n\n> [!CAUTION]\n> Risks or negative outcomes.\n```\n\n### Custom Titles\n\n```markdown\n> [!NOTE] Custom title\n> Content with custom title.\n\n> [!WARNING] Breaking Changes\n> This version has breaking changes.\n```\n\n## Configuration\n\nThe plugin accepts an options object with the following sections:\n\n### 🎛️ Global Configuration (`defaultConfig`)\n\nApplied to all alert types unless overridden:\n\n```ts\nimport { remarkGitHubAlerts } from 'remark-github-markdown-alerts'\n\nconst options = {\n  defaultConfig: {\n    // General options\n    mode: \"auto\"                   // Rendering mode selection\n\n    // 🎨 CSS Class Names\n    classNames: {\n      container: 'alert',          // Main wrapper class\n      icon: 'alert-icon',          // Icon container class\n      title: 'alert-title',        // Title/header class\n      content: 'alert-content'     // Content body class\n    },\n    \n    // 🏗️ HTML Elements\n    tags: {\n      container: 'section',        // Wrapper element\n      icon: 'i',                   // Icon element\n      title: 'h3',                 // Title element\n      content: 'div'               // Content element\n    },\n    \n    // 🔧 Custom Icon\n    iconElementHtml: '🔔'          // Default icon HTML\n  }\n}\n```\n\n### 🎯 Alert-Specific Configuration (`alerts`)\n\nOverride settings for individual alert types:\n\n```ts\nconst options = {\n  // ... defaultConfig above\n  alerts: {\n    note: {\n      iconElementHtml: '<svg viewBox=\"0 0 16 16\">...</svg>',\n      classNames: {\n        container: 'note-container',\n        icon: 'note-icon'\n      }\n    },\n    warning: {\n      tags: {\n        container: 'aside',\n        title: 'h4'\n      }\n    }\n  }\n}\n\nconst processor = remark().use(remarkGitHubAlerts, options)\n```\n\n### 📋 Configuration Reference\n\n#### Plugin Options\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| **Rendering** | | | |\n| `mode` | `'auto' \\| 'html' \\| 'component'` | `'auto'` | Rendering mode selection |\n| `defaultConfig` | `PartialDeep<AlertConfig>` | See below | Global configuration for all alerts |\n| `alerts` | `AlertsConfig` | `{}` | Alert-specific configuration overrides |\n\n#### Default Configuration Options\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| **CSS Classes** | | | |\n| `classNames.container` | `string` | `'markdown-alert'` | Main alert container class |\n| `classNames.icon` | `string` | `'markdown-alert-icon'` | Icon element class |\n| `classNames.title` | `string` | `'markdown-alert-title'` | Title/header class |\n| `classNames.content` | `string` | `'markdown-alert-content'` | Content body class |\n| **HTML Elements** | | | |\n| `tags.container` | `HtmlElement` | `'div'` | Alert wrapper element |\n| `tags.icon` | `HtmlElement` | `'span'` | Icon container element |\n| `tags.title` | `HtmlElement` | `'div'` | Title/header element |\n| `tags.content` | `HtmlElement` | `'div'` | Content body element |\n| **Customization** | | | |\n| `iconElementHtml` | `string` | `''` | Custom icon HTML/emoji |\n\n#### Alert-Specific Overrides\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `alerts.note` | `PartialDeep<AlertConfig>` | Override config for `[!NOTE]` alerts |\n| `alerts.tip` | `PartialDeep<AlertConfig>` | Override config for `[!TIP]` alerts |\n| `alerts.important` | `PartialDeep<AlertConfig>` | Override config for `[!IMPORTANT]` alerts |\n| `alerts.warning` | `PartialDeep<AlertConfig>` | Override config for `[!WARNING]` alerts |\n| `alerts.caution` | `PartialDeep<AlertConfig>` | Override config for `[!CAUTION]` alerts |\n\n\n\n> [!TIP]\n> Alert-specific configurations merge with the default config, so you only need to specify the properties you want to override.\n\n## Output Differences by Mode\n\n### HTML Mode Output\n\nTraditional HTML structure optimized for static sites and server-side rendering:\n\n```html\n<div class=\"markdown-alert markdown-alert-note\">\n  <div class=\"markdown-alert-title\">\n    <span class=\"markdown-alert-icon\"></span>\n    Note\n  </div>\n  <div class=\"markdown-alert-content\">\n    <p>Your content here</p>\n  </div>\n</div>\n```\n\n### Component Mode Output\n\nEnhanced structure optimized for react-markdown and MDX with additional metadata:\n\n```html\n<div class=\"markdown-alert markdown-alert-note\" data-alert-type=\"note\">\n  <div class=\"markdown-alert-title\">\n    <span class=\"markdown-alert-icon\"></span>\n    Note\n  </div>\n  <div class=\"markdown-alert-content\">\n    <p>Your content here</p>\n  </div>\n</div>\n```\n\n# License\n\nThe MIT License\n\n[unified]: https://github.com/unifiedjs/unified\n[react-markdown]: https://github.com/remarkjs/react-markdown\n[common-tags]: https://www.npmjs.com/package/common-tags\n[alternative]: https://github.com/jaywcjlove/remark-github-blockquote-alert\n","readmeFilename":"README.md"}