- #575
c42fed4Thanks @DylanPiercey! - Load the shippedmarko.internal.d.tsfrom the installed@marko/language-toolsrather than resolving it from the project being checked, somtcno longer fails with "Could not resolve marko type files." in pnpm projects where@marko/language-toolsis only a transitive dependency.
- #566
e193905Thanks @DylanPiercey! - Update@marko/compiler,marko, andprettier-plugin-markoto their latest releases.
- #559
68b0ebeThanks @DylanPiercey! - Import tags from installed packages by the name their taglib was resolved through, fixing the types for tags installed into a virtual store (eg pnpm).
- #547
58e58efThanks @DylanPiercey! - Upgradehtmljs-parserto^5.12.1, which fixes a parse error where a</>comparison inside astatic/server/clientfunction with a return-type annotation was treated as a generic bracket, swallowing the rest of the template (e.g. breaking "Show Extracted Script Output").
- #541
6d688b7Thanks @vwong! - FixgetComponentNameleaving a trailing]in the generated identifier when a component file has a bracketed variant suffix (e.g.my-button[variant].marko). The stray]produced invalid TypeScript (const MyButtonVariant] = new …) which caused TS1005/TS1134/TS1389 parse errors.
-
#530
1091b69Thanks @DylanPiercey! - Name the default export of auto-discoverable Marko components (files under acomponents/tagsdirectory) after the tag, so auto-imports readimport MyButton from "..."instead of TypeScript's file-derivedMyButtonMarko(andFooinstead ofindexforfoo/index.marko). -
#534
6450d18Thanks @DylanPiercey! - Merge a tag's shorthand class names (.foo) with a literalclassattribute (eg<button.btn class="foo"/>) the same way Marko does at compile time, instead of emitting twoclasskeys. This removes the spurious "An object literal cannot have multiple properties with the same name" TypeScript error while still type-checking theclassattribute value against the tag'sclasstype.
-
#527
e72de5bThanks @DylanPiercey! - Add CSS module support (*.module.css,*.module.scss,*.module.less).Importing a CSS module from a
.markofile now produces a virtual TypeScript module typed from the stylesheet's class and id selectors. This enables completion, hover, go-to-definition, find-references and rename for the imported class/id names, and surfaces type errors for names that do not exist.@marko/type-check(mtc) checks the same usage and emits the conventionalfoo.module.css.d.tsdeclaration. In editors, Marko only resolves*.module.cssimports for.markofiles — imports in plain.ts/.tsxfiles fall through to normal TypeScript resolution (which picks up that emitted declaration, or whatever CSS-modules setup you already use), so Marko never hijacks resolution for non-Marko files.Marko's embedded CSS module blocks (
<style/styles>, including<style.scss/styles>etc.) are typed the same way: the tag variable becomes an object of the block's class/id names instead of anHTMLStyleElement, sostyles.foois type-checked and its references/renames stay in sync with the selectors in the<style>block.
8570e73Thanks @DylanPiercey! - Upgrade dependencies.
- #520
e986bcbThanks @DylanPiercey! - Expose a template's resolved runtime api as a"~api"export so tooling can read whether a template uses thetagsorclassapi (e.g.import { "~api" as API } from "./template.marko") without importingInputand the circular dependencies that can cause.
-
#512
35a1050Thanks @DylanPiercey! - Fix return type extraction when outputting jsdoc. -
#512
35a1050Thanks @DylanPiercey! - Fix mutaton tracking when a for loop is used without a variable declaration. -
#512
35a1050Thanks @DylanPiercey! - Refactor script extractor to allow for multi in/out source mapping. This allows for hoisted tag variables from multiple sources to all be sourcemapped correctly. -
#512
35a1050Thanks @DylanPiercey! - Fix scope mutation tracking when assigning with a destructure pattern. -
#512
35a1050Thanks @DylanPiercey! - Fix overlapping mappings in extractor now always leading to consistent tokens. This was a problem for eg default values which sometimes linked to the value attribute instead of the literal value expression. -
#512
35a1050Thanks @DylanPiercey! - Refactor extractor to have "anchor" feature which allows mapping back arbitrary code points from the typescript to arbitrary source code. Previously we relied on injected comment mapping and whitespace copying which was both brittle and noisy.
- #507
3401932Thanks @DylanPiercey! - Detect theInputtype when it is imported into the module scope (egimport { Input } from "..."orimport type { Input } from "...") instead of only an inlineinterface/typedeclaration.
-
#500
4be96c5Thanks @DylanPiercey! - Fix several smaller Windows path handling issues: auto import completion details no longer show absolute paths, go to definition for tags declared in amarko.jsonnow jumps to the tag's entry, and tags discovered from npm packages show their package documentation again. Also fix taglib cache invalidation not firing formarko.jsonchanges (onlymarko-tag.json) and a stateful regex that could flip the default script language between projects. -
#500
4be96c5Thanks @DylanPiercey! - Fix incorrect diagnostic and mapping positions on Windows. File paths are now canonicalized to native separators before script extraction so the generated code (which embeds relative import paths for custom tags) is identical regardless of how the file name was spelled, and extracted snapshot caches now use canonicalized keys so cache eviction works when TypeScript and the file system disagree on path separators.
- #495
5e05dffThanks @DylanPiercey! - Prefer intersection for dynamic tag input types to improve type checking performance.
-
#474
f988d10Thanks @DylanPiercey! - Improve dynamic attribute tag typings. -
#472
df74e9cThanks @DylanPiercey! - Refactor language tooling around script parsing and scope tracking to allow for caching.
- #468
2572019Thanks @DylanPiercey! - Support bound attribute modifier syntax.
- #465
d3aa173Thanks @LuLaValva! - Bound values with types
- #460
0072196Thanks @DylanPiercey! - Upgrade marko, remove babel references.
- #458
c5d7722Thanks @LuLaValva! - Type narrowing fix for attribute tags
- #456
0750620Thanks @DylanPiercey! - Fix issue with outputting unnecessary const for native tag codegen.
- #454
8a76656Thanks @DylanPiercey! - Align reading own tag variables within body content with the Marko 6 runtime. (Fixes a regression with recursive define tag types).
- #452
14a5679Thanks @DylanPiercey! - Ensure render level errors map back to tag names.
- #448
d90cea6Thanks @DylanPiercey! - Fix define tag tag var hoisting and other type issues.
a857d7fThanks @DylanPiercey! - Fix attr tag typing when tag has any type.
- #444
2337baaThanks @DylanPiercey! - Improve attr tag types.
-
#442
38f9374Thanks @DylanPiercey! - Hoist types from control flow now do not cause the return type of the hoist to be undefined. -
#442
38f9374Thanks @DylanPiercey! - Align hoist types to match latest Marko 6.
- #439
7ac4f33Thanks @DylanPiercey! - Fix issue with identifier bound attributes in a nested scope.
-
#437
de8c189Thanks @DylanPiercey! - Improve tag var mutation codegen to be separate from scope handling which fixes an issue where some tags change handlers were not being output. -
#437
91da58bThanks @DylanPiercey! - Optimize native tag var codegen.
-
#435
4ed10bdThanks @DylanPiercey! - Avoid using Marko.Out as a type unless class api. -
#435
4ed10bdThanks @DylanPiercey! - Improve scope hoisting types. -
#435
26be418Thanks @DylanPiercey! - Ignore change handler param types when defined as non function.
- #433
9ba6f1cThanks @DylanPiercey! - Align hoisted tag variable types with marko 6 runtime.
- #431
b47d633Thanks @LuLaValva! - pnpm support when @marko/compiler is a transitive dependency
- #425
6c4cbdaThanks @DylanPiercey! - Improve tags api interop support.
-
#423
7f173d6Thanks @DylanPiercey! - Relax restrictions on rendering unknown templates. -
#423
7f173d6Thanks @DylanPiercey! - Only type check script tag body when in tags api.
- #421
f201739Thanks @DylanPiercey! - Fix issue with generics applied to external component files.
- #418
67ae86cThanks @DylanPiercey! - Ensure component file imports are always normalized.
- #415
53d27e5Thanks @DylanPiercey! - Improve jsdoc component types.
- #413
1936e3cThanks @DylanPiercey! - Ensure component.js file types are always a Marko.Component.
- #411
c0357a1Thanks @DylanPiercey! - Fix issue with d.marko generation for jsdoc Marko files with an external component file.
-
#410
d46a5eeThanks @DylanPiercey! - Fix issues with types after a bound attribute. -
#407
9f4ffe6Thanks @LuLaValva! - Add until attribute to for
- #405
2e4c2d6Thanks @LuLaValva! - Allow falsy values for tag
- #398
70bb404Thanks @DylanPiercey! - Fix if tag scope hoisting.
-
#395
5650739Thanks @DylanPiercey! - Improve scope hoisting types. -
#395
a2dcef2Thanks @DylanPiercey! - Avoid applying component class generics in generated tags api types.
- #392
ca1a4b5Thanks @DylanPiercey! - Upgrade deps.
-
#386
9930a45Thanks @vwong! - Update Type definitions for for-of loop -
#391
4a09275Thanks @DylanPiercey! - Fix multi level scope hoisting types.
- #384
5afb642Thanks @DylanPiercey! - Expose source/generated range helpers and use that when remapping generated traces in mtc.
- #380
f3abd99Thanks @DylanPiercey! - Fix issue where overwritten native tags were not getting the correct types.
- #378
ef455c3Thanks @DylanPiercey! - Fix return api overloads for tags api components.
- #376
01c4053Thanks @DylanPiercey! - Bump package dependencies.
- #370
985e4f1Thanks @DylanPiercey! - Improve typings for tag parameters.
- #365
1fc5558Thanks @DylanPiercey! - Update caches to be based on translator resolved path instead of compiler path.
- #361
9b54683Thanks @LuLaValva! - Fix type stub issue
- #359
31106f0Thanks @DylanPiercey! - Ensure empty tag name types default to "div".
- #357
9e243c1Thanks @LuLaValva! - Fix TS for<for of>loops
-
#351
aa8d9d5Thanks @LuLaValva! - Fix HTML comments that contain*/ -
#353
4e3d8b8Thanks @LuLaValva! - Fix semicolon bug
- #349
4ec0467Thanks @LuLaValva! - Fix tag vars in unreachable bodies
-
#346
71b049bThanks @LuLaValva! - A11y liter: remove false positives for empty-heading rule -
#348
70494a1Thanks @LuLaValva! - Fix setters to tag vars in parent scopes in presence of tag params
- #344
ed43a8dThanks @rturnq! - Ignore types for non-Marko templates to remove errors for missing types
- #342
263a8f5Thanks @rturnq! - Reduce recursion in complex input types to prevent excessive depth errors
- #340
4607c2dThanks @DylanPiercey! - Fix issue where tag var mutations at multiple levels were causing higher levels to be non writable.
- #338
7226d59Thanks @DylanPiercey! - Avoid outputtingcomponentrelated code when targeting tags api.
- #336
a4954b6Thanks @LuLaValva! - Fix type narrowing for attr tags, reducing need foras const
- #334
b87f4b2Thanks @LuLaValva! - Fix some flawed boolean logic
- #332
f21cfe4Thanks @LuLaValva! - Fix TypeScript for nested attribute tags in for-of loops
- #330
808a3b5Thanks @DylanPiercey! - Improve fallback for dynamic tag.
- #328
091726bThanks @DylanPiercey! - Improve attribute tag type generation and completions.
- #326
b65c79bThanks @DylanPiercey! - Fix type issue in the internal language tool types.
-
#324
258fa7aThanks @DylanPiercey! - Improve body content processing for tags api. -
#324
258fa7aThanks @DylanPiercey! - Improve repeated attribute tag processing.
- #322
c99ca6cThanks @DylanPiercey! - Improve<for>tag codegen and types.
- #320
b806534Thanks @DylanPiercey! - Upgrade all deps.
- #316
11f8953Thanks @DylanPiercey! - Allow await inside script tags.
- #314
a839384Thanks @DylanPiercey! - Ensure script tags are only processed as javascript when they contain no other attributes or placeholders in the body content.
- #311
7019798Thanks @DylanPiercey! - Fix catastrophic backtracking in some regexps.
- #309
6f91eecThanks @DylanPiercey! - Include script tag contents in script output.
- #309
d51d086Thanks @DylanPiercey! - Add highlighting for html-script and html-style tags.
- #307
38b62ecThanks @DylanPiercey! - Update core tag names to align with Marko 6.
- #305
2414702Thanks @LuLaValva! -clientandserverstatements,satisfieskeyword, explicit type annotations onlet
-
#304
124ad10Thanks @DylanPiercey! - Improve script parsing performance. -
#304
f3ca04aThanks @DylanPiercey! - Update deps.
- #292
f46beb1Thanks @DylanPiercey! - Upgrade dependencies.
- #290
9c5ad9bThanks @DylanPiercey! - Upgrade deps.
- #288
bfbdd4bThanks @DylanPiercey! - Upgrade deps
- #286
f585449Thanks @DylanPiercey! - Revert change to renderBody codegen which caused a regression with the<await>tag.
- #284
f2f3c2cThanks @LuLaValva! - Fix type errors with nested conditional change
- #281
aff5f68Thanks @DylanPiercey! - Align attribute tag type generation with new types from Marko core.
-
#277
2f0f701Thanks @LuLaValva! - Allow type narrowing when attr tags are in for loops -
#279
2ad9437Thanks @DylanPiercey! - Upgrade deps, fix issues related to recent typescript changes. -
#279
aefe17dThanks @DylanPiercey! - Update local variable tag name interpolation to align with Marko 6 and only support PascalCase identifiers. -
#280
abbb30aThanks @DylanPiercey! - Align tag arguments type generation with Marko 6.
- #273
6f1932fThanks @LuLaValva! - Ignore modifiers in html extractor
- #264
44cddf7Thanks @LuLaValva! - Allow formatting with forced mode
- #262
521a0daThanks @DylanPiercey! - Fix issue with typescript output when using static attr tags, dynamic attr tags and a renderBody all together.
- #258
b7c4fe8Thanks @LuLaValva! - prevent $signal from being declared but never read
-
#257
4a90968Thanks @DylanPiercey! - Add typeings for $signal variable in tags api. -
#255
7580d1dThanks @DylanPiercey! - Update dependencies.
-
#251
1a614e7Thanks @DylanPiercey! - Update dependencies -
#251
36a769cThanks @DylanPiercey! - Only inject component method completions for event handler attributes. Fixes issue withno-update-ifdirective.
- #248
64478f6Thanks @LuLaValva! - Fix regex for component filenames
- #244
8132732Thanks @LuLaValva! - Fix types for imported d.marko files
- #241
842b5baThanks @DylanPiercey! - Automatically add.jsextensions where necessary in files output by@marko/type-checkto work better with native es modules.
-
#237
a59b23dThanks @DylanPiercey! - Fix issue where mtc was stripingInputtype if it was an empty interface with an extends clause. -
#237
b0f43ceThanks @DylanPiercey! - Correctly resolve ts errors related to Symbol.iterator in the template.
- #235
4524d4cThanks @DylanPiercey! - Surface errors from default export at the top of the Marko file.
- #231
52187acThanks @DylanPiercey! - Fix missing package dependency for language-tools package
- #229
6c7e1a9Thanks @DylanPiercey! - Addbyattribute types for<for>tag.
-
#221
f2646bdThanks @LuLaValva! - Improve axe-core linter -
#224
a60e2f9Thanks @DylanPiercey! - Upgrade package dependencies
- #219
301bdf4Thanks @LuLaValva! - fix in attribute tags within if statements
-
#212
5fbd91dThanks @DylanPiercey! - When considering if a Marko file should be parsed as typescript, it will now default to typescript for any file containingtsconfig. Previously this would exclusively matchtsconfig.jsonwhich would fail with files liketsconfig.build.json. -
#214
97787c2Thanks @DylanPiercey! - Upgrade dependencies.
-
#209
dbcee5aThanks @DylanPiercey! - Upgrade dependencies. -
#209
374392eThanks @DylanPiercey! - Fix issue where directory names instead of file names were being passed tocreateRequirecausing some lookups to be one directory too high and missing resolving installed modules.
-
#204
6c97a4aThanks @DylanPiercey! - Fallback to loading compiler relative to the Marko runtime if not hoisted. -
#204
6c97a4aThanks @DylanPiercey! - When no default compiler registered, avoid swallowing original error when unable to load compiler.
- #200
e05c6f6Thanks @DylanPiercey! - Fix issue with default compiler not being found.
-
#197
ab2da8cThanks @DylanPiercey! - Lazily load the default compiler and translator. -
#197
ab2da8cThanks @DylanPiercey! - Move @marko/compiler to a peerDependency of @marko/type-check to avoid conflicts.
- #189
e7f82ccThanks @DylanPiercey! - Add accessibility linting for Marko templates.
- #186
5992e17Thanks @DylanPiercey! - Fixes an issue where @marko/type-check was emitting files within node_modules.
- #183
f2c791aThanks @DylanPiercey! - Fix importing a commonjs component file with JSDOC type generation.
- #181
15cf245Thanks @DylanPiercey! - Fixes an issue where Marko files within node_modules without an explicitmarko.jsonwere not being loaded. Internally this switches to a new api that should not be tripped up by either export maps and / or a missingmarko.jsonwhen trying to resolve Marko files.
-
#179
b743baaThanks @DylanPiercey! - The format command should now propely output export statements which can be parsed by the Marko parser. -
#179
b743baaThanks @DylanPiercey! - Downgrade the strip-json-comments module to match the version used by Marko. The latest version does not work in commonjs environments.
- #171
6259092Thanks @DylanPiercey! - Fix issue where trailing commas in the arguments of some tags would produce invalid typescript.
-
#167
bf5f285Thanks @DylanPiercey! - Strip out attribute modifiers from typescript output. -
#167
1be5a8bThanks @DylanPiercey! - Fix issue where scriptlets were not able to be mixed with attribute tags. -
#167
1be5a8bThanks @DylanPiercey! - Fix issue where else/else-if tags with attribute tags were getting incorrect completions.
- #164
50e43f1Thanks @DylanPiercey! - Upgrade dependencies.
-
#162
67ef015Thanks @DylanPiercey! - Upgrade dependencies. -
#162
52bc92fThanks @DylanPiercey! - Ensure Marko directives added to all tag input types.
- #160
a0e13d8Thanks @DylanPiercey! - Fix issue where some renderer types were not being constrained enough.
- #158
de0df11Thanks @DylanPiercey! - Upgrade dependencies.
- #153
c147a8eThanks @DylanPiercey! - Fix regression that caused ts-plugin to crash and a failure to resolve the internal Marko types.
- #151
25e4131Thanks @DylanPiercey! - Refactor script extractor and expose Processor helpers (shared between CLI and language server)
- #151
25e4131Thanks @DylanPiercey! - Upgrade internal dependencies
- #148
e823df5Thanks @DylanPiercey! - No longer use a defaultInputtype ofComponent['input']for inline class components.
-
#146
6dcc3b6Thanks @DylanPiercey! - Prefer only importing external components files as a type. -
#146
6dcc3b6Thanks @DylanPiercey! - Update attr tag generation to be inline with marko-js/marko#1909. -
#146
6dcc3b6Thanks @DylanPiercey! - Removeresolve-fromas a dependency. -
#146
6dcc3b6Thanks @DylanPiercey! - Upgrade internal dependencies. -
#146
6dcc3b6Thanks @DylanPiercey! - ImproveInputdefault types when working inferred from a class / component file.
- #142
0f14402Thanks @DylanPiercey! - Improve typing of @marko/run projects.
- #132
0fbdfa3Thanks @DylanPiercey! - Adds TypeScript support.