2 This module scans extensions for usage of deprecated and removed TYPO3 API calls.
3 The module can be a great help for extension developers and site maintainers when
4 upgrading to new core versions. However, the detection approach - based on static
5 code analysis - is limited by concept: false positives/negatives are impossible to avoid.
6 Further details can be found at
7 <a style=
"text-decoration: underline;" target=
"_blank" rel=
"noopener" href=
"https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/ExtensionScanner/Index.html">
12 <div style=
"display:none;">
13 <div id=
"t3js-extensionScanner-files-token">{extensionScannerFilesToken}
</div>
14 <div id=
"t3js-extensionScanner-scan-file-token">{extensionScannerScanFileToken}
</div>
15 <div id=
"t3js-extensionScanner-mark-fully-scanned-rest-files-token">{extensionScannerMarkFullyScannedRestFilesToken}
</div>
16 <div id=
"t3js-extensionScanner-file-hit-template">
17 <div class=
"panel panel-flat t3js-extensionScanner-hit-panel risk-medium">
18 <div class=
"panel-heading">
19 <h3 class=
"panel-title">
20 <a href=
"#collapse" class=
"collapsed t3js-extensionScanner-hit-file-panel-head" data-toggle=
"collapse">
21 <span class=
"caret"></span>
22 <span class=
"pull-right badges"></span>
23 <span class=
"t3js-extensionScanner-hit-filename file">aFile
</span>
24 <span class=
"t3js-extensionScanner-hit-message message">aMessage
</span>
28 <div id=
"collapse" class=
"panel-collapse collapse t3js-extensionScanner-hit-file-panel-body">
29 <div class=
"panel-body">
30 <pre><strong class=
"t3js-extensionScanner-hit-file-line"></strong><span class=
"t3js-extensionScanner-hit-file-lineContent"></span></pre>
31 <div class=
"panel-group-flat t3js-extensionScanner-hit-file-rest-container"></div>
36 <div id=
"t3js-extensionScanner-file-hit-rest-template">
37 <div class=
"panel panel-flat t3js-extensionScanner-hit-rest-panel risk-medium">
38 <div class=
"panel-heading">
39 <h3 class=
"panel-title">
40 <a href=
"#collapse-rest"
41 class=
"collapsed t3js-extensionScanner-hit-rest-panel-head"
42 data-toggle=
"collapse"
44 <span class=
"badge pull-right">aBadge
</span>
45 <span class=
"caret"></span>
46 <strong class=
"t3js-extensionScanner-hit-rest-headline">restFileHeadline
</strong>
50 <div id=
"collapse-rest" class=
"panel-collapse collapse t3js-extensionScanner-hit-rest-panel-body">
51 <pre class=
"t3js-extensionScanner-hit-rest-body">restFileContent
</pre>
57 <div class=
"progress t3js-extensionScanner-progress-all-extension">
58 <div class=
"progress-bar progress-bar-info" role=
"progressbar" aria-valuenow=
"0" aria-valuemin=
"0" aria-valuemax=
"100" style=
"width: 0;">
59 <span class=
"text-nowrap"></span>
63 <button class=
"btn btn-default t3js-extensionScanner-scan-all" type=
"submit">
69 <div class=
"panel-group panel-group-flat panel-group-scanner-extensions">
70 <f:for each=
"{extensionScannerExtensionList}" as=
"extensionInTypo3conf" iteration=
"iterator">
72 class=
"panel panel-flat t3js-extensionScanner-extension t3js-extensionScanner-extension-{extensionInTypo3conf.filename}"
73 data-extension=
"{extensionInTypo3conf.filename}">
74 <div class=
"panel-progress">
75 <div class=
"panel-progress-bar" role=
"progressbar" aria-valuenow=
"0" aria-valuemin=
"0" aria-valuemax=
"100" style=
"width: 0;"><span class=
"sr-only"></span></div>
77 <div class=
"panel-heading alert-notice">
78 <h2 class=
"panel-title">
79 <a href=
"#extension-{iterator.index}" class=
"collapsed" data-toggle=
"collapse">
80 <span class=
"caret"></span>
81 Extension:
<strong>{extensionInTypo3conf.filename}
</strong>
82 <span class=
"pull-right t3js-extensionScanner-number-of-files"></span>
86 <div class=
"panel-collapse collapse" id=
"extension-{iterator.index}">
87 <div class=
"panel-body hide t3js-extensionScanner-extension-body"></div>
88 <div class=
"panel-footer">
89 <div>Effective lines of code:
<span class=
"t3js-extensionScanner-extension-body-loc">0</span></div>
90 <div>Files ignored by scanner:
<span class=
"t3js-extensionScanner-extension-body-ignored-files">0</span></div>
91 <div>Code lines ignored by scanner:
<span class=
"t3js-extensionScanner-extension-body-ignored-lines">0</span></div>
92 <button class=
"btn btn-default t3js-extensionScanner-scan-single" data-extension=
"{extensionInTypo3conf.filename}" type=
"submit">