@jesscss/patch-css 1.0.8-alpha.4 → 2.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +16 -12
- package/eslint.config.mjs +16 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +10 -7
- package/lib/index.js.map +1 -0
- package/package.json +14 -14
- package/src/index.ts +35 -29
- package/test/bootstrap.js +8 -7
- package/test/files/01.spec.js +6 -5
- package/tsconfig.build.json +10 -0
- package/tsconfig.json +1 -0
- package/.rollup.cache/Users/matthew/git/oss/jess/packages/attach-css/dist/index.d.ts +0 -14
- package/.rollup.cache/Users/matthew/git/oss/jess/packages/attach-css/dist/index.js +0 -104
- package/.rollup.cache/Users/matthew/git/oss/jess/packages/attach-css/dist/index.js.map +0 -1
- package/.rollup.cache/Users/matthew/git/oss/jess/packages/attach-css/lib/index.d.ts +0 -14
- package/.rollup.cache/Users/matthew/git/oss/jess/packages/attach-css/lib/index.js +0 -104
- package/.rollup.cache/Users/matthew/git/oss/jess/packages/attach-css/lib/index.js.map +0 -1
- package/.rollup.cache/Users/matthew/git/oss/jess/packages/attach-css/tsconfig.tsbuildinfo +0 -1736
- package/tsconfig.tsbuildinfo +0 -1793
- /package/{rollup.config.js → rollup.config.mjs} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/** Detect that we're in a browser */\nexport let isBrowser = new Function('try { return this===window } catch(e) { return false }')()\n\nlet sheetLength: number\n\nlet _searchStart: string = '#__jess_start'\nlet _searchEnd: string = '#__jess_end'\n\n\nconst sheetMap: Map<Element | ProcessingInstruction, string> = new Map()\n\n/**\n * Stringify the contents of all loaded stylesheets\n */\nfunction collectStylesheets() {\n sheetLength = document.styleSheets.length\n for(let i = 0; i < sheetLength; i++) {\n const sheet = document.styleSheets[i]\n if (sheetMap.has(sheet.ownerNode)) {\n continue\n }\n\n try {\n const rules = sheet.cssRules\n const numRules = rules.length\n let ruleText: string = ''\n for (let j = 0; j < numRules; j++) {\n ruleText += rules[j].cssText\n }\n sheetMap.set(sheet.ownerNode, ruleText)\n } catch (e) {}\n }\n}\n\nfunction attachLoad() {\n window.addEventListener('DOMContentLoaded', collectStylesheets)\n}\n\nexport function init({ searchStart, searchEnd }) {\n _searchStart = searchStart || _searchStart\n _searchEnd = searchEnd || _searchEnd\n\n if (isBrowser) {\n attachLoad()\n }\n}\n\n/**\n * Insert a stylesheet just after the node where styles are found.\n * \n * @todo\n * This is prime for lots of optimization. For Alpha, we just always\n * generate or replace a style block without diffing.\n */\nexport function updateSheet(styleContents: string, id: string) {\n let previousSheet: {\n node: Element | ProcessingInstruction\n text: string\n }\n\n sheetMap.forEach((text, node) => {\n if (previousSheet) {\n return\n }\n if (node instanceof Element && node.id === id) {\n previousSheet = { node, text }\n }\n })\n\n let key = id\n\n if (!previousSheet) {\n /** Update our map */\n collectStylesheets()\n key = null\n\n let startText = `${_searchStart} { content: \"${id}\"; }`\n let endText = `${_searchEnd} { content: \"${id}\"; }`\n\n sheetMap.forEach((text, node) => {\n if (key !== null) {\n return\n }\n let start = text.indexOf(startText)\n if (start !== -1) {\n /** This should be the sheet */\n let end = text.indexOf(endText)\n if (end !== -1) {\n previousSheet = { text, node }\n key = 'true'\n }\n }\n })\n }\n\n const createStyleElement = (text: string) => {\n const style = document.createElement('style')\n style.setAttribute('media', 'all,jess')\n style.setAttribute('id', id)\n style.innerHTML = text\n return style\n }\n\n if (previousSheet) {\n /** Update existing sheet */\n if (key === id && previousSheet.node instanceof Element) {\n previousSheet.node.innerHTML = styleContents\n collectStylesheets()\n return\n }\n const next = previousSheet.node.nextElementSibling\n const style = createStyleElement(styleContents)\n if (next) {\n previousSheet.node.parentNode.insertBefore(style, next)\n return\n }\n }\n\n const head = document.getElementById('head')\n const style = createStyleElement(styleContents)\n head.appendChild(style)\n}\n"]}
|