@marko/language-tools 2.1.0 → 2.1.2
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/dist/index.js +35 -24
- package/dist/index.mjs +35 -24
- package/dist/util/project.d.ts +5 -4
- package/package.json +8 -6
package/dist/index.js
CHANGED
|
@@ -2928,28 +2928,18 @@ __export(project_exports, {
|
|
|
2928
2928
|
getScriptLang: () => getScriptLang,
|
|
2929
2929
|
getTagLookup: () => getTagLookup,
|
|
2930
2930
|
getTypeLibs: () => getTypeLibs,
|
|
2931
|
+
setDefaultCompilerMeta: () => setDefaultCompilerMeta,
|
|
2931
2932
|
setDefaultTypePaths: () => setDefaultTypePaths
|
|
2932
2933
|
});
|
|
2933
2934
|
var import_path2 = __toESM(require("path"));
|
|
2934
2935
|
var import_module = require("module");
|
|
2935
|
-
var defaultCompiler = __toESM(require("@marko/compiler"));
|
|
2936
|
-
var defaultConfig = __toESM(require("@marko/compiler/config"));
|
|
2937
|
-
var defaultTranslator = __toESM(require("@marko/translator-default"));
|
|
2938
2936
|
var import_strip_json_comments = __toESM(require("strip-json-comments"));
|
|
2939
2937
|
var defaultTypeLibs = {};
|
|
2938
|
+
var defaultMeta;
|
|
2940
2939
|
var ignoreErrors = (_err) => {
|
|
2941
2940
|
};
|
|
2942
2941
|
var metaByDir = /* @__PURE__ */ new Map();
|
|
2943
2942
|
var metaByCompiler = /* @__PURE__ */ new Map();
|
|
2944
|
-
var defaultMeta = {
|
|
2945
|
-
compiler: defaultCompiler,
|
|
2946
|
-
config: {
|
|
2947
|
-
...defaultConfig,
|
|
2948
|
-
cache: /* @__PURE__ */ new Map(),
|
|
2949
|
-
translator: defaultTranslator
|
|
2950
|
-
}
|
|
2951
|
-
};
|
|
2952
|
-
defaultCompiler.configure(defaultMeta.config);
|
|
2953
2943
|
function getCompiler(dir) {
|
|
2954
2944
|
return getMeta(dir).compiler;
|
|
2955
2945
|
}
|
|
@@ -3051,7 +3041,9 @@ function getScriptLang(fileName, defaultScriptLang, ts, host) {
|
|
|
3051
3041
|
return scriptLang;
|
|
3052
3042
|
}
|
|
3053
3043
|
function clearCaches() {
|
|
3054
|
-
|
|
3044
|
+
if (defaultMeta) {
|
|
3045
|
+
clearCacheForMeta(defaultMeta);
|
|
3046
|
+
}
|
|
3055
3047
|
for (const project of metaByCompiler.values()) {
|
|
3056
3048
|
clearCacheForMeta(project);
|
|
3057
3049
|
}
|
|
@@ -3059,23 +3051,42 @@ function clearCaches() {
|
|
|
3059
3051
|
function setDefaultTypePaths(defaults) {
|
|
3060
3052
|
Object.assign(defaultTypeLibs, defaults);
|
|
3061
3053
|
}
|
|
3054
|
+
function setDefaultCompilerMeta(compiler, config) {
|
|
3055
|
+
const { translator } = config;
|
|
3056
|
+
if (typeof translator !== "object") {
|
|
3057
|
+
throw new Error("Translator must be fully resolved and loaded.");
|
|
3058
|
+
}
|
|
3059
|
+
defaultMeta = {
|
|
3060
|
+
compiler,
|
|
3061
|
+
config: {
|
|
3062
|
+
...config,
|
|
3063
|
+
cache: /* @__PURE__ */ new Map(),
|
|
3064
|
+
translator
|
|
3065
|
+
}
|
|
3066
|
+
};
|
|
3067
|
+
compiler.configure(defaultMeta.config);
|
|
3068
|
+
}
|
|
3062
3069
|
function getMeta(dir) {
|
|
3063
|
-
if (!dir)
|
|
3070
|
+
if (!dir) {
|
|
3071
|
+
if (!defaultMeta) {
|
|
3072
|
+
throw new Error(
|
|
3073
|
+
"@marko/compiler must be installed or compiler registered."
|
|
3074
|
+
);
|
|
3075
|
+
}
|
|
3064
3076
|
return defaultMeta;
|
|
3077
|
+
}
|
|
3065
3078
|
let cached = metaByDir.get(dir);
|
|
3066
3079
|
if (!cached) {
|
|
3067
3080
|
try {
|
|
3068
3081
|
const require2 = (0, import_module.createRequire)(dir);
|
|
3069
|
-
const
|
|
3070
|
-
cached = metaByCompiler.get(
|
|
3082
|
+
const configPath = require2.resolve("@marko/compiler/config");
|
|
3083
|
+
cached = metaByCompiler.get(configPath);
|
|
3071
3084
|
if (!cached) {
|
|
3072
3085
|
const compiler = require2(import_path2.default.join(
|
|
3073
|
-
|
|
3086
|
+
configPath,
|
|
3074
3087
|
".."
|
|
3075
3088
|
));
|
|
3076
|
-
const config = interopDefault(
|
|
3077
|
-
require2(compilerConfigPath)
|
|
3078
|
-
);
|
|
3089
|
+
const config = interopDefault(require2(configPath));
|
|
3079
3090
|
cached = {
|
|
3080
3091
|
compiler,
|
|
3081
3092
|
config: {
|
|
@@ -3085,10 +3096,10 @@ function getMeta(dir) {
|
|
|
3085
3096
|
}
|
|
3086
3097
|
};
|
|
3087
3098
|
compiler.configure(cached.config);
|
|
3088
|
-
metaByCompiler.set(
|
|
3099
|
+
metaByCompiler.set(configPath, cached);
|
|
3089
3100
|
}
|
|
3090
|
-
} catch {
|
|
3091
|
-
cached =
|
|
3101
|
+
} catch (err) {
|
|
3102
|
+
cached = getMeta();
|
|
3092
3103
|
}
|
|
3093
3104
|
metaByDir.set(dir, cached);
|
|
3094
3105
|
}
|
|
@@ -3106,7 +3117,7 @@ function getTagLookupForProject(meta, dir) {
|
|
|
3106
3117
|
);
|
|
3107
3118
|
} catch {
|
|
3108
3119
|
if (meta !== defaultMeta) {
|
|
3109
|
-
lookup = getTagLookupForProject(
|
|
3120
|
+
lookup = getTagLookupForProject(getMeta(), dir);
|
|
3110
3121
|
}
|
|
3111
3122
|
}
|
|
3112
3123
|
if (cache) {
|
package/dist/index.mjs
CHANGED
|
@@ -2896,28 +2896,18 @@ __export(project_exports, {
|
|
|
2896
2896
|
getScriptLang: () => getScriptLang,
|
|
2897
2897
|
getTagLookup: () => getTagLookup,
|
|
2898
2898
|
getTypeLibs: () => getTypeLibs,
|
|
2899
|
+
setDefaultCompilerMeta: () => setDefaultCompilerMeta,
|
|
2899
2900
|
setDefaultTypePaths: () => setDefaultTypePaths
|
|
2900
2901
|
});
|
|
2901
2902
|
import path2 from "path";
|
|
2902
2903
|
import { createRequire } from "module";
|
|
2903
|
-
import * as defaultCompiler from "@marko/compiler";
|
|
2904
|
-
import * as defaultConfig from "@marko/compiler/config";
|
|
2905
|
-
import * as defaultTranslator from "@marko/translator-default";
|
|
2906
2904
|
import stripJSONComments from "strip-json-comments";
|
|
2907
2905
|
var defaultTypeLibs = {};
|
|
2906
|
+
var defaultMeta;
|
|
2908
2907
|
var ignoreErrors = (_err) => {
|
|
2909
2908
|
};
|
|
2910
2909
|
var metaByDir = /* @__PURE__ */ new Map();
|
|
2911
2910
|
var metaByCompiler = /* @__PURE__ */ new Map();
|
|
2912
|
-
var defaultMeta = {
|
|
2913
|
-
compiler: defaultCompiler,
|
|
2914
|
-
config: {
|
|
2915
|
-
...defaultConfig,
|
|
2916
|
-
cache: /* @__PURE__ */ new Map(),
|
|
2917
|
-
translator: defaultTranslator
|
|
2918
|
-
}
|
|
2919
|
-
};
|
|
2920
|
-
defaultCompiler.configure(defaultMeta.config);
|
|
2921
2911
|
function getCompiler(dir) {
|
|
2922
2912
|
return getMeta(dir).compiler;
|
|
2923
2913
|
}
|
|
@@ -3019,7 +3009,9 @@ function getScriptLang(fileName, defaultScriptLang, ts, host) {
|
|
|
3019
3009
|
return scriptLang;
|
|
3020
3010
|
}
|
|
3021
3011
|
function clearCaches() {
|
|
3022
|
-
|
|
3012
|
+
if (defaultMeta) {
|
|
3013
|
+
clearCacheForMeta(defaultMeta);
|
|
3014
|
+
}
|
|
3023
3015
|
for (const project of metaByCompiler.values()) {
|
|
3024
3016
|
clearCacheForMeta(project);
|
|
3025
3017
|
}
|
|
@@ -3027,23 +3019,42 @@ function clearCaches() {
|
|
|
3027
3019
|
function setDefaultTypePaths(defaults) {
|
|
3028
3020
|
Object.assign(defaultTypeLibs, defaults);
|
|
3029
3021
|
}
|
|
3022
|
+
function setDefaultCompilerMeta(compiler, config) {
|
|
3023
|
+
const { translator } = config;
|
|
3024
|
+
if (typeof translator !== "object") {
|
|
3025
|
+
throw new Error("Translator must be fully resolved and loaded.");
|
|
3026
|
+
}
|
|
3027
|
+
defaultMeta = {
|
|
3028
|
+
compiler,
|
|
3029
|
+
config: {
|
|
3030
|
+
...config,
|
|
3031
|
+
cache: /* @__PURE__ */ new Map(),
|
|
3032
|
+
translator
|
|
3033
|
+
}
|
|
3034
|
+
};
|
|
3035
|
+
compiler.configure(defaultMeta.config);
|
|
3036
|
+
}
|
|
3030
3037
|
function getMeta(dir) {
|
|
3031
|
-
if (!dir)
|
|
3038
|
+
if (!dir) {
|
|
3039
|
+
if (!defaultMeta) {
|
|
3040
|
+
throw new Error(
|
|
3041
|
+
"@marko/compiler must be installed or compiler registered."
|
|
3042
|
+
);
|
|
3043
|
+
}
|
|
3032
3044
|
return defaultMeta;
|
|
3045
|
+
}
|
|
3033
3046
|
let cached = metaByDir.get(dir);
|
|
3034
3047
|
if (!cached) {
|
|
3035
3048
|
try {
|
|
3036
3049
|
const require2 = createRequire(dir);
|
|
3037
|
-
const
|
|
3038
|
-
cached = metaByCompiler.get(
|
|
3050
|
+
const configPath = require2.resolve("@marko/compiler/config");
|
|
3051
|
+
cached = metaByCompiler.get(configPath);
|
|
3039
3052
|
if (!cached) {
|
|
3040
3053
|
const compiler = require2(path2.join(
|
|
3041
|
-
|
|
3054
|
+
configPath,
|
|
3042
3055
|
".."
|
|
3043
3056
|
));
|
|
3044
|
-
const config = interopDefault(
|
|
3045
|
-
require2(compilerConfigPath)
|
|
3046
|
-
);
|
|
3057
|
+
const config = interopDefault(require2(configPath));
|
|
3047
3058
|
cached = {
|
|
3048
3059
|
compiler,
|
|
3049
3060
|
config: {
|
|
@@ -3053,10 +3064,10 @@ function getMeta(dir) {
|
|
|
3053
3064
|
}
|
|
3054
3065
|
};
|
|
3055
3066
|
compiler.configure(cached.config);
|
|
3056
|
-
metaByCompiler.set(
|
|
3067
|
+
metaByCompiler.set(configPath, cached);
|
|
3057
3068
|
}
|
|
3058
|
-
} catch {
|
|
3059
|
-
cached =
|
|
3069
|
+
} catch (err) {
|
|
3070
|
+
cached = getMeta();
|
|
3060
3071
|
}
|
|
3061
3072
|
metaByDir.set(dir, cached);
|
|
3062
3073
|
}
|
|
@@ -3074,7 +3085,7 @@ function getTagLookupForProject(meta, dir) {
|
|
|
3074
3085
|
);
|
|
3075
3086
|
} catch {
|
|
3076
3087
|
if (meta !== defaultMeta) {
|
|
3077
|
-
lookup = getTagLookupForProject(
|
|
3088
|
+
lookup = getTagLookupForProject(getMeta(), dir);
|
|
3078
3089
|
}
|
|
3079
3090
|
}
|
|
3080
3091
|
if (cache) {
|
package/dist/util/project.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type TS from "typescript/lib/tsserverlibrary";
|
|
3
3
|
import type { TaglibLookup } from "@marko/babel-utils";
|
|
4
|
-
import * as
|
|
4
|
+
import type * as Compiler from "@marko/compiler";
|
|
5
5
|
import { ScriptLang } from "../extractors/script";
|
|
6
6
|
export interface Meta {
|
|
7
|
-
compiler: typeof
|
|
8
|
-
config: Omit<
|
|
7
|
+
compiler: typeof Compiler;
|
|
8
|
+
config: Omit<Compiler.Config, "cache" | "translator"> & {
|
|
9
9
|
cache: Map<any, any>;
|
|
10
10
|
translator: {
|
|
11
11
|
runtimeTypes?: string;
|
|
@@ -21,7 +21,7 @@ interface TypeLibs {
|
|
|
21
21
|
markoTypesCode: string | undefined;
|
|
22
22
|
}
|
|
23
23
|
declare const defaultTypeLibs: Partial<TypeLibs>;
|
|
24
|
-
export declare function getCompiler(dir?: string): typeof
|
|
24
|
+
export declare function getCompiler(dir?: string): typeof Compiler;
|
|
25
25
|
export declare function getCache(dir?: string): Map<any, any>;
|
|
26
26
|
export declare function getConfig(dir?: string): Omit<{
|
|
27
27
|
output?: "source" | "html" | "dom" | "hydrate" | "migrate" | undefined;
|
|
@@ -77,4 +77,5 @@ export declare function getTypeLibs(rootDir: string, ts: typeof TS, host: TS.Mod
|
|
|
77
77
|
export declare function getScriptLang(fileName: string, defaultScriptLang: ScriptLang, ts: typeof TS, host: TS.ModuleResolutionHost): ScriptLang;
|
|
78
78
|
export declare function clearCaches(): void;
|
|
79
79
|
export declare function setDefaultTypePaths(defaults: typeof defaultTypeLibs): void;
|
|
80
|
+
export declare function setDefaultCompilerMeta(compiler: typeof Compiler, config: Compiler.Config): void;
|
|
80
81
|
export {};
|
package/package.json
CHANGED
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marko/language-tools",
|
|
3
3
|
"description": "Marko Language Tools",
|
|
4
|
-
"version": "2.1.
|
|
4
|
+
"version": "2.1.2",
|
|
5
5
|
"bugs": "https://github.com/marko-js/language-server/issues/new?template=Bug_report.md",
|
|
6
|
+
"peerDependencies": {
|
|
7
|
+
"@marko/compiler": "^5.28.4"
|
|
8
|
+
},
|
|
6
9
|
"dependencies": {
|
|
7
10
|
"@babel/helper-validator-identifier": "^7.22.5",
|
|
8
|
-
"@babel/parser": "^7.22.
|
|
9
|
-
"@marko/compiler": "5.28.4",
|
|
10
|
-
"@marko/translator-default": "5.26.5",
|
|
11
|
+
"@babel/parser": "^7.22.7",
|
|
11
12
|
"htmljs-parser": "^5.5.0",
|
|
12
13
|
"relative-import-path": "^1.0.0"
|
|
13
14
|
},
|
|
14
15
|
"devDependencies": {
|
|
15
16
|
"@babel/code-frame": "^7.22.5",
|
|
16
|
-
"@marko/compiler": "^5.
|
|
17
|
+
"@marko/compiler": "^5.31.1",
|
|
18
|
+
"@marko/translator-default": "^5.29.2",
|
|
17
19
|
"@types/babel__code-frame": "^7.0.3",
|
|
18
20
|
"@types/babel__helper-validator-identifier": "^7.15.0",
|
|
19
21
|
"@typescript/vfs": "^1.4.0",
|
|
20
|
-
"marko": "^5.
|
|
22
|
+
"marko": "^5.29.2",
|
|
21
23
|
"mitata": "^0.1.6",
|
|
22
24
|
"tsx": "^3.12.7"
|
|
23
25
|
},
|