colinodell
Repos
150
Followers
361
Following
127

Highly-extensible PHP Markdown parser which fully supports the CommonMark and GFM specs.

2345
178

Convert HTML to Markdown with PHP

1511
185

UTF-8 compatible JSON5 parser for PHP

235
9

Simple yet expressive schema-based configuration library for PHP apps

249
7

A library for working with StatsD

338
51

Simple command line utility to check the status of an SSL certificate

4
1

Events

jekyll build from Action dad59614994214feb8efcf2edfe0fe9fb82bb3f0

Created at 12 hours ago

jekyll build from Action a4fb503e707a04faea0c04a8106086baa1b41546

Created at 12 hours ago

jekyll build from Action dad59614994214feb8efcf2edfe0fe9fb82bb3f0

Created at 1 day ago

jekyll build from Action 00ec292bcdde801296919ba9edc04388b26f7cc9

Created at 1 day ago
opened issue
Support map variables in Gradle parser

What would you like Renovate to be able to do?

Renovate seems to support simple variables and variable interpolation in Gradle files. I would like it to also support map variables like this:

dependencies {
    var versions = [
            graphqlDgs                        : "4.10.1",
            graphqlJavaExtendedValidation     : "17.0-hibernate-validator-6.2.0.Final",
            graphqlJava                       : "18.0",
            modelMapper                       : "3.1.0"
    ]

    implementation "com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter:${versions.graphqlDgs}"
    implementation "com.graphql-java:graphql-java-extended-validation:${versions.graphqlJavaExtendedValidation}"
    implementation "com.graphql-java:graphql-java:${versions.graphqlJava}"
    implementation "org.modelmapper:modelmapper:${versions.modelMapper}"
}

Gradle understands this style, and we have many users using this today, so support in Renovate would be amazing.

In the meantime, we've asked our users to reformat their Gradle files to using simple string variables - not ideal, but it's an easier workaround than using the regex manager.

If you have any ideas on how this should be implemented, please tell us here.

The parser would likely need to handle repeating matchers (for each map entry) and optional matches (for the trailing commas) so we could define something like this:

  {
    // var versions = [
    //         graphqlDgs                        : "4.10.1",
    //         graphqlJavaExtendedValidation     : "17.0-hibernate-validator-6.2.0.Final",
    // ]
    matchers: [
      { matchType: TokenType.Word, matchValue: 'var' },
      { matchType: TokenType.Word, tokenMapKey: 'varName' },
      { matchType: TokenType.Assignment },
      { matchType: TokenType.LeftBracket },
      { repeated: [
        { matchType: TokenType.Word, tokenMapKey: 'mapKey' },
        { matchType: TokenType.Colon },
        { matchType: TokenType.String, tokenMapKey: 'mapValue' },
        { matchType: TokenType.Comma, optional: true },
      ] },
      { matchType: TokenType.RightBracket },
    ],
    handler: handleMapAssignment,
  },

Maybe not that exact syntax, but something like it. The repeated and optional functionality would probably require tracking separate indices for both the token idx and matcher idx, and possibly also need recursive calls to matchTokens().

Is this a feature you are interested in implementing yourself?

Yes

Created at 1 day ago

jekyll build from Action dad59614994214feb8efcf2edfe0fe9fb82bb3f0

Created at 2 days ago

jekyll build from Action c1929dfbe9e31dcff2c2381bcd7f530ea311e2fc

Created at 2 days ago

Update README.md

Added MarkerExtension to Community Extensions List

Merge branch '2.3' into 2.3

Merge pull request #931 from noah1400/2.3

Added MarkerExtension to Community Extensions List

Created at 2 days ago
pull request closed
Added MarkerExtension to Community Extensions List

It allows users to use == in order to indicate text that should be rendered within mark tags.

Created at 2 days ago
pull request opened
Escape metainfo to prevent bash syntax errors

Uses the escapeshellarg() function to wrap the JSON with single quotes and escape all other single quotes present in the JSON string. Closes #3260.

  • [x] Bug fix #3260

  • [ ] New feature?

  • [ ] BC breaks?

  • [ ] Tests added?

  • [ ] Docs added?

    Please, regenerate docs by running next command:
    $ php bin/docgen
    
Created at 2 days ago
create branch
colinodell create branch escape-json-metainfo
Created at 2 days ago
issue comment
Bad link escaping on a Medium post

This bug is caused because remark-github mistakenly handles @fastifyjs in https://medium.com/@fastifyjs/fastify-v4-ga-59f2103b5f0e as a "mention" and then adds its default URL to it which is broken anyway

I think this happens because remark is seeing the URL as plain text and not a GFM autolink. Adding the remark-gfm plugin would probably fix this, as it would ensure that GFM autolinks actually get parsed into a link object before remark-github runs, and remark-github contains code to avoid parsing mentions out of link nodes.

However, the presence of ​ in the URL is throwing me off. I think that's coming from sanitizeMarkdown(), but I can't find any code path where both sanitizeMarkdown() and linkify() get called. I suspect that linkify() is being called first follow by sanitizeMarkdown() sometime later but I can't confirm this. And even if I could, that would mean that even if linkify() is modified to use remark-gfm to fix the main issue as described above, sanitizeMarkdown() is still going to mangle/break that link unless we make that smarter too.

Created at 2 days ago
started
Created at 2 days ago

jekyll build from Action dad59614994214feb8efcf2edfe0fe9fb82bb3f0

Created at 3 days ago

jekyll build from Action ed889d3a35632aebadb6a56027050d442cae2692

Created at 3 days ago

Use pre-defined filter instead

Co-authored-by: Michael Kriese michael.kriese@visualon.de

Created at 3 days ago
pull request opened
(feat): clean refs sequentially

Changes

Clear Renovate refs sequentially for repos which don't allow bulk changes.

It does this by checking the error for text like:

remote: Repository policies do not allow pushes that update more than 2 branches or tags.

(Specifically the part in bold) If found, it will attempt to delete the branches one-by-one instead.

Context

Closes #17590

Documentation (please check one with an [x])

  • [ ] I have updated the documentation, or
  • [x] No documentation update is required

How I've tested my work (please tick one)

I have verified these changes via:

  • [ ] Code inspection only, or
  • [x] Newly added/modified unit tests, or
  • [ ] No unit tests but ran on a real repository, or
  • [ ] Both unit tests + ran on a real repository
Created at 3 days ago
create branch
colinodell create branch clean-refs-sequentially
Created at 3 days ago
pull request opened
Remove empty items from comma-separated env-supplied config options

Changes

Modifies the env var string-to-array coercion function to remove any empty items which may have been caused by an extra trailing comma.

Context

Closes #18045

Documentation (please check one with an [x])

  • [ ] I have updated the documentation, or
  • [x] No documentation update is required

How I've tested my work (please tick one)

I have verified these changes via:

  • [ ] Code inspection only, or
  • [x] Newly added/modified unit tests, or
  • [ ] No unit tests but ran on a real repository, or
  • [ ] Both unit tests + ran on a real repository
Created at 4 days ago
create branch
colinodell create branch remove-empty-array-items
Created at 4 days ago

feat: use getBranchParentSha cached result (#16724)

chore(deps): update dependency eslint-import-resolver-typescript to v3.2.7 (#16738)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

docs: update references to renovate/renovate to v32.127.0 (#16740)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

chore(deps): lock file maintenance (#16741)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

docs(shareable config presets): partial rewrite (#16521)

refactor(manager): consistently write as export const language = ... (#16739)

Co-authored-by: Michael Kriese michael.kriese@visualon.de Co-authored-by: Rhys Arkins rhys@arkins.net

fix(datasource/docker): Docker tags list for library images not working (#16509)

docs: best practices add cast bullet under unit testing (#16756)

docs: best prac add cast bullet under unit testing

fix(manager/nuget): Skip dep if version is undefined (#16757)

fix(manager/nuget): skip invalid xml files (#16758)

fix(gradle): silence warning for file not found via "apply from" (#16767)

chore(deps): update linters to v5.30.7 (#16769)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

fix(git/cache): getCachedBranchParentShaResult returns unexpected undefined (#16762)

chore(deps): update dependency @types/luxon to v2.4.0 (#16775)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

docs(manager/cocoapods): Configure ModuleApi's displayName and url (#16760)

  • docs(manager/cocoapods): Configure ModuleApi's displayName and url

  • Revert export order

Co-authored-by: Michael Kriese michael.kriese@visualon.de

fix(git/cache): getCachedBehindBaseResult returns true when branch is not modified (#16752)

fix(config): filter out invalid massaged packageRules (#16778)

Closes #16777

feat(preset): include applicationinsights-dotnet as monorepo (#16685)

Co-authored-by: Jamie Magee jamie.magee@gmail.com

feat(datasource): add cpan datasource (#16545)

  • feat(datasource): add cpan datasource

  • Update perl versioning's readme

  • Extract copystr function to lib/util/string.ts

  • Remove unnecessary optional chaining

  • Use registryUrl and logger.trace

  • Use perl versioning's isStable

  • Remove possibly unnecessary try/catch

  • Use MetaCPAN API

  • Use reduce

  • Use maturity field for isStable handling

https://metacpan.org/pod/CPAN::DistnameInfo#maturity

  • Revert "Extract copystr function to lib/util/string.ts"

This reverts commit 51ebf55c90a365441ad54193db1643e4c50af696.

Conflicts:

lib/modules/datasource/cpan/index.ts

  • Remove downloadUrl

  • Extract types

  • Use toMatchObject

  • Improve tests

  • Rename to MetaCpanSearchResult

  • Rename to searchUrl

  • Rename to MetaCpanFileSearchResult and add tsdoc

  • Use for...of over reduce

  • More safely handle the response JSON

  • Use joinUrlParts

  • Don't embed distribution info

  • Split tsdoc comments

feat(fs): add localPathIsSymbolicLink and readLocalSymlink (#16673)

  • fix: add localPathIsSymbolicLink and readLocalSymlink to fs module

  • Update lib/util/fs/index.ts

Co-authored-by: Michael Kriese michael.kriese@visualon.de

  • Update lib/util/fs/index.ts

  • Apply suggestions from code review

Co-authored-by: Sergei Zharinov zharinov@users.noreply.github.com

Co-authored-by: Michael Kriese michael.kriese@visualon.de Co-authored-by: Rhys Arkins rhys@arkins.net Co-authored-by: Sergei Zharinov zharinov@users.noreply.github.com

Created at 4 days ago
delete branch
colinodell delete branch colinodell-patch-1
Created at 4 days ago

Test on PHP 8.2

Merge pull request #20 from colinodell/colinodell-patch-1

Test on PHP 8.2

Created at 4 days ago
pull request closed
Test on PHP 8.2
Created at 4 days ago
pull request opened
Test on PHP 8.2
Created at 4 days ago
create branch
colinodell create branch colinodell-patch-1
Created at 4 days ago

jekyll build from Action dad59614994214feb8efcf2edfe0fe9fb82bb3f0

Created at 4 days ago

jekyll build from Action ed889d3a35632aebadb6a56027050d442cae2692

Created at 4 days ago

jekyll build from Action dad59614994214feb8efcf2edfe0fe9fb82bb3f0

Created at 5 days ago