{"id":18560692,"url":"https://github.com/elmcraft/core-extra","last_synced_at":"2025-04-10T02:31:07.326Z","repository":{"id":192002703,"uuid":"685710117","full_name":"elmcraft/core-extra","owner":"elmcraft","description":"Utility functions for an improved experience with elm/core","archived":false,"fork":false,"pushed_at":"2025-03-06T14:14:16.000Z","size":438,"stargazers_count":26,"open_issues_count":11,"forks_count":12,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-24T15:41:53.040Z","etag":null,"topics":["elm"],"latest_commit_sha":null,"homepage":"https://package.elm-lang.org/packages/elmcraft/core-extra/latest/","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elmcraft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-31T20:42:22.000Z","updated_at":"2025-03-21T13:52:49.000Z","dependencies_parsed_at":"2024-01-09T18:28:27.741Z","dependency_job_id":"4f0a1813-ae80-4917-8271-633fc159688c","html_url":"https://github.com/elmcraft/core-extra","commit_stats":null,"previous_names":["gampleman/core-extra","elmcraft/core-extra"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elmcraft%2Fcore-extra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elmcraft%2Fcore-extra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elmcraft%2Fcore-extra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elmcraft%2Fcore-extra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elmcraft","download_url":"https://codeload.github.com/elmcraft/core-extra/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248144183,"owners_count":21054881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elm"],"created_at":"2024-11-06T22:04:02.571Z","updated_at":"2025-04-10T02:31:06.816Z","avatar_url":"https://github.com/elmcraft.png","language":"Elm","readme":"# core-extra\n\nThis is a large collection of utility-style functions pertaining to the Elm standard library (core).\n\n## Upgrading\n\nThis library is a successor to all the elm-community/\\*-extra packages related to elm/core, as well as several other community packages, such as GlobalWebIndex/cmd-extra, hayleigh-dot-dev/tuple-extra, stoeffel/set-extra, matthewsj/elm-ordering (albeit somewhat loosely that one).\n\nSince this single library subsumes all of these, we recommend using some of the following to update.\n\n### Step 1: Dependencies\n\n```bash\nnpm i -g elm-json # if you don't already have it\n\ngit checkout -b core-extra-upgrade # Make sure you have a clean working tree, in case you want to revert\n\nelm-json install elmcraft/core-extra@1 # v1 is a backwards compatible version\nelm-json uninstall elm-community/array-extra elm-community/basics-extra elm-community/dict-extra elm-community/list-extra elm-community/maybe-extra elm-community/result-extra elm-community/string-extra GlobalWebIndex/cmd-extra hayleigh-dot-dev/tuple-extra stoeffel/set-extra\n\nelm make src/Main.elm # or whatever else you use to build your application\n# There shouldn't be any errors, but if there somehow are any, now would be a good time to fix them.\nelm-test # Verify that everything went OK.\n\ngit commit -am \"Completed step 1 in upgrade\"\n```\n\nAt this point you have core-extra installed. The second step is optional, and can be completed later, at your convenience.\n\n### Step 2: Upgrading deprecated functions\n\nSince we combined a large number of source libraries, we have done some work to create a more cohesive API. As such, some functions are deprecated in favour of other names and removed in 2.0.0. We have an automated script that will help you fix these automatically.\n\n```bash\ngit status # make sure you have a clean working tree, in case you want to revert\n\nnpx elm-review --template elmcraft/core-extra/upgrade/2.0.0 --fix\n# You can run this command multiple times if you'd like to abort and make changes manually\n\nelm-json install elmcraft/core-extra@2 # upgrade to version 2 which no longer contains deprecated functions\n```\n\n## Contributing\n\nPull requests are welcome. You can expect some kind of response within 14 days.\n\nIf you are proposing a new function be added, please adhere to the following:\n\n1. Include [documentation](http://package.elm-lang.org/help/documentation-format) and make sure your documentation has a code snippet demonstrating what the function does. We use [elm-verify-examples](https://github.com/stoeffel/elm-verify-examples) in our CI setup which verifies that our example code is correct, so please take advantage of that.\n2. Provide a detailed use case where your new function would be useful. Also, compare your new function to the best possible implementation that doesn't use your function.\n3. Add tests.\n4. To measure performance of different implementations, add benchmarks in the benchmarks directory.\n\n## Contributors\n\nThis package is based on an amalgamation of a number of open source packages in the Elm community.\nThis is a list of contributors to those original packages:\n\n@8n8, @abadi199, @acerempel, @ahstro, @akovari, @alex-tan, @AlienKevin, @andersk, @andys8, @annaghi, @Apanatshka, @armatures, @AyaMorisawa, @Bernardoow, @BrianHicks, @brianvanburken, @carolineartz, @cbenz, @ccapndave, @Chadtech, @cjoach, @cmditch, @cobalamin, @codedmart, @CristianIorga2000-ops, @CSchank, @cynic, @DanielCardonaRojas, @DanielJenkins, @dasch, @dependabot[bot], @eeue56, @EverybodyKurts, @frankschmitt, @fredcy, @gampleman, @garetht, @giladwo, @hsribei, @ianmackenzie, @iazel, @indique, @ingara, @jaapz, @jackfranklin, @jacob-tock, @Janiczek, @janjelinek, @jfmengels, @jhrcek, @jmpavlick, @jonboiser, @JordyMoos, @JoshuaHall, @JustusAdam, @jvoigtlaender, @jwoudenberg, @knuton, @kqr, @kraklin, @kuon, @kutyel, @loganmac, @lorenzo, @lue-bird, @m-shaka, @MartinSStewart, @martinsvalin, @matthewsj, @mdgriffith, @Menschenkindlein, @mgold, @miguel-vila, @Munksgaard, @myrho, @nibrivia, @nikolakasev, @opsb, @Orasund, @OvermindDL1, @paralax, @patrickdet, @Pilatch, @prikhi, @prozacchiwawa, @pzp1997, @r41d, @rehno-lindeque, @rlefevre, @robinheghan, @rogeriochaves, @seanhess, @shmookey, @sindikat, @skyqrose, @smucode, @sporto, @srid, @stil4m, @stoeffel, @tac-tics, @ThomasWeiser, @timjs, @tmcw, @tmsolber, @toastal, @TSFoster, @turboMaCk, @twopoint718, @txgruppi, @ursi, @wilcooo, @xtian, @ybakos, @z5h, @zwilias\n\nFor contributors to this repository specifically, see [contributors](https://github.com/elmcraft/core-extra/graphs/contributors).\n\n## License\n\nThe overall project is licensed under the MIT license, but individual source files may have other (generally compatible) licenses. Please check the LICENSE file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felmcraft%2Fcore-extra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felmcraft%2Fcore-extra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felmcraft%2Fcore-extra/lists"}