refactor: upgrade to PHP 8.1 with rector - #8354

Merged
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45
Apr 7, 2024
Merged

refactor: upgrade to PHP 8.1 with rector#8354
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45

Conversation

@kenjis

@kenjiskenjis commented Dec 21, 2023

Copy link
Copy Markdown
Member

Important

All refactoring will be performed just prior to the release of v4.5.0.

Description
Supersedes #7964
Closes#6921

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@kenjiskenjis added refactor Pull requests that refactor code 4.5 labels Dec 21, 2023
@kenjis
kenjis marked this pull request as draft December 21, 2023 02:45
@kenjiskenjis mentioned this pull request Dec 21, 2023
5 tasks
@ddevsr

Copy link
Copy Markdown
Collaborator

@kenjis I suggest rules ChangeSwitchToMatchRector by Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector

@kenjis

Copy link
Copy Markdown
MemberAuthor

Doesn't it included in LevelSetList::UP_TO_PHP_81?

@ddevsr

Copy link
Copy Markdown
Collaborator

Doesn't it included in LevelSetList::UP_TO_PHP_81?

Sorry i didnt read it

@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik When rector is executed on this branch, rector enters an infinite loop, because of the following files:

 __DIR__ . '/system/Common.php',
__DIR__ . '/system/Helpers/filesystem_helper.php',
__DIR__ . '/system/Helpers/text_helper.php',
__DIR__ . '/system/Helpers/form_helper.php',
__DIR__ . '/system/Helpers/html_helper.php',
__DIR__ . '/system/Helpers/number_helper.php',

Rector adds too many declare(strict_types=1); lines to them.
Is this a bug?

@samsonasik

Copy link
Copy Markdown
Member

@kenjis probably, could you create a reproducible at https://getrector.com/demo and report at https://github.com/rectorphp/rector/ ? Thank you.

@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Dec 22, 2023
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjiskenjis mentioned this pull request Dec 26, 2023
4 tasks
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 4a389b8 to f962917CompareFebruary 2, 2024 12:04
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 2, 2024
@kenjiskenjis mentioned this pull request Feb 3, 2024
5 tasks
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 8, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from f962917 to 9561166CompareFebruary 25, 2024 03:02
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 25, 2024
@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik These files with too many declare(strict_types=1) are all functions, not class files.
But I cannot make a simple reproducible sample code.

@samsonasik

Copy link
Copy Markdown
Member

@kenjis the DeclareStrictTypesRector can be skipped if it make too many changes, and create separate PR to enable that?

@samsonasik

Copy link
Copy Markdown
Member

Actually, the DeclareStrictTypesRector is not part of any set list now, so should not apply the changes except registered, I can't see any addition of declare(strict_types=1) now in github diff

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 6bd5ebf to b788264CompareFebruary 25, 2024 10:00
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 26, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from cabf2ed to a2bee68CompareFebruary 26, 2024 01:15
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 26, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from a2bee68 to ef8f4c2CompareFebruary 26, 2024 01:47
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Mar 9, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from ef8f4c2 to 39aea7cCompareMarch 9, 2024 23:51
@kenjiskenjis removed the stale Pull requests with conflicts label Mar 9, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 39aea7c to 2766e4cCompareMarch 10, 2024 10:01
@samsonasik

Copy link
Copy Markdown
Member

@kenjis could you rebase and retry add DeclareStrictTypesRector, run composer update, and verify if no longer infinite loop on latest rector 1.0.3? Thank you.

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 2766e4c to 557b355CompareMarch 16, 2024 01:14
@kenjis

kenjis commented Mar 16, 2024

Copy link
Copy Markdown
MemberAuthor

@samsonasik Thank you! It worked fine.

[OK] 148 files have been changed by Rector 

Dropped 1ecb049

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 557b355 to 531f9c7CompareMarch 16, 2024 01:28
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch 4 times, most recently from 85d4956 to 57bee92CompareApril 2, 2024 22:55
@kenjis
kenjis marked this pull request as ready for review April 2, 2024 23:45
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 57bee92 to aaa37adCompareApril 6, 2024 00:24
@kenjis
kenjis merged commit 77cbf2c into codeigniter4:4.5Apr 7, 2024
@kenjis
kenjis deleted the rector-upgrade-php81-CI45 branch April 7, 2024 03:36
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactorPull requests that refactor code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@kenjis@ddevsr@samsonasik@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

refactor: upgrade to PHP 8.1 with rector - #8354

Merged
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45
Apr 7, 2024
Merged

refactor: upgrade to PHP 8.1 with rector#8354
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45

Conversation

@kenjis

@kenjiskenjis commented Dec 21, 2023

Copy link
Copy Markdown
Member

Important

All refactoring will be performed just prior to the release of v4.5.0.

Description
Supersedes #7964
Closes#6921

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@kenjiskenjis added refactor Pull requests that refactor code 4.5 labels Dec 21, 2023
@kenjis
kenjis marked this pull request as draft December 21, 2023 02:45
@kenjiskenjis mentioned this pull request Dec 21, 2023
5 tasks
@ddevsr

Copy link
Copy Markdown
Collaborator

@kenjis I suggest rules ChangeSwitchToMatchRector by Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector

@kenjis

Copy link
Copy Markdown
MemberAuthor

Doesn't it included in LevelSetList::UP_TO_PHP_81?

@ddevsr

Copy link
Copy Markdown
Collaborator

Doesn't it included in LevelSetList::UP_TO_PHP_81?

Sorry i didnt read it

@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik When rector is executed on this branch, rector enters an infinite loop, because of the following files:

 __DIR__ . '/system/Common.php',
__DIR__ . '/system/Helpers/filesystem_helper.php',
__DIR__ . '/system/Helpers/text_helper.php',
__DIR__ . '/system/Helpers/form_helper.php',
__DIR__ . '/system/Helpers/html_helper.php',
__DIR__ . '/system/Helpers/number_helper.php',

Rector adds too many declare(strict_types=1); lines to them.
Is this a bug?

@samsonasik

Copy link
Copy Markdown
Member

@kenjis probably, could you create a reproducible at https://getrector.com/demo and report at https://github.com/rectorphp/rector/ ? Thank you.

@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Dec 22, 2023
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjiskenjis mentioned this pull request Dec 26, 2023
4 tasks
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 4a389b8 to f962917CompareFebruary 2, 2024 12:04
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 2, 2024
@kenjiskenjis mentioned this pull request Feb 3, 2024
5 tasks
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 8, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from f962917 to 9561166CompareFebruary 25, 2024 03:02
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 25, 2024
@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik These files with too many declare(strict_types=1) are all functions, not class files.
But I cannot make a simple reproducible sample code.

@samsonasik

Copy link
Copy Markdown
Member

@kenjis the DeclareStrictTypesRector can be skipped if it make too many changes, and create separate PR to enable that?

@samsonasik

Copy link
Copy Markdown
Member

Actually, the DeclareStrictTypesRector is not part of any set list now, so should not apply the changes except registered, I can't see any addition of declare(strict_types=1) now in github diff

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 6bd5ebf to b788264CompareFebruary 25, 2024 10:00
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 26, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from cabf2ed to a2bee68CompareFebruary 26, 2024 01:15
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 26, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from a2bee68 to ef8f4c2CompareFebruary 26, 2024 01:47
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Mar 9, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from ef8f4c2 to 39aea7cCompareMarch 9, 2024 23:51
@kenjiskenjis removed the stale Pull requests with conflicts label Mar 9, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 39aea7c to 2766e4cCompareMarch 10, 2024 10:01
@samsonasik

Copy link
Copy Markdown
Member

@kenjis could you rebase and retry add DeclareStrictTypesRector, run composer update, and verify if no longer infinite loop on latest rector 1.0.3? Thank you.

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 2766e4c to 557b355CompareMarch 16, 2024 01:14
@kenjis

kenjis commented Mar 16, 2024

Copy link
Copy Markdown
MemberAuthor

@samsonasik Thank you! It worked fine.

[OK] 148 files have been changed by Rector 

Dropped 1ecb049

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 557b355 to 531f9c7CompareMarch 16, 2024 01:28
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch 4 times, most recently from 85d4956 to 57bee92CompareApril 2, 2024 22:55
@kenjis
kenjis marked this pull request as ready for review April 2, 2024 23:45
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 57bee92 to aaa37adCompareApril 6, 2024 00:24
@kenjis
kenjis merged commit 77cbf2c into codeigniter4:4.5Apr 7, 2024
@kenjis
kenjis deleted the rector-upgrade-php81-CI45 branch April 7, 2024 03:36
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactorPull requests that refactor code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@kenjis@ddevsr@samsonasik@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor: upgrade to PHP 8.1 with rector - #8354

Merged
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45
Apr 7, 2024
Merged

refactor: upgrade to PHP 8.1 with rector#8354
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45

Conversation

@kenjis

@kenjiskenjis commented Dec 21, 2023

Copy link
Copy Markdown
Member

Important

All refactoring will be performed just prior to the release of v4.5.0.

Description
Supersedes #7964
Closes#6921

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@kenjiskenjis added refactor Pull requests that refactor code 4.5 labels Dec 21, 2023
@kenjis
kenjis marked this pull request as draft December 21, 2023 02:45
@kenjiskenjis mentioned this pull request Dec 21, 2023
5 tasks
@ddevsr

Copy link
Copy Markdown
Collaborator

@kenjis I suggest rules ChangeSwitchToMatchRector by Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector

@kenjis

Copy link
Copy Markdown
MemberAuthor

Doesn't it included in LevelSetList::UP_TO_PHP_81?

@ddevsr

Copy link
Copy Markdown
Collaborator

Doesn't it included in LevelSetList::UP_TO_PHP_81?

Sorry i didnt read it

@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik When rector is executed on this branch, rector enters an infinite loop, because of the following files:

 __DIR__ . '/system/Common.php',
__DIR__ . '/system/Helpers/filesystem_helper.php',
__DIR__ . '/system/Helpers/text_helper.php',
__DIR__ . '/system/Helpers/form_helper.php',
__DIR__ . '/system/Helpers/html_helper.php',
__DIR__ . '/system/Helpers/number_helper.php',

Rector adds too many declare(strict_types=1); lines to them.
Is this a bug?

@samsonasik

Copy link
Copy Markdown
Member

@kenjis probably, could you create a reproducible at https://getrector.com/demo and report at https://github.com/rectorphp/rector/ ? Thank you.

@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Dec 22, 2023
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjiskenjis mentioned this pull request Dec 26, 2023
4 tasks
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 4a389b8 to f962917CompareFebruary 2, 2024 12:04
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 2, 2024
@kenjiskenjis mentioned this pull request Feb 3, 2024
5 tasks
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 8, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from f962917 to 9561166CompareFebruary 25, 2024 03:02
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 25, 2024
@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik These files with too many declare(strict_types=1) are all functions, not class files.
But I cannot make a simple reproducible sample code.

@samsonasik

Copy link
Copy Markdown
Member

@kenjis the DeclareStrictTypesRector can be skipped if it make too many changes, and create separate PR to enable that?

@samsonasik

Copy link
Copy Markdown
Member

Actually, the DeclareStrictTypesRector is not part of any set list now, so should not apply the changes except registered, I can't see any addition of declare(strict_types=1) now in github diff

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 6bd5ebf to b788264CompareFebruary 25, 2024 10:00
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 26, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from cabf2ed to a2bee68CompareFebruary 26, 2024 01:15
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 26, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from a2bee68 to ef8f4c2CompareFebruary 26, 2024 01:47
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Mar 9, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from ef8f4c2 to 39aea7cCompareMarch 9, 2024 23:51
@kenjiskenjis removed the stale Pull requests with conflicts label Mar 9, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 39aea7c to 2766e4cCompareMarch 10, 2024 10:01
@samsonasik

Copy link
Copy Markdown
Member

@kenjis could you rebase and retry add DeclareStrictTypesRector, run composer update, and verify if no longer infinite loop on latest rector 1.0.3? Thank you.

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 2766e4c to 557b355CompareMarch 16, 2024 01:14
@kenjis

kenjis commented Mar 16, 2024

Copy link
Copy Markdown
MemberAuthor

@samsonasik Thank you! It worked fine.

[OK] 148 files have been changed by Rector 

Dropped 1ecb049

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 557b355 to 531f9c7CompareMarch 16, 2024 01:28
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch 4 times, most recently from 85d4956 to 57bee92CompareApril 2, 2024 22:55
@kenjis
kenjis marked this pull request as ready for review April 2, 2024 23:45
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 57bee92 to aaa37adCompareApril 6, 2024 00:24
@kenjis
kenjis merged commit 77cbf2c into codeigniter4:4.5Apr 7, 2024
@kenjis
kenjis deleted the rector-upgrade-php81-CI45 branch April 7, 2024 03:36
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactorPull requests that refactor code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@kenjis@ddevsr@samsonasik@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor: upgrade to PHP 8.1 with rector - #8354

Merged
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45
Apr 7, 2024
Merged

refactor: upgrade to PHP 8.1 with rector#8354
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45

Conversation

@kenjis

@kenjiskenjis commented Dec 21, 2023

Copy link
Copy Markdown
Member

Important

All refactoring will be performed just prior to the release of v4.5.0.

Description
Supersedes #7964
Closes#6921

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@kenjiskenjis added refactor Pull requests that refactor code 4.5 labels Dec 21, 2023
@kenjis
kenjis marked this pull request as draft December 21, 2023 02:45
@kenjiskenjis mentioned this pull request Dec 21, 2023
5 tasks
@ddevsr

Copy link
Copy Markdown
Collaborator

@kenjis I suggest rules ChangeSwitchToMatchRector by Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector

@kenjis

Copy link
Copy Markdown
MemberAuthor

Doesn't it included in LevelSetList::UP_TO_PHP_81?

@ddevsr

Copy link
Copy Markdown
Collaborator

Doesn't it included in LevelSetList::UP_TO_PHP_81?

Sorry i didnt read it

@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik When rector is executed on this branch, rector enters an infinite loop, because of the following files:

 __DIR__ . '/system/Common.php',
__DIR__ . '/system/Helpers/filesystem_helper.php',
__DIR__ . '/system/Helpers/text_helper.php',
__DIR__ . '/system/Helpers/form_helper.php',
__DIR__ . '/system/Helpers/html_helper.php',
__DIR__ . '/system/Helpers/number_helper.php',

Rector adds too many declare(strict_types=1); lines to them.
Is this a bug?

@samsonasik

Copy link
Copy Markdown
Member

@kenjis probably, could you create a reproducible at https://getrector.com/demo and report at https://github.com/rectorphp/rector/ ? Thank you.

@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Dec 22, 2023
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjiskenjis mentioned this pull request Dec 26, 2023
4 tasks
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 4a389b8 to f962917CompareFebruary 2, 2024 12:04
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 2, 2024
@kenjiskenjis mentioned this pull request Feb 3, 2024
5 tasks
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 8, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from f962917 to 9561166CompareFebruary 25, 2024 03:02
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 25, 2024
@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik These files with too many declare(strict_types=1) are all functions, not class files.
But I cannot make a simple reproducible sample code.

@samsonasik

Copy link
Copy Markdown
Member

@kenjis the DeclareStrictTypesRector can be skipped if it make too many changes, and create separate PR to enable that?

@samsonasik

Copy link
Copy Markdown
Member

Actually, the DeclareStrictTypesRector is not part of any set list now, so should not apply the changes except registered, I can't see any addition of declare(strict_types=1) now in github diff

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 6bd5ebf to b788264CompareFebruary 25, 2024 10:00
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 26, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from cabf2ed to a2bee68CompareFebruary 26, 2024 01:15
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 26, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from a2bee68 to ef8f4c2CompareFebruary 26, 2024 01:47
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Mar 9, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from ef8f4c2 to 39aea7cCompareMarch 9, 2024 23:51
@kenjiskenjis removed the stale Pull requests with conflicts label Mar 9, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 39aea7c to 2766e4cCompareMarch 10, 2024 10:01
@samsonasik

Copy link
Copy Markdown
Member

@kenjis could you rebase and retry add DeclareStrictTypesRector, run composer update, and verify if no longer infinite loop on latest rector 1.0.3? Thank you.

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 2766e4c to 557b355CompareMarch 16, 2024 01:14
@kenjis

kenjis commented Mar 16, 2024

Copy link
Copy Markdown
MemberAuthor

@samsonasik Thank you! It worked fine.

[OK] 148 files have been changed by Rector 

Dropped 1ecb049

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 557b355 to 531f9c7CompareMarch 16, 2024 01:28
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch 4 times, most recently from 85d4956 to 57bee92CompareApril 2, 2024 22:55
@kenjis
kenjis marked this pull request as ready for review April 2, 2024 23:45
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 57bee92 to aaa37adCompareApril 6, 2024 00:24
@kenjis
kenjis merged commit 77cbf2c into codeigniter4:4.5Apr 7, 2024
@kenjis
kenjis deleted the rector-upgrade-php81-CI45 branch April 7, 2024 03:36
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactorPull requests that refactor code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@kenjis@ddevsr@samsonasik@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

refactor: upgrade to PHP 8.1 with rector - #8354

Merged
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45
Apr 7, 2024
Merged

refactor: upgrade to PHP 8.1 with rector#8354
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45

Conversation

@kenjis

@kenjiskenjis commented Dec 21, 2023

Copy link
Copy Markdown
Member

Important

All refactoring will be performed just prior to the release of v4.5.0.

Description
Supersedes #7964
Closes#6921

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@kenjiskenjis added refactor Pull requests that refactor code 4.5 labels Dec 21, 2023
@kenjis
kenjis marked this pull request as draft December 21, 2023 02:45
@kenjiskenjis mentioned this pull request Dec 21, 2023
5 tasks
@ddevsr

Copy link
Copy Markdown
Collaborator

@kenjis I suggest rules ChangeSwitchToMatchRector by Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector

@kenjis

Copy link
Copy Markdown
MemberAuthor

Doesn't it included in LevelSetList::UP_TO_PHP_81?

@ddevsr

Copy link
Copy Markdown
Collaborator

Doesn't it included in LevelSetList::UP_TO_PHP_81?

Sorry i didnt read it

@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik When rector is executed on this branch, rector enters an infinite loop, because of the following files:

 __DIR__ . '/system/Common.php',
__DIR__ . '/system/Helpers/filesystem_helper.php',
__DIR__ . '/system/Helpers/text_helper.php',
__DIR__ . '/system/Helpers/form_helper.php',
__DIR__ . '/system/Helpers/html_helper.php',
__DIR__ . '/system/Helpers/number_helper.php',

Rector adds too many declare(strict_types=1); lines to them.
Is this a bug?

@samsonasik

Copy link
Copy Markdown
Member

@kenjis probably, could you create a reproducible at https://getrector.com/demo and report at https://github.com/rectorphp/rector/ ? Thank you.

@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Dec 22, 2023
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjiskenjis mentioned this pull request Dec 26, 2023
4 tasks
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 4a389b8 to f962917CompareFebruary 2, 2024 12:04
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 2, 2024
@kenjiskenjis mentioned this pull request Feb 3, 2024
5 tasks
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 8, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from f962917 to 9561166CompareFebruary 25, 2024 03:02
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 25, 2024
@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik These files with too many declare(strict_types=1) are all functions, not class files.
But I cannot make a simple reproducible sample code.

@samsonasik

Copy link
Copy Markdown
Member

@kenjis the DeclareStrictTypesRector can be skipped if it make too many changes, and create separate PR to enable that?

@samsonasik

Copy link
Copy Markdown
Member

Actually, the DeclareStrictTypesRector is not part of any set list now, so should not apply the changes except registered, I can't see any addition of declare(strict_types=1) now in github diff

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 6bd5ebf to b788264CompareFebruary 25, 2024 10:00
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 26, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from cabf2ed to a2bee68CompareFebruary 26, 2024 01:15
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 26, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from a2bee68 to ef8f4c2CompareFebruary 26, 2024 01:47
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Mar 9, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from ef8f4c2 to 39aea7cCompareMarch 9, 2024 23:51
@kenjiskenjis removed the stale Pull requests with conflicts label Mar 9, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 39aea7c to 2766e4cCompareMarch 10, 2024 10:01
@samsonasik

Copy link
Copy Markdown
Member

@kenjis could you rebase and retry add DeclareStrictTypesRector, run composer update, and verify if no longer infinite loop on latest rector 1.0.3? Thank you.

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 2766e4c to 557b355CompareMarch 16, 2024 01:14
@kenjis

kenjis commented Mar 16, 2024

Copy link
Copy Markdown
MemberAuthor

@samsonasik Thank you! It worked fine.

[OK] 148 files have been changed by Rector 

Dropped 1ecb049

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 557b355 to 531f9c7CompareMarch 16, 2024 01:28
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch 4 times, most recently from 85d4956 to 57bee92CompareApril 2, 2024 22:55
@kenjis
kenjis marked this pull request as ready for review April 2, 2024 23:45
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 57bee92 to aaa37adCompareApril 6, 2024 00:24
@kenjis
kenjis merged commit 77cbf2c into codeigniter4:4.5Apr 7, 2024
@kenjis
kenjis deleted the rector-upgrade-php81-CI45 branch April 7, 2024 03:36
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactorPull requests that refactor code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@kenjis@ddevsr@samsonasik@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor: upgrade to PHP 8.1 with rector - #8354

Merged
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45
Apr 7, 2024
Merged

refactor: upgrade to PHP 8.1 with rector#8354
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45

Conversation

@kenjis

@kenjiskenjis commented Dec 21, 2023

Copy link
Copy Markdown
Member

Important

All refactoring will be performed just prior to the release of v4.5.0.

Description
Supersedes #7964
Closes#6921

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@kenjiskenjis added refactor Pull requests that refactor code 4.5 labels Dec 21, 2023
@kenjis
kenjis marked this pull request as draft December 21, 2023 02:45
@kenjiskenjis mentioned this pull request Dec 21, 2023
5 tasks
@ddevsr

Copy link
Copy Markdown
Collaborator

@kenjis I suggest rules ChangeSwitchToMatchRector by Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector

@kenjis

Copy link
Copy Markdown
MemberAuthor

Doesn't it included in LevelSetList::UP_TO_PHP_81?

@ddevsr

Copy link
Copy Markdown
Collaborator

Doesn't it included in LevelSetList::UP_TO_PHP_81?

Sorry i didnt read it

@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik When rector is executed on this branch, rector enters an infinite loop, because of the following files:

 __DIR__ . '/system/Common.php',
__DIR__ . '/system/Helpers/filesystem_helper.php',
__DIR__ . '/system/Helpers/text_helper.php',
__DIR__ . '/system/Helpers/form_helper.php',
__DIR__ . '/system/Helpers/html_helper.php',
__DIR__ . '/system/Helpers/number_helper.php',

Rector adds too many declare(strict_types=1); lines to them.
Is this a bug?

@samsonasik

Copy link
Copy Markdown
Member

@kenjis probably, could you create a reproducible at https://getrector.com/demo and report at https://github.com/rectorphp/rector/ ? Thank you.

@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Dec 22, 2023
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjiskenjis mentioned this pull request Dec 26, 2023
4 tasks
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 4a389b8 to f962917CompareFebruary 2, 2024 12:04
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 2, 2024
@kenjiskenjis mentioned this pull request Feb 3, 2024
5 tasks
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 8, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from f962917 to 9561166CompareFebruary 25, 2024 03:02
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 25, 2024
@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik These files with too many declare(strict_types=1) are all functions, not class files.
But I cannot make a simple reproducible sample code.

@samsonasik

Copy link
Copy Markdown
Member

@kenjis the DeclareStrictTypesRector can be skipped if it make too many changes, and create separate PR to enable that?

@samsonasik

Copy link
Copy Markdown
Member

Actually, the DeclareStrictTypesRector is not part of any set list now, so should not apply the changes except registered, I can't see any addition of declare(strict_types=1) now in github diff

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 6bd5ebf to b788264CompareFebruary 25, 2024 10:00
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 26, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from cabf2ed to a2bee68CompareFebruary 26, 2024 01:15
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 26, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from a2bee68 to ef8f4c2CompareFebruary 26, 2024 01:47
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Mar 9, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from ef8f4c2 to 39aea7cCompareMarch 9, 2024 23:51
@kenjiskenjis removed the stale Pull requests with conflicts label Mar 9, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 39aea7c to 2766e4cCompareMarch 10, 2024 10:01
@samsonasik

Copy link
Copy Markdown
Member

@kenjis could you rebase and retry add DeclareStrictTypesRector, run composer update, and verify if no longer infinite loop on latest rector 1.0.3? Thank you.

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 2766e4c to 557b355CompareMarch 16, 2024 01:14
@kenjis

kenjis commented Mar 16, 2024

Copy link
Copy Markdown
MemberAuthor

@samsonasik Thank you! It worked fine.

[OK] 148 files have been changed by Rector 

Dropped 1ecb049

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 557b355 to 531f9c7CompareMarch 16, 2024 01:28
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch 4 times, most recently from 85d4956 to 57bee92CompareApril 2, 2024 22:55
@kenjis
kenjis marked this pull request as ready for review April 2, 2024 23:45
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 57bee92 to aaa37adCompareApril 6, 2024 00:24
@kenjis
kenjis merged commit 77cbf2c into codeigniter4:4.5Apr 7, 2024
@kenjis
kenjis deleted the rector-upgrade-php81-CI45 branch April 7, 2024 03:36
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactorPull requests that refactor code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@kenjis@ddevsr@samsonasik@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor: upgrade to PHP 8.1 with rector - #8354

Merged
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45
Apr 7, 2024
Merged

refactor: upgrade to PHP 8.1 with rector#8354
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45

Conversation

@kenjis

@kenjiskenjis commented Dec 21, 2023

Copy link
Copy Markdown
Member

Important

All refactoring will be performed just prior to the release of v4.5.0.

Description
Supersedes #7964
Closes#6921

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@kenjiskenjis added refactor Pull requests that refactor code 4.5 labels Dec 21, 2023
@kenjis
kenjis marked this pull request as draft December 21, 2023 02:45
@kenjiskenjis mentioned this pull request Dec 21, 2023
5 tasks
@ddevsr

Copy link
Copy Markdown
Collaborator

@kenjis I suggest rules ChangeSwitchToMatchRector by Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector

@kenjis

Copy link
Copy Markdown
MemberAuthor

Doesn't it included in LevelSetList::UP_TO_PHP_81?

@ddevsr

Copy link
Copy Markdown
Collaborator

Doesn't it included in LevelSetList::UP_TO_PHP_81?

Sorry i didnt read it

@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik When rector is executed on this branch, rector enters an infinite loop, because of the following files:

 __DIR__ . '/system/Common.php',
__DIR__ . '/system/Helpers/filesystem_helper.php',
__DIR__ . '/system/Helpers/text_helper.php',
__DIR__ . '/system/Helpers/form_helper.php',
__DIR__ . '/system/Helpers/html_helper.php',
__DIR__ . '/system/Helpers/number_helper.php',

Rector adds too many declare(strict_types=1); lines to them.
Is this a bug?

@samsonasik

Copy link
Copy Markdown
Member

@kenjis probably, could you create a reproducible at https://getrector.com/demo and report at https://github.com/rectorphp/rector/ ? Thank you.

@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Dec 22, 2023
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjiskenjis mentioned this pull request Dec 26, 2023
4 tasks
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 4a389b8 to f962917CompareFebruary 2, 2024 12:04
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 2, 2024
@kenjiskenjis mentioned this pull request Feb 3, 2024
5 tasks
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 8, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from f962917 to 9561166CompareFebruary 25, 2024 03:02
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 25, 2024
@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik These files with too many declare(strict_types=1) are all functions, not class files.
But I cannot make a simple reproducible sample code.

@samsonasik

Copy link
Copy Markdown
Member

@kenjis the DeclareStrictTypesRector can be skipped if it make too many changes, and create separate PR to enable that?

@samsonasik

Copy link
Copy Markdown
Member

Actually, the DeclareStrictTypesRector is not part of any set list now, so should not apply the changes except registered, I can't see any addition of declare(strict_types=1) now in github diff

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 6bd5ebf to b788264CompareFebruary 25, 2024 10:00
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 26, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from cabf2ed to a2bee68CompareFebruary 26, 2024 01:15
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 26, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from a2bee68 to ef8f4c2CompareFebruary 26, 2024 01:47
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Mar 9, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from ef8f4c2 to 39aea7cCompareMarch 9, 2024 23:51
@kenjiskenjis removed the stale Pull requests with conflicts label Mar 9, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 39aea7c to 2766e4cCompareMarch 10, 2024 10:01
@samsonasik

Copy link
Copy Markdown
Member

@kenjis could you rebase and retry add DeclareStrictTypesRector, run composer update, and verify if no longer infinite loop on latest rector 1.0.3? Thank you.

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 2766e4c to 557b355CompareMarch 16, 2024 01:14
@kenjis

kenjis commented Mar 16, 2024

Copy link
Copy Markdown
MemberAuthor

@samsonasik Thank you! It worked fine.

[OK] 148 files have been changed by Rector 

Dropped 1ecb049

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 557b355 to 531f9c7CompareMarch 16, 2024 01:28
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch 4 times, most recently from 85d4956 to 57bee92CompareApril 2, 2024 22:55
@kenjis
kenjis marked this pull request as ready for review April 2, 2024 23:45
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 57bee92 to aaa37adCompareApril 6, 2024 00:24
@kenjis
kenjis merged commit 77cbf2c into codeigniter4:4.5Apr 7, 2024
@kenjis
kenjis deleted the rector-upgrade-php81-CI45 branch April 7, 2024 03:36
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactorPull requests that refactor code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@kenjis@ddevsr@samsonasik@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

refactor: upgrade to PHP 8.1 with rector - #8354

Merged
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45
Apr 7, 2024
Merged

refactor: upgrade to PHP 8.1 with rector#8354
kenjis merged 9 commits into
codeigniter4:4.5from
kenjis:rector-upgrade-php81-CI45

Conversation

@kenjis

@kenjiskenjis commented Dec 21, 2023

Copy link
Copy Markdown
Member

Important

All refactoring will be performed just prior to the release of v4.5.0.

Description
Supersedes #7964
Closes#6921

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@kenjiskenjis added refactor Pull requests that refactor code 4.5 labels Dec 21, 2023
@kenjis
kenjis marked this pull request as draft December 21, 2023 02:45
@kenjiskenjis mentioned this pull request Dec 21, 2023
5 tasks
@ddevsr

Copy link
Copy Markdown
Collaborator

@kenjis I suggest rules ChangeSwitchToMatchRector by Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector

@kenjis

Copy link
Copy Markdown
MemberAuthor

Doesn't it included in LevelSetList::UP_TO_PHP_81?

@ddevsr

Copy link
Copy Markdown
Collaborator

Doesn't it included in LevelSetList::UP_TO_PHP_81?

Sorry i didnt read it

@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik When rector is executed on this branch, rector enters an infinite loop, because of the following files:

 __DIR__ . '/system/Common.php',
__DIR__ . '/system/Helpers/filesystem_helper.php',
__DIR__ . '/system/Helpers/text_helper.php',
__DIR__ . '/system/Helpers/form_helper.php',
__DIR__ . '/system/Helpers/html_helper.php',
__DIR__ . '/system/Helpers/number_helper.php',

Rector adds too many declare(strict_types=1); lines to them.
Is this a bug?

@samsonasik

Copy link
Copy Markdown
Member

@kenjis probably, could you create a reproducible at https://getrector.com/demo and report at https://github.com/rectorphp/rector/ ? Thank you.

@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Dec 22, 2023
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjiskenjis mentioned this pull request Dec 26, 2023
4 tasks
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 4a389b8 to f962917CompareFebruary 2, 2024 12:04
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 2, 2024
@kenjiskenjis mentioned this pull request Feb 3, 2024
5 tasks
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 8, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from f962917 to 9561166CompareFebruary 25, 2024 03:02
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 25, 2024
@kenjis

Copy link
Copy Markdown
MemberAuthor

@samsonasik These files with too many declare(strict_types=1) are all functions, not class files.
But I cannot make a simple reproducible sample code.

@samsonasik

Copy link
Copy Markdown
Member

@kenjis the DeclareStrictTypesRector can be skipped if it make too many changes, and create separate PR to enable that?

@samsonasik

Copy link
Copy Markdown
Member

Actually, the DeclareStrictTypesRector is not part of any set list now, so should not apply the changes except registered, I can't see any addition of declare(strict_types=1) now in github diff

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 6bd5ebf to b788264CompareFebruary 25, 2024 10:00
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Feb 26, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from cabf2ed to a2bee68CompareFebruary 26, 2024 01:15
@kenjiskenjis removed the stale Pull requests with conflicts label Feb 26, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from a2bee68 to ef8f4c2CompareFebruary 26, 2024 01:47
@github-actionsgithub-actionsBot added the stale Pull requests with conflicts label Mar 9, 2024
@github-actions

Copy link
Copy Markdown

👋 Hi, @kenjis!

We detected conflicts in your PR against the base branch 🙊
You may want to sync 🔄 your branch with upstream!

Ref: Syncing Your Branch

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from ef8f4c2 to 39aea7cCompareMarch 9, 2024 23:51
@kenjiskenjis removed the stale Pull requests with conflicts label Mar 9, 2024
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 39aea7c to 2766e4cCompareMarch 10, 2024 10:01
@samsonasik

Copy link
Copy Markdown
Member

@kenjis could you rebase and retry add DeclareStrictTypesRector, run composer update, and verify if no longer infinite loop on latest rector 1.0.3? Thank you.

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 2766e4c to 557b355CompareMarch 16, 2024 01:14
@kenjis

kenjis commented Mar 16, 2024

Copy link
Copy Markdown
MemberAuthor

@samsonasik Thank you! It worked fine.

[OK] 148 files have been changed by Rector 

Dropped 1ecb049

@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 557b355 to 531f9c7CompareMarch 16, 2024 01:28
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch 4 times, most recently from 85d4956 to 57bee92CompareApril 2, 2024 22:55
@kenjis
kenjis marked this pull request as ready for review April 2, 2024 23:45
@kenjis
kenjisforce-pushed the rector-upgrade-php81-CI45 branch from 57bee92 to aaa37adCompareApril 6, 2024 00:24
@kenjis
kenjis merged commit 77cbf2c into codeigniter4:4.5Apr 7, 2024
@kenjis
kenjis deleted the rector-upgrade-php81-CI45 branch April 7, 2024 03:36
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactorPull requests that refactor code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@kenjis@ddevsr@samsonasik@michalsn