Skip to content

Commit 72ac631

Browse files
authored
[BUGFIX] Support *.(setup|constants).typoscript and *.tsconfig in DIR includes too (#382)
1 parent 0cbe221 commit 72ac631

File tree

4 files changed

+43
-3
lines changed

4 files changed

+43
-3
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:my_extension/Configuration/TypoScript/" extensions="setup.typoscript">
2+
-----
3+
@import 'EXT:my_extension/Configuration/TypoScript/*.setup.typoscript'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:my_extension/Configuration/TypoScript/" extensions="constants.typoscript">
2+
-----
3+
@import 'EXT:my_extension/Configuration/TypoScript/*.constants.typoscript'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:my_extension/Configuration/TypoScript/" extensions="tsconfig">
2+
-----
3+
@import 'EXT:my_extension/Configuration/TypoScript/*.tsconfig'

packages/typo3-fractor/rules/TYPO3v13/TypoScript/MigrateIncludeTypoScriptSyntaxFractor.php

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,33 @@ public function getRuleDefinition(): RuleDefinition
6262
,
6363
<<<'CODE_SAMPLE'
6464
@import 'EXT:my_extension/Configuration/TypoScript/*.typoscript'
65+
CODE_SAMPLE
66+
),
67+
new CodeSample(
68+
<<<'CODE_SAMPLE'
69+
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:my_extension/Configuration/TypoScript/" extensions="setup.typoscript">
70+
CODE_SAMPLE
71+
,
72+
<<<'CODE_SAMPLE'
73+
@import 'EXT:my_extension/Configuration/TypoScript/*.setup.typoscript'
74+
CODE_SAMPLE
75+
),
76+
new CodeSample(
77+
<<<'CODE_SAMPLE'
78+
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:my_extension/Configuration/TypoScript/" extensions="constants.typoscript">
79+
CODE_SAMPLE
80+
,
81+
<<<'CODE_SAMPLE'
82+
@import 'EXT:my_extension/Configuration/TypoScript/*.constants.typoscript'
83+
CODE_SAMPLE
84+
),
85+
new CodeSample(
86+
<<<'CODE_SAMPLE'
87+
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:my_extension/Configuration/TypoScript/" extensions="tsconfig">
88+
CODE_SAMPLE
89+
,
90+
<<<'CODE_SAMPLE'
91+
@import 'EXT:my_extension/Configuration/TypoScript/*.tsconfig'
6592
CODE_SAMPLE
6693
),
6794
new CodeSample(
@@ -106,7 +133,9 @@ public function refactor(Statement $statement): null|Statement
106133

107134
$directory = rtrim($statement->directory, '/') . '/';
108135
if ($statement->extensions !== null) {
109-
if ($statement->extensions !== 'typoscript' || ! str_contains($statement->extensions, 'typoscript')) {
136+
$extensionParts = array_map(trim(...), explode(',', $statement->extensions));
137+
138+
if (in_array('ts', $extensionParts, true)) {
110139
$extensionRootPath = $this->extensionManagementUtility->resolveExtensionPath(
111140
$this->file->getFilePath()
112141
);
@@ -128,11 +157,13 @@ public function refactor(Statement $statement): null|Statement
128157
$this->filesystem->move($source, $destination);
129158
}
130159
}
131-
132-
$statement->extensions = 'typoscript';
133160
}
161+
162+
$extensions = 'typoscript';
163+
} else {
134164
$extensions = $statement->extensions;
135165
}
166+
136167
$importStatement = $directory . '*.' . $extensions;
137168
} else {
138169
$importStatement = $directory . '*';

0 commit comments

Comments
 (0)