MCPcopy
hub / github.com/postcss/autoprefixer / add

Method add

lib/processor.js:57–381  ·  view source on GitHub ↗

* Add necessary prefixes

(css, result)

Source from the content-addressed store, hash-verified

55 * Add necessary prefixes
56 */
57 add(css, result) {
58 // At-rules
59 let resolution = this.prefixes.add['@resolution']
60 let keyframes = this.prefixes.add['@keyframes']
61 let viewport = this.prefixes.add['@viewport']
62 let supports = this.prefixes.add['@supports']
63
64 css.walkAtRules(rule => {
65 if (rule.name === 'keyframes') {
66 if (!this.disabled(rule, result)) {
67 return keyframes && keyframes.process(rule)
68 }
69 } else if (rule.name === 'viewport') {
70 if (!this.disabled(rule, result)) {
71 return viewport && viewport.process(rule)
72 }
73 } else if (rule.name === 'supports') {
74 if (
75 this.prefixes.options.supports !== false &&
76 !this.disabled(rule, result)
77 ) {
78 return supports.process(rule)
79 }
80 } else if (rule.name === 'media' && rule.params.includes('-resolution')) {
81 if (!this.disabled(rule, result)) {
82 return resolution && resolution.process(rule)
83 }
84 }
85
86 return undefined
87 })
88
89 // Selectors
90 css.walkRules(rule => {
91 if (this.disabled(rule, result)) return undefined
92
93 return this.prefixes.add.selectors.map(selector => {
94 return selector.process(rule, result)
95 })
96 })
97
98 let gridPrefixes =
99 this.gridStatus(css, result) &&
100 this.prefixes.add['grid-area'] &&
101 this.prefixes.add['grid-area'].prefixes
102
103 css.walkDecls(decl => {
104 if (this.disabledDecl(decl, result)) return undefined
105
106 let parent = decl.parent
107 let prop = decl.prop
108 let value = decl.value
109
110 if (prop === 'color-adjust') {
111 if (parent.every(i => i.prop !== 'print-color-adjust')) {
112 result.warn(
113 'Replace color-adjust to print-color-adjust. ' +
114 'The color-adjust shorthand is currently deprecated.',

Callers

nothing calls this directly

Calls 14

disabledMethod · 0.95
gridStatusMethod · 0.95
disabledDeclMethod · 0.95
displayTypeMethod · 0.95
disabledValueMethod · 0.95
insideGridFunction · 0.85
hasRowsAndColumnsFunction · 0.85
hasGridTemplateFunction · 0.85
insertAreasFunction · 0.85
unprefixedMethod · 0.80
valuesMethod · 0.80
saveMethod · 0.80

Tested by

no test coverage detected