@vituum/vite-plugin-latte 2.0.0-next.5 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/index.js +2 -1
- package/package.json +20 -10
- package/vendor/composer/autoload_classmap.php +3 -2
- package/vendor/composer/autoload_static.php +3 -2
- package/vendor/composer/installed.json +21 -17
- package/vendor/composer/installed.php +8 -8
- package/vendor/latte/latte/composer.json +9 -2
- package/vendor/latte/latte/src/Bridges/Tracy/BlueScreenPanel.php +7 -7
- package/vendor/latte/latte/src/Bridges/Tracy/LattePanel.php +5 -4
- package/vendor/latte/latte/src/Bridges/Tracy/TracyExtension.php +2 -4
- package/vendor/latte/latte/src/Bridges/Tracy/dist/panel.phtml +2 -4
- package/vendor/latte/latte/src/Bridges/Tracy/dist/tab.phtml +2 -4
- package/vendor/latte/latte/src/Latte/Compiler/Block.php +1 -3
- package/vendor/latte/latte/src/Latte/Compiler/Escaper.php +4 -8
- package/vendor/latte/latte/src/Latte/Compiler/Node.php +6 -3
- package/vendor/latte/latte/src/Latte/Compiler/NodeHelpers.php +15 -6
- package/vendor/latte/latte/src/Latte/Compiler/NodeTraverser.php +14 -9
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/AreaNode.php +7 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/AuxiliaryNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/FragmentNode.php +5 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/AttributeNode.php +6 -5
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/BogusTagNode.php +4 -6
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/CommentNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/ElementNode.php +5 -7
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/ExpressionAttributeNode.php +6 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/TagNode.php +1 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/NopNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ArgumentNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ArrayItemNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ClosureUseNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ComplexTypeNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ArrayAccessNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ArrayNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/AssignNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/AssignOpNode.php +5 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/AuxiliaryNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/BinaryOpNode.php +5 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/CastNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ClassConstantFetchNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/CloneNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ClosureNode.php +7 -6
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ConstantFetchNode.php +5 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/EmptyNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/FilterCallNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/FunctionCallNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/InNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/InstanceofNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/IssetNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/MatchNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/MethodCallNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/NewNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/PostOpNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/PreOpNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/PropertyFetchNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/StaticMethodCallNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/StaticPropertyFetchNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/TemporaryNode.php +7 -6
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/TernaryNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/UnaryOpNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/VariableNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ExpressionNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/FilterNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/IdentifierNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/InterpolatedStringPartNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/IntersectionTypeNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ListItemNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ListNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/MatchArmNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ModifierNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/NameNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/NullableTypeNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/OperatorNode.php +1 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ParameterNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/BooleanNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/FloatNode.php +5 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/IntegerNode.php +5 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/InterpolatedStringNode.php +6 -5
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/NullNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/StringNode.php +5 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ScalarNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/SuperiorTypeNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/UnionTypeNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/VarLikeIdentifierNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/VariadicPlaceholderNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/PrintNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/StatementNode.php +7 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/TemplateNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/TextNode.php +5 -4
- package/vendor/latte/latte/src/Latte/Compiler/PhpHelpers.php +23 -15
- package/vendor/latte/latte/src/Latte/Compiler/Position.php +5 -7
- package/vendor/latte/latte/src/Latte/Compiler/PrintContext.php +30 -9
- package/vendor/latte/latte/src/Latte/Compiler/Tag.php +6 -6
- package/vendor/latte/latte/src/Latte/Compiler/TagLexer.php +4 -6
- package/vendor/latte/latte/src/Latte/Compiler/TagParser.php +14 -11
- package/vendor/latte/latte/src/Latte/Compiler/TagParserData.php +2 -4
- package/vendor/latte/latte/src/Latte/Compiler/TemplateGenerator.php +13 -11
- package/vendor/latte/latte/src/Latte/Compiler/TemplateLexer.php +21 -7
- package/vendor/latte/latte/src/Latte/Compiler/TemplateParser.php +32 -19
- package/vendor/latte/latte/src/Latte/Compiler/TemplateParserHtml.php +28 -21
- package/vendor/latte/latte/src/Latte/Compiler/Token.php +10 -9
- package/vendor/latte/latte/src/Latte/Compiler/TokenStream.php +20 -14
- package/vendor/latte/latte/src/Latte/ContentType.php +4 -3
- package/vendor/latte/latte/src/Latte/Engine.php +64 -35
- package/vendor/latte/latte/src/Latte/Essential/AuxiliaryIterator.php +3 -7
- package/vendor/latte/latte/src/Latte/Essential/Blueprint.php +4 -5
- package/vendor/latte/latte/src/Latte/Essential/CachingIterator.php +2 -3
- package/vendor/latte/latte/src/Latte/Essential/CoreExtension.php +1 -3
- package/vendor/latte/latte/src/Latte/Essential/Filters.php +65 -32
- package/vendor/latte/latte/src/Latte/Essential/Nodes/BlockNode.php +8 -6
- package/vendor/latte/latte/src/Latte/Essential/Nodes/CaptureNode.php +5 -6
- package/vendor/latte/latte/src/Latte/Essential/Nodes/ContentTypeNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/CustomFunctionCallNode.php +2 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/DebugbreakNode.php +2 -3
- package/vendor/latte/latte/src/Latte/Essential/Nodes/DefineNode.php +6 -6
- package/vendor/latte/latte/src/Latte/Essential/Nodes/DoNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/DumpNode.php +2 -3
- package/vendor/latte/latte/src/Latte/Essential/Nodes/EmbedNode.php +3 -5
- package/vendor/latte/latte/src/Latte/Essential/Nodes/ExtendsNode.php +3 -5
- package/vendor/latte/latte/src/Latte/Essential/Nodes/FirstLastSepNode.php +4 -7
- package/vendor/latte/latte/src/Latte/Essential/Nodes/ForNode.php +3 -5
- package/vendor/latte/latte/src/Latte/Essential/Nodes/ForeachNode.php +7 -8
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IfChangedNode.php +4 -5
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IfContentNode.php +7 -6
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IfNode.php +6 -9
- package/vendor/latte/latte/src/Latte/Essential/Nodes/ImportNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IncludeBlockNode.php +8 -7
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IncludeFileNode.php +2 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IterateWhileNode.php +6 -6
- package/vendor/latte/latte/src/Latte/Essential/Nodes/JumpNode.php +4 -8
- package/vendor/latte/latte/src/Latte/Essential/Nodes/NAttrNode.php +3 -5
- package/vendor/latte/latte/src/Latte/Essential/Nodes/NClassNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/NElseNode.php +8 -5
- package/vendor/latte/latte/src/Latte/Essential/Nodes/NTagNode.php +4 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/ParametersNode.php +4 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/RawPhpNode.php +2 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/RollbackNode.php +2 -3
- package/vendor/latte/latte/src/Latte/Essential/Nodes/SpacelessNode.php +4 -5
- package/vendor/latte/latte/src/Latte/Essential/Nodes/SwitchNode.php +9 -7
- package/vendor/latte/latte/src/Latte/Essential/Nodes/TemplatePrintNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/TemplateTypeNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/TraceNode.php +2 -3
- package/vendor/latte/latte/src/Latte/Essential/Nodes/TranslateNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/TryNode.php +4 -5
- package/vendor/latte/latte/src/Latte/Essential/Nodes/VarNode.php +8 -7
- package/vendor/latte/latte/src/Latte/Essential/Nodes/VarPrintNode.php +2 -3
- package/vendor/latte/latte/src/Latte/Essential/Nodes/VarTypeNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/WhileNode.php +5 -5
- package/vendor/latte/latte/src/Latte/Essential/Passes.php +26 -15
- package/vendor/latte/latte/src/Latte/Essential/RawPhpExtension.php +1 -3
- package/vendor/latte/latte/src/Latte/Essential/RollbackException.php +1 -3
- package/vendor/latte/latte/src/Latte/Essential/Tracer.php +20 -13
- package/vendor/latte/latte/src/Latte/Essential/TranslatorExtension.php +9 -10
- package/vendor/latte/latte/src/Latte/Extension.php +10 -6
- package/vendor/latte/latte/src/Latte/Feature.php +24 -0
- package/vendor/latte/latte/src/Latte/Helpers.php +18 -10
- package/vendor/latte/latte/src/Latte/Loader.php +1 -3
- package/vendor/latte/latte/src/Latte/Loaders/FileLoader.php +8 -5
- package/vendor/latte/latte/src/Latte/Loaders/StringLoader.php +5 -13
- package/vendor/latte/latte/src/Latte/Policy.php +4 -3
- package/vendor/latte/latte/src/Latte/Runtime/Block.php +2 -4
- package/vendor/latte/latte/src/Latte/{Cache.php → Runtime/Cache.php} +12 -11
- package/vendor/latte/latte/src/Latte/Runtime/FilterExecutor.php +3 -5
- package/vendor/latte/latte/src/Latte/Runtime/FilterInfo.php +10 -11
- package/vendor/latte/latte/src/Latte/Runtime/FunctionExecutor.php +4 -6
- package/vendor/latte/latte/src/Latte/Runtime/Helpers.php +5 -7
- package/vendor/latte/latte/src/Latte/Runtime/Html.php +3 -5
- package/vendor/latte/latte/src/Latte/Runtime/HtmlHelpers.php +18 -18
- package/vendor/latte/latte/src/Latte/Runtime/HtmlStringable.php +1 -3
- package/vendor/latte/latte/src/Latte/Runtime/Template.php +23 -42
- package/vendor/latte/latte/src/Latte/Runtime/XmlHelpers.php +5 -7
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/FunctionCallNode.php +14 -8
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/MethodCallNode.php +17 -11
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/PropertyFetchNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/SandboxNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/StaticMethodCallNode.php +16 -10
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/StaticPropertyFetchNode.php +4 -3
- package/vendor/latte/latte/src/Latte/Sandbox/RuntimeChecker.php +6 -5
- package/vendor/latte/latte/src/Latte/Sandbox/SandboxExtension.php +5 -4
- package/vendor/latte/latte/src/Latte/Sandbox/SecurityPolicy.php +17 -16
- package/vendor/latte/latte/src/Latte/attributes.php +7 -3
- package/vendor/latte/latte/src/Latte/exceptions.php +38 -3
- package/vendor/latte/latte/src/Tools/Linter.php +20 -14
- package/vendor/latte/latte/src/Tools/LinterExtension.php +26 -7
- package/vendor/nette/utils/composer.json +8 -1
- package/vendor/nette/utils/src/HtmlStringable.php +4 -1
- package/vendor/nette/utils/src/Iterators/CachingIterator.php +9 -24
- package/vendor/nette/utils/src/Iterators/Mapper.php +2 -3
- package/vendor/nette/utils/src/SmartObject.php +3 -0
- package/vendor/nette/utils/src/StaticClass.php +1 -1
- package/vendor/nette/utils/src/Translator.php +1 -1
- package/vendor/nette/utils/src/Utils/ArrayHash.php +1 -5
- package/vendor/nette/utils/src/Utils/ArrayList.php +3 -6
- package/vendor/nette/utils/src/Utils/Arrays.php +33 -10
- package/vendor/nette/utils/src/Utils/Callback.php +12 -7
- package/vendor/nette/utils/src/Utils/DateTime.php +1 -1
- package/vendor/nette/utils/src/Utils/FileInfo.php +5 -7
- package/vendor/nette/utils/src/Utils/FileSystem.php +5 -2
- package/vendor/nette/utils/src/Utils/Finder.php +27 -8
- package/vendor/nette/utils/src/Utils/Helpers.php +7 -1
- package/vendor/nette/utils/src/Utils/Html.php +123 -118
- package/vendor/nette/utils/src/Utils/Image.php +72 -54
- package/vendor/nette/utils/src/Utils/ImageColor.php +4 -0
- package/vendor/nette/utils/src/Utils/Iterables.php +16 -8
- package/vendor/nette/utils/src/Utils/Paginator.php +10 -43
- package/vendor/nette/utils/src/Utils/Reflection.php +17 -7
- package/vendor/nette/utils/src/Utils/ReflectionMethod.php +4 -1
- package/vendor/nette/utils/src/Utils/Strings.php +48 -15
- package/vendor/nette/utils/src/Utils/Type.php +41 -27
- package/vendor/nette/utils/src/Utils/Validators.php +8 -7
- package/vendor/latte/latte/src/Bridges/Tracy/panel.latte +0 -94
- package/vendor/latte/latte/src/Bridges/Tracy/tab.latte +0 -8
- package/vendor/latte/latte/src/Latte/PositionAwareException.php +0 -47
package/README.md
CHANGED
|
@@ -39,6 +39,6 @@ or
|
|
|
39
39
|
|
|
40
40
|
### Requirements
|
|
41
41
|
|
|
42
|
-
- [Node.js LTS (
|
|
42
|
+
- [Node.js LTS (20.x)](https://nodejs.org/en/download/)
|
|
43
43
|
- [PHP (8.x)](https://www.php.net/) or [Docker PHP (8.x)](https://hub.docker.com/_/php)
|
|
44
44
|
- [Vite](https://vitejs.dev/)
|
package/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { fileURLToPath } from 'node:url'
|
|
|
3
3
|
import fs from 'node:fs'
|
|
4
4
|
import process from 'node:process'
|
|
5
5
|
import * as childProcess from 'node:child_process'
|
|
6
|
+
import { globSync } from 'tinyglobby'
|
|
6
7
|
import picomatch from 'picomatch'
|
|
7
8
|
import {
|
|
8
9
|
getPackageInfo,
|
|
@@ -56,7 +57,7 @@ const renderTemplate = ({ server, path, filename, cwd, packageRoot, viteServer }
|
|
|
56
57
|
if (options.data) {
|
|
57
58
|
const normalizePaths = Array.isArray(options.data) ? options.data.map(path => normalizePath(path)) : normalizePath(options.data)
|
|
58
59
|
|
|
59
|
-
options.data =
|
|
60
|
+
options.data = globSync(normalizePaths).map(entry => resolve(cwd, entry))
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
Object.keys(options.filters).forEach((key) => {
|
package/package.json
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vituum/vite-plugin-latte",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "types/index.d.ts",
|
|
7
|
+
"description": "Vite plugin for PostCSS, adds basic plugins out of the box",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"latte",
|
|
10
|
+
"vituum",
|
|
11
|
+
"vite",
|
|
12
|
+
"vite-plugin"
|
|
13
|
+
],
|
|
7
14
|
"scripts": {
|
|
8
15
|
"lint": "npm run eslint && npm run tsc",
|
|
9
16
|
"tsc": "tsc",
|
|
@@ -15,18 +22,21 @@
|
|
|
15
22
|
"publish-next": "npm publish --tag next"
|
|
16
23
|
},
|
|
17
24
|
"dependencies": {
|
|
18
|
-
"picomatch": "^4.0
|
|
19
|
-
"
|
|
25
|
+
"picomatch": "^4.0",
|
|
26
|
+
"tinyglobby": "^0.2",
|
|
27
|
+
"vituum": "^2.0"
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"vite": "^8.0"
|
|
20
31
|
},
|
|
21
32
|
"devDependencies": {
|
|
22
|
-
"@eslint/js": "^
|
|
23
|
-
"@stylistic/eslint-plugin": "^5.
|
|
33
|
+
"@eslint/js": "^10.0",
|
|
34
|
+
"@stylistic/eslint-plugin": "^5.10",
|
|
24
35
|
"@types/node": "^25",
|
|
25
36
|
"@types/picomatch": "^4.0",
|
|
26
|
-
"eslint": "^
|
|
27
|
-
"globals": "^17.
|
|
28
|
-
"typescript": "^5.9"
|
|
29
|
-
"vite": "^8.0.0-beta.8"
|
|
37
|
+
"eslint": "^10.0",
|
|
38
|
+
"globals": "^17.4",
|
|
39
|
+
"typescript": "^5.9"
|
|
30
40
|
},
|
|
31
41
|
"files": [
|
|
32
42
|
"index.js",
|
|
@@ -44,7 +54,7 @@
|
|
|
44
54
|
}
|
|
45
55
|
},
|
|
46
56
|
"engines": {
|
|
47
|
-
"node": "^
|
|
57
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
48
58
|
},
|
|
49
59
|
"repository": {
|
|
50
60
|
"type": "git",
|
|
@@ -12,7 +12,6 @@ return array(
|
|
|
12
12
|
'Latte\\Bridges\\Tracy\\BlueScreenPanel' => $vendorDir . '/latte/latte/src/Bridges/Tracy/BlueScreenPanel.php',
|
|
13
13
|
'Latte\\Bridges\\Tracy\\LattePanel' => $vendorDir . '/latte/latte/src/Bridges/Tracy/LattePanel.php',
|
|
14
14
|
'Latte\\Bridges\\Tracy\\TracyExtension' => $vendorDir . '/latte/latte/src/Bridges/Tracy/TracyExtension.php',
|
|
15
|
-
'Latte\\Cache' => $vendorDir . '/latte/latte/src/Latte/Cache.php',
|
|
16
15
|
'Latte\\CompileException' => $vendorDir . '/latte/latte/src/Latte/exceptions.php',
|
|
17
16
|
'Latte\\Compiler\\Block' => $vendorDir . '/latte/latte/src/Latte/Compiler/Block.php',
|
|
18
17
|
'Latte\\Compiler\\Escaper' => $vendorDir . '/latte/latte/src/Latte/Compiler/Escaper.php',
|
|
@@ -156,14 +155,16 @@ return array(
|
|
|
156
155
|
'Latte\\Essential\\TranslatorExtension' => $vendorDir . '/latte/latte/src/Latte/Essential/TranslatorExtension.php',
|
|
157
156
|
'Latte\\Exception' => $vendorDir . '/latte/latte/src/Latte/exceptions.php',
|
|
158
157
|
'Latte\\Extension' => $vendorDir . '/latte/latte/src/Latte/Extension.php',
|
|
158
|
+
'Latte\\Feature' => $vendorDir . '/latte/latte/src/Latte/Feature.php',
|
|
159
159
|
'Latte\\Helpers' => $vendorDir . '/latte/latte/src/Latte/Helpers.php',
|
|
160
160
|
'Latte\\Loader' => $vendorDir . '/latte/latte/src/Latte/Loader.php',
|
|
161
161
|
'Latte\\Loaders\\FileLoader' => $vendorDir . '/latte/latte/src/Latte/Loaders/FileLoader.php',
|
|
162
162
|
'Latte\\Loaders\\StringLoader' => $vendorDir . '/latte/latte/src/Latte/Loaders/StringLoader.php',
|
|
163
163
|
'Latte\\Policy' => $vendorDir . '/latte/latte/src/Latte/Policy.php',
|
|
164
|
-
'Latte\\PositionAwareException' => $vendorDir . '/latte/latte/src/Latte/
|
|
164
|
+
'Latte\\PositionAwareException' => $vendorDir . '/latte/latte/src/Latte/exceptions.php',
|
|
165
165
|
'Latte\\RuntimeException' => $vendorDir . '/latte/latte/src/Latte/exceptions.php',
|
|
166
166
|
'Latte\\Runtime\\Block' => $vendorDir . '/latte/latte/src/Latte/Runtime/Block.php',
|
|
167
|
+
'Latte\\Runtime\\Cache' => $vendorDir . '/latte/latte/src/Latte/Runtime/Cache.php',
|
|
167
168
|
'Latte\\Runtime\\FilterExecutor' => $vendorDir . '/latte/latte/src/Latte/Runtime/FilterExecutor.php',
|
|
168
169
|
'Latte\\Runtime\\FilterInfo' => $vendorDir . '/latte/latte/src/Latte/Runtime/FilterInfo.php',
|
|
169
170
|
'Latte\\Runtime\\FunctionExecutor' => $vendorDir . '/latte/latte/src/Latte/Runtime/FunctionExecutor.php',
|
|
@@ -35,7 +35,6 @@ class ComposerStaticInit8535741375194e2773348db6a0091487
|
|
|
35
35
|
'Latte\\Bridges\\Tracy\\BlueScreenPanel' => __DIR__ . '/..' . '/latte/latte/src/Bridges/Tracy/BlueScreenPanel.php',
|
|
36
36
|
'Latte\\Bridges\\Tracy\\LattePanel' => __DIR__ . '/..' . '/latte/latte/src/Bridges/Tracy/LattePanel.php',
|
|
37
37
|
'Latte\\Bridges\\Tracy\\TracyExtension' => __DIR__ . '/..' . '/latte/latte/src/Bridges/Tracy/TracyExtension.php',
|
|
38
|
-
'Latte\\Cache' => __DIR__ . '/..' . '/latte/latte/src/Latte/Cache.php',
|
|
39
38
|
'Latte\\CompileException' => __DIR__ . '/..' . '/latte/latte/src/Latte/exceptions.php',
|
|
40
39
|
'Latte\\Compiler\\Block' => __DIR__ . '/..' . '/latte/latte/src/Latte/Compiler/Block.php',
|
|
41
40
|
'Latte\\Compiler\\Escaper' => __DIR__ . '/..' . '/latte/latte/src/Latte/Compiler/Escaper.php',
|
|
@@ -179,14 +178,16 @@ class ComposerStaticInit8535741375194e2773348db6a0091487
|
|
|
179
178
|
'Latte\\Essential\\TranslatorExtension' => __DIR__ . '/..' . '/latte/latte/src/Latte/Essential/TranslatorExtension.php',
|
|
180
179
|
'Latte\\Exception' => __DIR__ . '/..' . '/latte/latte/src/Latte/exceptions.php',
|
|
181
180
|
'Latte\\Extension' => __DIR__ . '/..' . '/latte/latte/src/Latte/Extension.php',
|
|
181
|
+
'Latte\\Feature' => __DIR__ . '/..' . '/latte/latte/src/Latte/Feature.php',
|
|
182
182
|
'Latte\\Helpers' => __DIR__ . '/..' . '/latte/latte/src/Latte/Helpers.php',
|
|
183
183
|
'Latte\\Loader' => __DIR__ . '/..' . '/latte/latte/src/Latte/Loader.php',
|
|
184
184
|
'Latte\\Loaders\\FileLoader' => __DIR__ . '/..' . '/latte/latte/src/Latte/Loaders/FileLoader.php',
|
|
185
185
|
'Latte\\Loaders\\StringLoader' => __DIR__ . '/..' . '/latte/latte/src/Latte/Loaders/StringLoader.php',
|
|
186
186
|
'Latte\\Policy' => __DIR__ . '/..' . '/latte/latte/src/Latte/Policy.php',
|
|
187
|
-
'Latte\\PositionAwareException' => __DIR__ . '/..' . '/latte/latte/src/Latte/
|
|
187
|
+
'Latte\\PositionAwareException' => __DIR__ . '/..' . '/latte/latte/src/Latte/exceptions.php',
|
|
188
188
|
'Latte\\RuntimeException' => __DIR__ . '/..' . '/latte/latte/src/Latte/exceptions.php',
|
|
189
189
|
'Latte\\Runtime\\Block' => __DIR__ . '/..' . '/latte/latte/src/Latte/Runtime/Block.php',
|
|
190
|
+
'Latte\\Runtime\\Cache' => __DIR__ . '/..' . '/latte/latte/src/Latte/Runtime/Cache.php',
|
|
190
191
|
'Latte\\Runtime\\FilterExecutor' => __DIR__ . '/..' . '/latte/latte/src/Latte/Runtime/FilterExecutor.php',
|
|
191
192
|
'Latte\\Runtime\\FilterInfo' => __DIR__ . '/..' . '/latte/latte/src/Latte/Runtime/FilterInfo.php',
|
|
192
193
|
'Latte\\Runtime\\FunctionExecutor' => __DIR__ . '/..' . '/latte/latte/src/Latte/Runtime/FunctionExecutor.php',
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
"packages": [
|
|
3
3
|
{
|
|
4
4
|
"name": "latte/latte",
|
|
5
|
-
"version": "v3.1.
|
|
6
|
-
"version_normalized": "3.1.
|
|
5
|
+
"version": "v3.1.2",
|
|
6
|
+
"version_normalized": "3.1.2.0",
|
|
7
7
|
"source": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "https://github.com/nette/latte.git",
|
|
10
|
-
"reference": "
|
|
10
|
+
"reference": "734ab908c17b28bd75b9331debd1901bec2f23ef"
|
|
11
11
|
},
|
|
12
12
|
"dist": {
|
|
13
13
|
"type": "zip",
|
|
14
|
-
"url": "https://api.github.com/repos/nette/latte/zipball/
|
|
15
|
-
"reference": "
|
|
14
|
+
"url": "https://api.github.com/repos/nette/latte/zipball/734ab908c17b28bd75b9331debd1901bec2f23ef",
|
|
15
|
+
"reference": "734ab908c17b28bd75b9331debd1901bec2f23ef",
|
|
16
16
|
"shasum": ""
|
|
17
17
|
},
|
|
18
18
|
"require": {
|
|
@@ -26,9 +26,11 @@
|
|
|
26
26
|
},
|
|
27
27
|
"require-dev": {
|
|
28
28
|
"nette/php-generator": "^4.0",
|
|
29
|
-
"nette/
|
|
29
|
+
"nette/phpstan-rules": "^1.0",
|
|
30
|
+
"nette/tester": "^2.6",
|
|
30
31
|
"nette/utils": "^4.0",
|
|
31
|
-
"phpstan/
|
|
32
|
+
"phpstan/extension-installer": "^1.4@stable",
|
|
33
|
+
"phpstan/phpstan": "^2.1@stable",
|
|
32
34
|
"tracy/tracy": "^2.10"
|
|
33
35
|
},
|
|
34
36
|
"suggest": {
|
|
@@ -39,7 +41,7 @@
|
|
|
39
41
|
"nette/php-generator": "to use tag {templatePrint}",
|
|
40
42
|
"nette/utils": "to use filter |webalize"
|
|
41
43
|
},
|
|
42
|
-
"time": "
|
|
44
|
+
"time": "2026-02-24T21:38:20+00:00",
|
|
43
45
|
"bin": [
|
|
44
46
|
"bin/latte-lint"
|
|
45
47
|
],
|
|
@@ -88,23 +90,23 @@
|
|
|
88
90
|
],
|
|
89
91
|
"support": {
|
|
90
92
|
"issues": "https://github.com/nette/latte/issues",
|
|
91
|
-
"source": "https://github.com/nette/latte/tree/v3.1.
|
|
93
|
+
"source": "https://github.com/nette/latte/tree/v3.1.2"
|
|
92
94
|
},
|
|
93
95
|
"install-path": "../latte/latte"
|
|
94
96
|
},
|
|
95
97
|
{
|
|
96
98
|
"name": "nette/utils",
|
|
97
|
-
"version": "v4.1.
|
|
98
|
-
"version_normalized": "4.1.
|
|
99
|
+
"version": "v4.1.3",
|
|
100
|
+
"version_normalized": "4.1.3.0",
|
|
99
101
|
"source": {
|
|
100
102
|
"type": "git",
|
|
101
103
|
"url": "https://github.com/nette/utils.git",
|
|
102
|
-
"reference": "
|
|
104
|
+
"reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe"
|
|
103
105
|
},
|
|
104
106
|
"dist": {
|
|
105
107
|
"type": "zip",
|
|
106
|
-
"url": "https://api.github.com/repos/nette/utils/zipball/
|
|
107
|
-
"reference": "
|
|
108
|
+
"url": "https://api.github.com/repos/nette/utils/zipball/bb3ea637e3d131d72acc033cfc2746ee893349fe",
|
|
109
|
+
"reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe",
|
|
108
110
|
"shasum": ""
|
|
109
111
|
},
|
|
110
112
|
"require": {
|
|
@@ -116,8 +118,10 @@
|
|
|
116
118
|
},
|
|
117
119
|
"require-dev": {
|
|
118
120
|
"jetbrains/phpstorm-attributes": "^1.2",
|
|
121
|
+
"nette/phpstan-rules": "^1.0",
|
|
119
122
|
"nette/tester": "^2.5",
|
|
120
|
-
"phpstan/
|
|
123
|
+
"phpstan/extension-installer": "^1.4@stable",
|
|
124
|
+
"phpstan/phpstan": "^2.1@stable",
|
|
121
125
|
"tracy/tracy": "^2.9"
|
|
122
126
|
},
|
|
123
127
|
"suggest": {
|
|
@@ -128,7 +132,7 @@
|
|
|
128
132
|
"ext-mbstring": "to use Strings::lower() etc...",
|
|
129
133
|
"ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()"
|
|
130
134
|
},
|
|
131
|
-
"time": "
|
|
135
|
+
"time": "2026-02-13T03:05:33+00:00",
|
|
132
136
|
"type": "library",
|
|
133
137
|
"extra": {
|
|
134
138
|
"branch-alias": {
|
|
@@ -180,7 +184,7 @@
|
|
|
180
184
|
],
|
|
181
185
|
"support": {
|
|
182
186
|
"issues": "https://github.com/nette/utils/issues",
|
|
183
|
-
"source": "https://github.com/nette/utils/tree/v4.1.
|
|
187
|
+
"source": "https://github.com/nette/utils/tree/v4.1.3"
|
|
184
188
|
},
|
|
185
189
|
"install-path": "../nette/utils"
|
|
186
190
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
'name' => '__root__',
|
|
4
4
|
'pretty_version' => 'dev-next',
|
|
5
5
|
'version' => 'dev-next',
|
|
6
|
-
'reference' => '
|
|
6
|
+
'reference' => '5e6a20cb81d9ef14f05ca7da6255b2dcf4d72ef2',
|
|
7
7
|
'type' => 'library',
|
|
8
8
|
'install_path' => __DIR__ . '/../../',
|
|
9
9
|
'aliases' => array(),
|
|
@@ -13,25 +13,25 @@
|
|
|
13
13
|
'__root__' => array(
|
|
14
14
|
'pretty_version' => 'dev-next',
|
|
15
15
|
'version' => 'dev-next',
|
|
16
|
-
'reference' => '
|
|
16
|
+
'reference' => '5e6a20cb81d9ef14f05ca7da6255b2dcf4d72ef2',
|
|
17
17
|
'type' => 'library',
|
|
18
18
|
'install_path' => __DIR__ . '/../../',
|
|
19
19
|
'aliases' => array(),
|
|
20
20
|
'dev_requirement' => false,
|
|
21
21
|
),
|
|
22
22
|
'latte/latte' => array(
|
|
23
|
-
'pretty_version' => 'v3.1.
|
|
24
|
-
'version' => '3.1.
|
|
25
|
-
'reference' => '
|
|
23
|
+
'pretty_version' => 'v3.1.2',
|
|
24
|
+
'version' => '3.1.2.0',
|
|
25
|
+
'reference' => '734ab908c17b28bd75b9331debd1901bec2f23ef',
|
|
26
26
|
'type' => 'library',
|
|
27
27
|
'install_path' => __DIR__ . '/../latte/latte',
|
|
28
28
|
'aliases' => array(),
|
|
29
29
|
'dev_requirement' => false,
|
|
30
30
|
),
|
|
31
31
|
'nette/utils' => array(
|
|
32
|
-
'pretty_version' => 'v4.1.
|
|
33
|
-
'version' => '4.1.
|
|
34
|
-
'reference' => '
|
|
32
|
+
'pretty_version' => 'v4.1.3',
|
|
33
|
+
'version' => '4.1.3.0',
|
|
34
|
+
'reference' => 'bb3ea637e3d131d72acc033cfc2746ee893349fe',
|
|
35
35
|
'type' => 'library',
|
|
36
36
|
'install_path' => __DIR__ . '/../nette/utils',
|
|
37
37
|
'aliases' => array(),
|
|
@@ -20,11 +20,13 @@
|
|
|
20
20
|
"ext-tokenizer": "*"
|
|
21
21
|
},
|
|
22
22
|
"require-dev": {
|
|
23
|
-
"nette/tester": "^2.
|
|
23
|
+
"nette/tester": "^2.6",
|
|
24
24
|
"tracy/tracy": "^2.10",
|
|
25
25
|
"nette/utils": "^4.0",
|
|
26
26
|
"nette/php-generator": "^4.0",
|
|
27
|
-
"phpstan/phpstan
|
|
27
|
+
"phpstan/phpstan": "^2.1@stable",
|
|
28
|
+
"phpstan/extension-installer": "^1.4@stable",
|
|
29
|
+
"nette/phpstan-rules": "^1.0"
|
|
28
30
|
},
|
|
29
31
|
"suggest": {
|
|
30
32
|
"ext-iconv": "to use filters |reverse, |substring",
|
|
@@ -54,5 +56,10 @@
|
|
|
54
56
|
"branch-alias": {
|
|
55
57
|
"dev-master": "3.1-dev"
|
|
56
58
|
}
|
|
59
|
+
},
|
|
60
|
+
"config": {
|
|
61
|
+
"allow-plugins": {
|
|
62
|
+
"phpstan/extension-installer": true
|
|
63
|
+
}
|
|
57
64
|
}
|
|
58
65
|
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
<?php
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* This file is part of the Latte (https://latte.nette.org)
|
|
5
5
|
* Copyright (c) 2008 David Grudl (https://davidgrudl.com)
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
declare(strict_types=1);
|
|
9
|
-
|
|
10
8
|
namespace Latte\Bridges\Tracy;
|
|
11
9
|
|
|
12
10
|
use Latte;
|
|
@@ -40,13 +38,14 @@ class BlueScreenPanel
|
|
|
40
38
|
&& version_compare(Tracy\Debugger::VERSION, '3.0', '<')
|
|
41
39
|
) {
|
|
42
40
|
Tracy\Debugger::addSourceMapper(self::mapLatteSourceCode(...));
|
|
43
|
-
$blueScreen->addFileGenerator(fn(string $file) =>
|
|
41
|
+
$blueScreen->addFileGenerator(fn(string $file) => str_ends_with($file, '.latte')
|
|
44
42
|
? "{block content}\n\$END\$"
|
|
45
43
|
: null);
|
|
46
44
|
}
|
|
47
45
|
}
|
|
48
46
|
|
|
49
47
|
|
|
48
|
+
/** @return ?array{tab: string, panel: string} */
|
|
50
49
|
public static function renderError(?\Throwable $e): ?array
|
|
51
50
|
{
|
|
52
51
|
if ($e instanceof Latte\CompileException && $e->sourceName) {
|
|
@@ -60,7 +59,7 @@ class BlueScreenPanel
|
|
|
60
59
|
: '<b>' . htmlspecialchars($e->sourceName . ($e->position?->line ? ':' . $e->position->line : '')) . '</b>')
|
|
61
60
|
. '</p>')
|
|
62
61
|
. '<pre class="code tracy-code"><div>'
|
|
63
|
-
. BlueScreen::highlightLine(htmlspecialchars($e->sourceCode, ENT_IGNORE, 'UTF-8'), $e->position->line ?? 0, 15, $e->position->column ?? 0)
|
|
62
|
+
. BlueScreen::highlightLine(htmlspecialchars($e->sourceCode ?? '', ENT_IGNORE, 'UTF-8'), $e->position->line ?? 0, 15, $e->position->column ?? 0)
|
|
64
63
|
. '</div></pre>',
|
|
65
64
|
];
|
|
66
65
|
}
|
|
@@ -69,6 +68,7 @@ class BlueScreenPanel
|
|
|
69
68
|
}
|
|
70
69
|
|
|
71
70
|
|
|
71
|
+
/** @return ?array{link: string, label: string} */
|
|
72
72
|
public static function renderUnknownMacro(?\Throwable $e): ?array
|
|
73
73
|
{
|
|
74
74
|
if (
|
|
@@ -79,7 +79,7 @@ class BlueScreenPanel
|
|
|
79
79
|
|| preg_match('#Unknown attribute (n:\w+), did you mean (n:\w+)\?#A', $e->getMessage(), $m))
|
|
80
80
|
) {
|
|
81
81
|
return [
|
|
82
|
-
'link' => Helpers::editorUri($e->sourceName, $e->position?->line, 'fix', $m[1], $m[2]),
|
|
82
|
+
'link' => (string) Helpers::editorUri($e->sourceName, $e->position?->line, 'fix', $m[1], $m[2]),
|
|
83
83
|
'label' => 'fix it',
|
|
84
84
|
];
|
|
85
85
|
}
|
|
@@ -91,7 +91,7 @@ class BlueScreenPanel
|
|
|
91
91
|
/** @return array{file: string, line: int, label: string, active: bool} */
|
|
92
92
|
public static function mapLatteSourceCode(string $file, int $line): ?array
|
|
93
93
|
{
|
|
94
|
-
return ($source = Latte\Helpers::mapCompiledToSource($file, $line)) && @is_file($source['name']) // @ - may trigger error
|
|
94
|
+
return ($source = Latte\Helpers::mapCompiledToSource($file, $line)) && $source['name'] !== null && @is_file($source['name']) // @ - may trigger error
|
|
95
95
|
? ['file' => $source['name'], 'line' => $source['line'] ?? 0, 'column' => $source['column'] ?? 0, 'label' => 'Latte', 'active' => true]
|
|
96
96
|
: null;
|
|
97
97
|
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
<?php
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* This file is part of the Latte (https://latte.nette.org)
|
|
5
5
|
* Copyright (c) 2008 David Grudl (https://davidgrudl.com)
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
declare(strict_types=1);
|
|
9
|
-
|
|
10
8
|
namespace Latte\Bridges\Tracy;
|
|
11
9
|
|
|
12
10
|
use Latte\Engine;
|
|
@@ -25,6 +23,8 @@ class LattePanel implements Tracy\IBarPanel
|
|
|
25
23
|
|
|
26
24
|
/** @var Template[] */
|
|
27
25
|
private array $templates = [];
|
|
26
|
+
|
|
27
|
+
/** @var \stdClass[] */
|
|
28
28
|
private array $list;
|
|
29
29
|
private ?string $name = null;
|
|
30
30
|
|
|
@@ -77,7 +77,8 @@ class LattePanel implements Tracy\IBarPanel
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
return Tracy\Helpers::capture(function () {
|
|
80
|
-
$
|
|
80
|
+
$first = reset($this->templates);
|
|
81
|
+
$name = $this->name ?? ($first ? basename($first->getName()) : '');
|
|
81
82
|
require __DIR__ . '/dist/tab.phtml';
|
|
82
83
|
});
|
|
83
84
|
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
<?php
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* This file is part of the Latte (https://latte.nette.org)
|
|
5
5
|
* Copyright (c) 2008 David Grudl (https://davidgrudl.com)
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
declare(strict_types=1);
|
|
9
|
-
|
|
10
8
|
namespace Latte\Bridges\Tracy;
|
|
11
9
|
|
|
12
10
|
use Latte\Extension;
|
|
@@ -19,7 +17,7 @@ use Tracy;
|
|
|
19
17
|
*/
|
|
20
18
|
class TracyExtension extends Extension
|
|
21
19
|
{
|
|
22
|
-
private LattePanel $panel;
|
|
20
|
+
private readonly LattePanel $panel;
|
|
23
21
|
|
|
24
22
|
|
|
25
23
|
public function __construct(?string $name = null)
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
|
|
3
|
-
?>
|
|
4
|
-
<?php $colors = [
|
|
1
|
+
<?php declare(strict_types=1); ?>
|
|
2
|
+
<?php /** @var \stdClass[] $list */ ?><?php /** @var bool $dumpParameters */ ?><?php $colors = [
|
|
5
3
|
'include' => '#00000052',
|
|
6
4
|
'extends' => '#cd1c1c7d',
|
|
7
5
|
'import' => '#17c35b8f',
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
|
|
3
|
-
?>
|
|
4
|
-
<span title="Latte Templates">
|
|
1
|
+
<?php declare(strict_types=1); ?>
|
|
2
|
+
<?php /** @var string $name */ ?><span title="Latte Templates">
|
|
5
3
|
<svg viewBox="0 0 1793.77 1538.57">
|
|
6
4
|
<path fill="#F1A443" d="M934.87 1166.46c41.84,-2.2 75.14,-17.07 99.91,-44.59 24.77,-27.53 37.16,-58.9 37.16,-94.13 0,-38.53 -12.38,-71.01 -37.16,-97.43 -24.77,-26.42 -58.08,-45.14 -99.91,-56.15l0 292.31zm-67.71 -786.08c-40.74,2.2 -72.66,15.41 -95.79,39.63 -23.12,24.22 -34.68,52.29 -34.68,84.22 0,33.03 11.29,63.03 33.86,90 22.57,26.98 54.77,43.21 96.61,48.72l0 -262.58zm0 1013.98l0 -64.41c-61.66,-5.5 -114.22,-15.97 -157.71,-31.38 -43.49,-15.41 -79.27,-37.43 -107.34,-66.06 -28.07,-28.63 -48.72,-64.13 -61.93,-106.52 -13.21,-42.39 -19.82,-92.76 -19.82,-151.11l198.18 0c4.4,35.23 10.18,64.41 17.34,87.53 7.16,23.12 16.51,41.84 28.07,56.15 11.56,14.31 25.6,25.05 42.11,32.2 16.51,7.16 36.88,12.39 61.1,15.69l0 -318.73c-55.05,-14.31 -102.94,-30.55 -143.67,-48.72 -40.74,-18.16 -74.59,-39.63 -101.57,-64.41 -26.97,-24.77 -47.34,-53.4 -61.1,-85.88 -13.76,-32.48 -20.64,-71.29 -20.64,-116.43 0,-42.93 8.26,-83.39 24.77,-121.38 16.51,-37.98 39.36,-71.29 68.53,-99.91 29.18,-28.63 63.58,-51.19 103.22,-67.71 39.63,-16.51 83.12,-25.32 130.46,-26.42l0 -72.67 67.71 0 0 72.67c203.68,6.6 310.47,113.4 320.38,320.38l-194.87 0c-5.5,-59.45 -18.44,-99.91 -38.81,-121.38 -20.37,-21.47 -49.27,-33.31 -86.7,-35.51l0 284.05c73.76,24.22 132.94,47.89 177.53,71.01 44.59,23.12 78.72,47.61 102.39,73.49 23.67,25.87 39.36,54.22 47.07,85.05 7.71,30.83 11.56,66.61 11.56,107.34 0,48.44 -7.98,92.2 -23.94,131.29 -15.97,39.08 -38.81,72.94 -68.54,101.56 -29.72,28.63 -65.5,51.2 -107.34,67.71 -41.84,16.51 -88.08,25.87 -138.72,28.07l0 64.41 -67.71 0z"/>
|
|
7
5
|
<path fill="#5F4D36" d="M462.33 1411.31c-54.32,0 -98.33,-4.78 -132.03,-14.33 -33.7,-9.56 -59.85,-24.14 -78.46,-43.76 -18.61,-19.62 -30.93,-44.51 -36.97,-74.69 -6.04,-30.18 -9.05,-65.38 -9.05,-105.62 0,-9.05 0.5,-22.13 1.51,-39.23 1.01,-17.1 1.76,-35.21 2.27,-54.32 0.5,-19.11 1.26,-36.97 2.26,-53.56 1.01,-16.6 1.51,-28.42 1.51,-35.46 0,-58.34 -8.8,-99.08 -26.41,-122.22 -17.6,-23.13 -50.05,-34.7 -97.33,-34.7l0 -129.76c47.28,0 79.72,-11.82 97.33,-35.46 17.6,-23.64 26.41,-64.63 26.41,-122.97 0,-7.04 -0.5,-18.86 -1.51,-35.46 -1.01,-16.6 -1.76,-33.95 -2.26,-52.06 -0.5,-18.11 -1.26,-35.71 -2.27,-52.81 -1.01,-17.1 -1.51,-30.18 -1.51,-39.23 0,-40.24 3.02,-75.45 9.05,-105.62 6.03,-30.18 18.36,-55.08 36.97,-74.69 18.61,-19.62 44.76,-34.2 78.46,-43.76 33.7,-9.56 77.71,-14.34 132.03,-14.34l55.83 0 0 123.73 -33.2 0c-44.26,0 -74.18,7.04 -89.78,21.12 -15.59,14.08 -23.39,38.73 -23.39,73.94 0,45.27 1.51,90.03 4.53,134.29 3.02,44.26 4.53,89.02 4.53,134.29 0,21.12 -4.53,40.49 -13.58,58.09 -9.05,17.6 -20.87,33.19 -35.46,46.77 -14.59,13.58 -31.69,24.4 -51.3,32.44 -19.62,8.05 -39.98,13.58 -61.11,16.6 21.12,3.02 41.49,8.55 61.11,16.59 19.61,8.05 36.72,18.86 51.3,32.44 14.59,13.58 26.41,29.17 35.46,46.77 9.05,17.6 13.58,36.97 13.58,58.09 0,45.27 -1.51,90.28 -4.53,135.04 -3.02,44.76 -4.53,89.78 -4.53,135.05 0,35.21 7.79,59.85 23.39,73.94 15.59,14.08 45.52,21.12 89.78,21.12l33.2 0 0 123.73 -55.83 0z"/>
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
<?php
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* This file is part of the Latte (https://latte.nette.org)
|
|
5
5
|
* Copyright (c) 2008 David Grudl (https://davidgrudl.com)
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
declare(strict_types=1);
|
|
9
|
-
|
|
10
8
|
namespace Latte\Compiler;
|
|
11
9
|
|
|
12
10
|
use Latte\Compiler\Nodes\Php\ExpressionNode;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
<?php
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* This file is part of the Latte (https://latte.nette.org)
|
|
5
5
|
* Copyright (c) 2008 David Grudl (https://davidgrudl.com)
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
declare(strict_types=1);
|
|
9
|
-
|
|
10
8
|
namespace Latte\Compiler;
|
|
11
9
|
|
|
12
10
|
use Latte;
|
|
@@ -74,14 +72,13 @@ final class Escaper
|
|
|
74
72
|
];
|
|
75
73
|
|
|
76
74
|
private string $state = '';
|
|
77
|
-
private string $tag = '';
|
|
78
75
|
private string $subType = '';
|
|
79
76
|
|
|
80
77
|
|
|
81
78
|
public function __construct(
|
|
82
79
|
private string $contentType,
|
|
83
80
|
) {
|
|
84
|
-
$this->state = in_array($contentType, [ContentType::Html, ContentType::Xml], true)
|
|
81
|
+
$this->state = in_array($contentType, [ContentType::Html, ContentType::Xml], strict: true)
|
|
85
82
|
? self::HtmlText
|
|
86
83
|
: $contentType;
|
|
87
84
|
}
|
|
@@ -119,7 +116,7 @@ final class Escaper
|
|
|
119
116
|
$type = $el->getAttribute('type');
|
|
120
117
|
$this->subType = $type === true || $type === null
|
|
121
118
|
? self::JavaScript
|
|
122
|
-
: HtmlHelpers::classifyScriptType($type);
|
|
119
|
+
: (is_string($type) ? HtmlHelpers::classifyScriptType($type) : '');
|
|
123
120
|
} elseif ($el->is('style')) {
|
|
124
121
|
$this->subType = self::Css;
|
|
125
122
|
}
|
|
@@ -134,7 +131,6 @@ final class Escaper
|
|
|
134
131
|
public function enterHtmlTag(string $name): void
|
|
135
132
|
{
|
|
136
133
|
$this->state = self::HtmlTag;
|
|
137
|
-
$this->tag = $name;
|
|
138
134
|
}
|
|
139
135
|
|
|
140
136
|
|
|
@@ -236,7 +232,7 @@ final class Escaper
|
|
|
236
232
|
public function escapeContent(string $str): string
|
|
237
233
|
{
|
|
238
234
|
return 'LR\Helpers::convertTo($ʟ_fi, '
|
|
239
|
-
. var_export($this->export(), true) . ', '
|
|
235
|
+
. var_export($this->export(), return: true) . ', '
|
|
240
236
|
. $str
|
|
241
237
|
. ')';
|
|
242
238
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
|
|
3
|
-
declare(strict_types=1);
|
|
1
|
+
<?php declare(strict_types=1);
|
|
4
2
|
|
|
5
3
|
namespace Latte\Compiler;
|
|
6
4
|
|
|
7
5
|
|
|
8
6
|
/**
|
|
7
|
+
* Base class for AST nodes representing parsed template structure.
|
|
8
|
+
*
|
|
9
|
+
* Each node must implement print() to generate PHP code and getIterator()
|
|
10
|
+
* to yield child nodes for compiler passes.
|
|
11
|
+
*
|
|
9
12
|
* @implements \IteratorAggregate<Node>
|
|
10
13
|
*/
|
|
11
14
|
abstract class Node implements \IteratorAggregate
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
<?php
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* This file is part of the Latte (https://latte.nette.org)
|
|
5
5
|
* Copyright (c) 2008 David Grudl (https://davidgrudl.com)
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
declare(strict_types=1);
|
|
9
|
-
|
|
10
8
|
namespace Latte\Compiler;
|
|
11
9
|
|
|
12
10
|
use Latte\Compiler\Nodes\Php;
|
|
@@ -16,9 +14,15 @@ use Latte\Compiler\Nodes\Php\Scalar;
|
|
|
16
14
|
use function array_merge, constant, defined;
|
|
17
15
|
|
|
18
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Utility functions for working with AST nodes.
|
|
19
|
+
*/
|
|
19
20
|
final class NodeHelpers
|
|
20
21
|
{
|
|
21
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* @param callable(Node): bool $filter
|
|
24
|
+
* @return Node[]
|
|
25
|
+
*/
|
|
22
26
|
public static function find(Node $node, callable $filter): array
|
|
23
27
|
{
|
|
24
28
|
$found = [];
|
|
@@ -32,6 +36,7 @@ final class NodeHelpers
|
|
|
32
36
|
}
|
|
33
37
|
|
|
34
38
|
|
|
39
|
+
/** @param callable(Node): bool $filter */
|
|
35
40
|
public static function findFirst(Node $node, callable $filter): ?Node
|
|
36
41
|
{
|
|
37
42
|
$found = null;
|
|
@@ -49,7 +54,7 @@ final class NodeHelpers
|
|
|
49
54
|
public static function clone(Node $node): Node
|
|
50
55
|
{
|
|
51
56
|
return (new NodeTraverser)
|
|
52
|
-
->traverse($node, enter: fn(Node $node) => clone $node);
|
|
57
|
+
->traverse($node, enter: fn(Node $node) => clone $node) ?? throw new \LogicException;
|
|
53
58
|
}
|
|
54
59
|
|
|
55
60
|
|
|
@@ -91,7 +96,11 @@ final class NodeHelpers
|
|
|
91
96
|
? constant($name)
|
|
92
97
|
: throw new \InvalidArgumentException("The constant '$name' is not defined.");
|
|
93
98
|
|
|
94
|
-
} elseif (
|
|
99
|
+
} elseif (
|
|
100
|
+
$node instanceof Expression\ClassConstantFetchNode
|
|
101
|
+
&& $constants
|
|
102
|
+
&& $node->name instanceof Php\IdentifierNode
|
|
103
|
+
) {
|
|
95
104
|
$class = $node->class instanceof Php\NameNode
|
|
96
105
|
? $node->class->toCodeString()
|
|
97
106
|
: self::toValue($node->class, $constants);
|