Merge pull request #22210 from MegaphoneJon/optional-before-required
[civicrm-core.git] / composer.json
CommitLineData
cca05393 1{
52a05d3f
DS
2 "name": "civicrm/civicrm-core",
3 "description": "Open source constituent relationship management for non-profits, NGOs and advocacy organizations.",
4 "type": "library",
be652e9b 5 "license": "AGPL-3.0",
52a05d3f
DS
6 "authors": [
7 {
8fc57118
DS
8 "name": "Coleman Watts",
9 "role": "Product Manager"
52a05d3f
DS
10 },
11 {
8fc57118
DS
12 "name": "Joshua Gowans",
13 "role": "Project Manager"
52a05d3f
DS
14 },
15 {
8fc57118
DS
16 "name": "Mathieu Lutfy",
17 "role": "Infrastructure"
52a05d3f
DS
18 },
19 {
8fc57118
DS
20 "name": "Tim Otten",
21 "role": "Software Architect"
52a05d3f
DS
22 },
23 {
8fc57118
DS
24 "name": "CiviCRM Community",
25 "homepage": "https://civicrm.org"
52a05d3f
DS
26 }
27 ],
cca05393
TO
28 "autoload": {
29 "psr-0": {
ac0b2c9c 30 "PHPUnit_": ["packages/"],
711aa5d7 31 "Civi": "",
d845fb8b 32 "Civi\\": ["tests/phpunit/"]
4a32b6fb
TO
33 },
34 "psr-4": {
61f9a123 35 "Civi\\": [".", "Civi/", "setup/src/"]
cca05393
TO
36 }
37 },
87f0580c 38 "include-path": ["vendor/tecnickcom"],
dc3ace93
TO
39 "config": {
40 "platform": {
e050e52a 41 "php": "7.2"
dc3ace93
TO
42 }
43 },
cca05393 44 "require": {
d6e906e0 45 "php": "~7.2 || ~8",
22511623 46 "cache/integration-tests": "~0.17.0",
f0dd7c9c 47 "dompdf/dompdf" : "~1.0.0",
f297e791 48 "firebase/php-jwt": ">=3 <6",
209ef5bf 49 "electrolinux/phpquery": "^0.9.6",
c2b44ba2 50 "symfony/config": "~3.0 || ~4.4",
5ff57db4 51 "symfony/polyfill-iconv": "~1.0",
c2b44ba2
SL
52 "symfony/dependency-injection": "~3.0 || ~4.4",
53 "symfony/event-dispatcher": "~3.0 || ~4.4",
54 "symfony/filesystem": "~3.0 || ~4.4",
55 "symfony/process": "~3.0 || ~4.4",
518417fd 56 "symfony/var-dumper": "~3.0 || ~4.4 || ~5.1",
0a5cc337 57 "psr/log": "~1.0",
c2b44ba2 58 "symfony/finder": "~3.0 || ~4.4",
2cfebb82 59 "tecnickcom/tcpdf" : "6.4.*",
5f3c4f5b 60 "totten/ca-config": "~17.05",
16924c84 61 "zetacomponents/base": "1.9.*",
ec88fefe 62 "zetacomponents/mail": "1.9.*",
77c89e7a 63 "marcj/topsort": "~1.1",
95d1c020 64 "phpoffice/phpword": "^0.18.0",
436e8384 65 "pear/validate_finance_creditcard": "0.7.0",
30836e92 66 "civicrm/civicrm-cxn-rpc": "~0.20.12.01 || ~0.19.01.10",
3018c1d5 67 "pear/auth_sasl": "1.1.0",
a6a0ff13 68 "pear/net_smtp": "1.9.*",
3018c1d5 69 "pear/net_socket": "1.0.*",
2215f6dc 70 "pear/mail": "^1.4",
6c1c4ffc 71 "guzzlehttp/guzzle": "^6.3",
66a7c254 72 "psr/simple-cache": "~1.0.1",
2f0db034 73 "cweagans/composer-patches": "~1.0",
7d792d0f 74 "pear/log": "1.13.3",
108332db 75 "adrienrn/php-mimetyper": "0.2.2",
3da9dd6c 76 "civicrm/composer-downloads-plugin": "^3.0",
c5abc6ae 77 "league/csv": "^9.2",
540e72d8
TO
78 "league/oauth2-client": "^2.4",
79 "league/oauth2-google": "^3.0",
ab242d96 80 "tplaner/when": "~3.0.0",
2d38c687 81 "xkerman/restricted-unserialize": "~1.1",
ca4cfe7a
SL
82 "typo3/phar-stream-wrapper": "^2 || ^3.0",
83 "brick/money": "~0.4",
968f6190 84 "ext-intl": "*",
b687e8d7 85 "pear/mail_mime": "~1.10",
51142dfe 86 "pear/db": "1.11",
d81d871a 87 "civicrm/composer-compile-lib": "~0.3 || ~1.0",
463edc66 88 "ext-json": "*",
44b5fddd
CW
89 "ezyang/htmlpurifier": "^4.13",
90 "phpoffice/phpspreadsheet": "^1.18"
f28ac29c
TO
91 },
92 "scripts": {
93 "post-install-cmd": [
9500c14a 94 "bash tools/scripts/composer/dompdf-cleanup.sh",
8aa9061e 95 "bash tools/scripts/composer/tcpdf-cleanup.sh",
0ccbacae 96 "bash tools/scripts/composer/pear-exception-fix.sh",
ed9f705c 97 "bash tools/scripts/composer/net-smtp-fix.sh",
2215f6dc 98 "bash tools/scripts/composer/pear-mail-fix.sh",
ed9f705c 99 "bash tools/scripts/composer/phpword-jquery.sh"
f28ac29c
TO
100 ],
101 "post-update-cmd": [
9500c14a 102 "bash tools/scripts/composer/dompdf-cleanup.sh",
8aa9061e 103 "bash tools/scripts/composer/tcpdf-cleanup.sh",
0ccbacae 104 "bash tools/scripts/composer/pear-exception-fix.sh",
ed9f705c 105 "bash tools/scripts/composer/net-smtp-fix.sh",
2215f6dc 106 "bash tools/scripts/composer/pear-mail-fix.sh",
ed9f705c 107 "bash tools/scripts/composer/phpword-jquery.sh"
f28ac29c 108 ]
66a7c254 109 },
ab242d96
TO
110 "repositories": {
111 "tplaner-when-1ec099f421bff354cc5c929f83b94031423fc80": {
112 "type": "package",
113 "package": {
114 "version": "3.0.0+php53",
115 "dist": {"url": "https://github.com/tplaner/When/archive/c1ec099f421bff354cc5c929f83b94031423fc80.zip", "type": "zip"},
116 "name": "tplaner/when",
117 "type": "library",
118 "description": "Date/Calendar recursion library.",
119 "keywords": ["recurrence", "date", "time", "DateTime"],
120 "homepage": "https://github.com/tplaner/When",
121 "license": "MIT",
122 "authors": [{"name": "Tom Planer", "email": "tplaner@gmail.com"}],
123 "require": {"php": ">=5.3.0"},
124 "require-dev": {"phpunit/phpunit": "~4.0"},
125 "autoload": {"psr-4": {"When\\": "src/"}}
126 }
127 }
128 },
66a7c254 129 "extra": {
598f4e80
TO
130 "downloads": {
131 "*": {
132 "path": "bower_components/{$id}"
133 },
134 "angular": {
0437eca3 135 "url": "https://github.com/angular/bower-angular/archive/v1.8.2.zip"
598f4e80
TO
136 },
137 "angular-bootstrap": {
138 "url": "https://github.com/angular-ui/bootstrap-bower/archive/2.5.0.zip"
139 },
140 "angular-file-upload": {
da9f6ba5
CW
141 "url": "https://github.com/nervgh/angular-file-upload/archive/2.6.1.zip",
142 "ignore": ["examples", "src"]
598f4e80
TO
143 },
144 "angular-jquery-dialog-service": {
145 "url": "https://github.com/totten/angular-jquery-dialog-service/archive/v0.8.0-civicrm-1.0.zip"
146 },
147 "angular-mocks": {
7585cf5b 148 "url": "https://github.com/angular/bower-angular-mocks/archive/v1.8.0.zip"
598f4e80
TO
149 },
150 "angular-route": {
7585cf5b 151 "url": "https://github.com/angular/bower-angular-route/archive/v1.8.0.zip"
598f4e80
TO
152 },
153 "angular-sanitize": {
7585cf5b 154 "url": "https://github.com/angular/bower-angular-sanitize/archive/v1.8.0.zip"
598f4e80
TO
155 },
156 "angular-ui-sortable": {
386a5ae6 157 "url": "https://github.com/angular-ui/ui-sortable/archive/v0.19.0.zip"
598f4e80
TO
158 },
159 "angular-ui-utils": {
160 "url": "https://github.com/angular-ui/ui-utils/archive/v0.1.1.zip"
161 },
162 "angular-unsavedChanges": {
163 "url": "https://github.com/facultymatt/angular-unsavedChanges/archive/v0.1.1.zip",
164 "ignore": [".*", "node_modules", "bower_components", "test", "tests"]
165 },
166 "angular-xeditable": {
167 "url": "https://github.com/vitalets/angular-xeditable/archive/0.9.0.zip",
168 "ignore": [".*", "node_modules", "bower_components", "playground", "test", "libs", "docs", "zip", "src", "starter", "Gruntfile.js", "index.html", "jsdoc.conf.json", "package.json"]
169 },
170 "checklist-model": {
171 "url": "https://github.com/vitalets/checklist-model/archive/1.0.0.zip",
172 "ignore": [".*", "node_modules", "docs", "Gruntfile.js", "index.html", "package.json", "test"]
173 },
174 "ckeditor": {
d0d92398 175 "url": "https://github.com/ckeditor/ckeditor-releases/archive/4.17.1.zip"
598f4e80
TO
176 },
177 "crossfilter-1.3.x": {
178 "url": "https://github.com/crossfilter/crossfilter/archive/1.3.14.zip",
179 "ignore": [".*", "node_modules", "bower_components", "src", "lib", "test", "component.json", "package.json", "index.js", "Makefile"]
180 },
181 "crossfilter2": {
182 "url": "https://github.com/crossfilter/crossfilter/archive/1.4.7.zip",
183 "ignore": [".*", "node_modules", "bower_components", "package.json", "index.js", "src", "component.json", "media", "test", "tests"]
184 },
185 "css-color-names": {
186 "url": "https://github.com/bahamas10/css-color-names/archive/v1.0.1.zip"
187 },
188 "d3": {
189 "url": "https://github.com/mbostock-bower/d3-bower/archive/v3.4.11.zip",
190 "ignore": [".DS_Store", ".git", ".gitignore", ".npmignore", ".travis.yml", "Makefile", "bin", "component.json", "index.js", "lib", "node_modules", "package.json", "src", "test"]
191 },
192 "d3-3.5.x": {
193 "url": "https://github.com/mbostock-bower/d3-bower/archive/v3.5.17.zip"
194 },
195 "datatables": {
196 "url": "https://github.com/DataTables/DataTables/archive/1.10.19.zip",
197 "ignore": ["/.*", "examples", "media/unit_testing", "composer.json", "dataTables.jquery.json", "package.json"]
198 },
199 "dc-2.1.x": {
200 "url": "https://github.com/NickQiZhu/dc.js/archive/2.1.10.zip",
201 "ignore": [".*", "style", "web", "*.json", "regression", "scripts", "spec", "src", "docs", "grunt", "Gruntfile.js", "Changelog.md", "welcome.md", "class-hierarchy.dot", "index.js", "CONTRIBUTING.md", "LICENSE_BANNER", "AUTHORS"]
202 },
203 "es6-promise": {
204 "url": "https://github.com/components/es6-promise/archive/v4.2.4.zip"
205 },
21f97878
TO
206 "ext-greenwich-bootstrap3": {
207 "url": "https://github.com/twbs/bootstrap-sass/archive/v{$version}.zip",
208 "path": "ext/greenwich/extern/bootstrap3",
209 "version": "3.4.1",
210 "ignore": ["test", "tasks", "lib"]
211 },
598f4e80
TO
212 "font-awesome": {
213 "url": "https://github.com/FortAwesome/Font-Awesome/archive/v4.7.0.zip",
214 "ignore": ["*/.*", "*.json", "src", "*.yml", "Gemfile", "Gemfile.lock", "*.md"]
215 },
136ca5bb
CW
216 "marked": {
217 "url": "https://github.com/markedjs/marked/archive/v0.8.0.zip",
218 "ignore": [".*", "*.json", "*.md", "Makefile", "*/*"]
219 },
e1cb865e 220 "monaco-editor": {
f9a1d2b1 221 "url": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.25.2.tgz",
fc16a9c0
TO
222 "path": "bower_components/monaco-editor",
223 "ignore": ["dev", "esm"]
e1cb865e 224 },
598f4e80
TO
225 "google-code-prettify": {
226 "url": "https://github.com/tcollard/google-code-prettify/archive/v1.0.5.zip",
feac2ccd 227 "ignore": ["closure-compiler", "js-modules", "tests", "yui-compressor", "Makefile", "examples", "*.html", "run_prettify*js"]
598f4e80
TO
228 },
229 "jquery": {
230 "url": "https://github.com/civicrm/jquery/archive/1.12.4-civicrm-1.2.zip"
231 },
232 "jquery-ui": {
233 "url": "https://github.com/components/jqueryui/archive/1.12.1.zip"
234 },
235 "jquery-validation": {
915a791f 236 "url": "https://github.com/jquery-validation/jquery-validation/archive/1.19.3.zip",
598f4e80
TO
237 "ignore": [".*", "node_modules", "bower_components", "test", "demo", "lib"]
238 },
10d00207
TO
239 "json-formatter": {
240 "url": "https://github.com/mohsen1/json-formatter/archive/v{$version}.zip",
241 "version": "0.7.0",
242 "ignore": ["demo", "test", "screenshot.png"]
243 },
598f4e80
TO
244 "jstree": {
245 "url": "https://github.com/vakata/jstree/archive/3.3.8.zip",
246 "ignore": [".*", "docs", "demo", "libs", "node_modules", "test", "libs", "jstree.jquery.json", "gruntfile.js", "package.json", "bower.json", "component.json", "LICENCE-MIT", "README.md"]
247 },
248 "lodash-compat": {
249 "url": "https://github.com/lodash/lodash-compat/archive/3.0.1.zip",
250 "ignore": [".*", "*.log", "*.md", "component.json", "package.json", "node_modules"]
251 },
252 "phantomjs-polyfill": {
253 "url": "https://github.com/conversocial/phantomjs-polyfill/archive/v0.0.2.zip"
254 },
598f4e80
TO
255 "select2": {
256 "url": "https://github.com/colemanw/select2/archive/v3.5-civicrm-1.0.zip"
257 },
0b873c9a 258 "js-yaml": {
1938279b
TO
259 "url": "https://github.com/nodeca/js-yaml/archive/3.13.1.zip",
260 "ignore": ["benchmark", "bin", "demo", "examples", "lib", "support", "test"]
0b873c9a 261 },
598f4e80
TO
262 "smartmenus": {
263 "url": "https://github.com/vadikom/smartmenus/archive/1.1.0.zip",
264 "ignore": [".gitignore", "Gruntfile.js"]
0617ec90
JT
265 },
266 "sms-counter": {
267 "url": "https://github.com/danxexe/sms-counter/archive/master.zip",
268 "ignore": ["examples"]
598f4e80
TO
269 }
270 },
66a7c254 271 "patches": {
18f1a5fb
SL
272 "adrienrn/php-mimetyper": {
273 "Update gitignore to ensure that sites that manage via git don't miss out on the important db.json file": "https://patch-diff.githubusercontent.com/raw/adrienrn/php-mimetyper/pull/15.patch"
274 },
a240692a
SL
275 "electrolinux/phpquery": {
276 "PHP7.4 Fix for array access using {} instead of []": "https://raw.githubusercontent.com/civicrm/civicrm-core/fe45bdfc4f3e3d3deb27e3d853cdbc7f616620a9/tools/scripts/composer/patches/php74_array_access_fix_phpquery.patch"
277 },
b687e8d7 278 "pear/db": {
51142dfe 279 "Apply CiviCRM Customisations for the pear:db package": "https://raw.githubusercontent.com/civicrm/civicrm-core/2ad420c394/tools/scripts/composer/pear_db_civicrm_changes.patch"
b687e8d7 280 },
afd11d1f
SL
281 "pear/mail": {
282 "Apply CiviCRM Customisations for CRM-1367 and CRM-5946": "https://raw.githubusercontent.com/civicrm/civicrm-core/36319938a5bf26c1e7e2110a26a65db6a5979268/tools/scripts/composer/patches/pear-mail.patch"
283 },
968f6190
SL
284 "pear/mail_mime": {
285 "Apply patch for CRM-3133 wordwrap body to be 750 characters to apply with RFC 2821": "https://raw.githubusercontent.com/civicrm/civicrm-core/74e25f27bb3be32519657539afe8a285c6c99a08/tools/scripts/composer/patches/mail_mime_crm_3133.patch"
286 },
a6a0ff13 287 "pear/net_smtp": {
a9c40598 288 "Add in CiviCRM custom error message for CRM-8744": "https://raw.githubusercontent.com/civicrm/civicrm-core/a6a0ff13d2a155ad962529595dceaef728116f96/tools/scripts/composer/patches/net-smtp-patch.patch"
a6a0ff13 289 },
8a1794a9 290 "zetacomponents/mail": {
ae2c24da
SL
291 "CiviCRM Custom Patches for ZetaCompoents mail": "https://raw.githubusercontent.com/civicrm/civicrm-core/9d93748a36c7c5d44422911db1c98fb2f7067b34/tools/scripts/composer/patches/civicrm-custom-patches-zetacompoents-mail.patch",
292 "Allow single quotes to be used in return path": "https://github.com/zetacomponents/Mail/pull/86.patch"
66a7c254 293 }
763eec6c 294 },
4fed6a99
TO
295 "compile-includes": ["ext/greenwich/composer.compile.json"],
296 "compile-whitelist": ["civicrm/composer-compile-lib"]
cca05393
TO
297 }
298}