sveld 0.14.1 → 0.15.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/CHANGELOG.md CHANGED
@@ -10,6 +10,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
10
10
  - add isAccessor field to API
11
11
  - update Markdown writer to generate a separate table for accessors -->
12
12
 
13
+ ## [0.15.2](https://github.com/carbon-design-system/sveld/releases/tag/v0.15.2) - 2022-05-13
14
+
15
+ - dispatched event type without detail should default to `null`, not `any`
16
+
17
+ ## [0.15.1](https://github.com/carbon-design-system/sveld/releases/tag/v0.15.1) - 2022-05-01
18
+
19
+ - function exported from `<script context="module">` should be typed as functions, not types
20
+
21
+ ## [0.15.0](https://github.com/carbon-design-system/sveld/releases/tag/v0.15.0) - 2022-04-14
22
+
23
+ - add `jsonOptions.outDir` option to emit JSON files for individual components
24
+ - add `sveltekit:reload` attributes to props that extend `a` attributes
25
+
13
26
  ## [0.14.1](https://github.com/carbon-design-system/sveld/releases/tag/v0.14.1) - 2022-04-09
14
27
 
15
28
  - svg `$$restProps` should extend the correct attributes
package/README.md CHANGED
@@ -238,6 +238,23 @@ sveld({
238
238
  });
239
239
  ```
240
240
 
241
+ #### `jsonOptions.outDir`
242
+
243
+ If `json` is `true`, a `COMPONENT_API.json` file will be generated at the root of your project. This file contains documentation for all components.
244
+
245
+ Use the `jsonOptions.outDir` option to specify the folder for individual JSON files to be emitted.
246
+
247
+ ```js
248
+ sveld({
249
+ json: true,
250
+ jsonOptions: {
251
+ // an individual JSON file will be generated for each component API
252
+ // e.g. "docs/Button.api.json"
253
+ outDir: "docs",
254
+ },
255
+ });
256
+ ```
257
+
241
258
  ### Publishing to NPM
242
259
 
243
260
  TypeScript definitions are outputted to the `types` folder by default. Don't forget to include the folder in your `package.json` when publishing the package to NPM.
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
13
36
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
37
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
38
  if (ar || !(i in from)) {
@@ -21,7 +44,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
21
44
  };
22
45
  exports.__esModule = true;
23
46
  var compiler_1 = require("svelte/compiler");
24
- var commentParser = require("comment-parser");
47
+ var commentParser = __importStar(require("comment-parser"));
25
48
  var element_tag_map_1 = require("./element-tag-map");
26
49
  var DEFAULT_SLOT_NAME = "__default__";
27
50
  var ComponentParser = /** @class */ (function () {
@@ -115,18 +138,25 @@ var ComponentParser = /** @class */ (function () {
115
138
  });
116
139
  }
117
140
  };
118
- ComponentParser.prototype.addDispatchedEvent = function (name, detail) {
141
+ ComponentParser.prototype.addDispatchedEvent = function (_a) {
142
+ var name = _a.name, detail = _a.detail, has_argument = _a.has_argument;
119
143
  if (name === undefined)
120
144
  return;
145
+ /**
146
+ * `e.detail` should be `null` if the dispatcher
147
+ * is not provided a second argument and if
148
+ * `@event` is not specified.
149
+ */
150
+ var default_detail = !has_argument && !detail ? "null" : ComponentParser.assignValue(detail);
121
151
  if (this.events.has(name)) {
122
152
  var existing_event = this.events.get(name);
123
- this.events.set(name, __assign(__assign({}, existing_event), { detail: existing_event.detail === undefined ? ComponentParser.assignValue(detail) : existing_event.detail }));
153
+ this.events.set(name, __assign(__assign({}, existing_event), { detail: existing_event.detail === undefined ? default_detail : existing_event.detail }));
124
154
  }
125
155
  else {
126
156
  this.events.set(name, {
127
157
  type: "dispatched",
128
158
  name: name,
129
- detail: ComponentParser.assignValue(detail)
159
+ detail: default_detail
130
160
  });
131
161
  }
132
162
  };
@@ -154,7 +184,7 @@ var ComponentParser = /** @class */ (function () {
154
184
  _this.addSlot(name, type);
155
185
  break;
156
186
  case "event":
157
- _this.addDispatchedEvent(name, type);
187
+ _this.addDispatchedEvent({ name: name, detail: type, has_argument: false });
158
188
  break;
159
189
  case "typedef":
160
190
  _this.typedefs.set(name, {
@@ -453,11 +483,16 @@ var ComponentParser = /** @class */ (function () {
453
483
  });
454
484
  if (dispatcher_name !== undefined) {
455
485
  callees.forEach(function (callee) {
456
- var _a, _b;
486
+ var _a;
457
487
  if (callee.name === dispatcher_name) {
458
488
  var event_name = (_a = callee.arguments[0]) === null || _a === void 0 ? void 0 : _a.value;
459
- var event_detail = (_b = callee.arguments[1]) === null || _b === void 0 ? void 0 : _b.value;
460
- _this.addDispatchedEvent(event_name, event_detail);
489
+ var event_argument = callee.arguments[1];
490
+ var event_detail = event_argument === null || event_argument === void 0 ? void 0 : event_argument.value;
491
+ _this.addDispatchedEvent({
492
+ name: event_name,
493
+ detail: event_detail,
494
+ has_argument: Boolean(event_argument)
495
+ });
461
496
  }
462
497
  });
463
498
  }
package/lib/cli.js CHANGED
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
13
36
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
37
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
38
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -46,11 +69,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
69
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
70
  }
48
71
  };
72
+ var __importDefault = (this && this.__importDefault) || function (mod) {
73
+ return (mod && mod.__esModule) ? mod : { "default": mod };
74
+ };
49
75
  exports.__esModule = true;
50
76
  exports.cli = void 0;
51
- var Rollup = require("rollup");
52
- var svelte = require("rollup-plugin-svelte");
53
- var plugin_node_resolve_1 = require("@rollup/plugin-node-resolve");
77
+ var Rollup = __importStar(require("rollup"));
78
+ var svelte = __importStar(require("rollup-plugin-svelte"));
79
+ var plugin_node_resolve_1 = __importDefault(require("@rollup/plugin-node-resolve"));
54
80
  var rollup_plugin_1 = require("./rollup-plugin");
55
81
  var get_svelte_entry_1 = require("./get-svelte-entry");
56
82
  function cli(process) {
@@ -1,8 +1,31 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  exports.__esModule = true;
3
26
  exports.getSvelteEntry = void 0;
4
- var fs = require("fs");
5
- var path = require("path");
27
+ var fs = __importStar(require("fs"));
28
+ var path = __importStar(require("path"));
6
29
  /**
7
30
  * Get the file path entry point for uncompiled Svelte source code
8
31
  * Expects a "svelte" field in the consumer's `package.json`
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,30 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  exports.__esModule = true;
3
26
  exports.parseExports = void 0;
4
- var acorn = require("acorn");
27
+ var acorn = __importStar(require("acorn"));
5
28
  function parseExports(source) {
6
29
  var ast = acorn.parse(source, {
7
30
  ecmaVersion: "latest",
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
13
36
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
37
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
38
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -46,16 +69,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
69
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
70
  }
48
71
  };
72
+ var __importDefault = (this && this.__importDefault) || function (mod) {
73
+ return (mod && mod.__esModule) ? mod : { "default": mod };
74
+ };
49
75
  exports.__esModule = true;
50
76
  exports.writeOutput = exports.generateBundle = void 0;
51
- var fs = require("fs");
52
- var fsp = require("fs/promises");
53
- var path = require("path");
54
- var fg = require("fast-glob");
55
- var writer_ts_definitions_1 = require("./writer/writer-ts-definitions");
56
- var writer_json_1 = require("./writer/writer-json");
57
- var writer_markdown_1 = require("./writer/writer-markdown");
58
- var ComponentParser_1 = require("./ComponentParser");
77
+ var fs = __importStar(require("fs"));
78
+ var fsp = __importStar(require("fs/promises"));
79
+ var path = __importStar(require("path"));
80
+ var fg = __importStar(require("fast-glob"));
81
+ var writer_ts_definitions_1 = __importDefault(require("./writer/writer-ts-definitions"));
82
+ var writer_json_1 = __importDefault(require("./writer/writer-json"));
83
+ var writer_markdown_1 = __importDefault(require("./writer/writer-markdown"));
84
+ var ComponentParser_1 = __importDefault(require("./ComponentParser"));
59
85
  var get_svelte_entry_1 = require("./get-svelte-entry");
60
86
  var parse_exports_1 = require("./parse-exports");
61
87
  var compiler_1 = require("svelte/compiler");
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -36,9 +59,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
59
  }
37
60
  };
38
61
  exports.__esModule = true;
39
- var path = require("path");
40
- var fsp = require("fs/promises");
41
- var prettier = require("prettier");
62
+ var path = __importStar(require("path"));
63
+ var fsp = __importStar(require("fs/promises"));
64
+ var prettier = __importStar(require("prettier"));
42
65
  var Writer = /** @class */ (function () {
43
66
  function Writer(options) {
44
67
  this.options = options;
@@ -14,8 +14,11 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
17
20
  exports.__esModule = true;
18
- var Writer_1 = require("./Writer");
21
+ var Writer_1 = __importDefault(require("./Writer"));
19
22
  var WriterMarkdown = /** @class */ (function (_super) {
20
23
  __extends(WriterMarkdown, _super);
21
24
  function WriterMarkdown(options) {
@@ -3,5 +3,6 @@ export interface WriteJsonOptions {
3
3
  input: string;
4
4
  inputDir: string;
5
5
  outFile: string;
6
+ outDir?: string;
6
7
  }
7
8
  export default function writeJson(components: ComponentDocs, options: WriteJsonOptions): Promise<void>;
@@ -46,11 +46,38 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
49
52
  exports.__esModule = true;
50
- var path = require("path");
51
- var path_1 = require("../path");
52
- var Writer_1 = require("./Writer");
53
- function writeJson(components, options) {
53
+ var path_1 = __importDefault(require("path"));
54
+ var path_2 = require("../path");
55
+ var Writer_1 = __importDefault(require("./Writer"));
56
+ function writeJsonComponents(components, options) {
57
+ return __awaiter(this, void 0, void 0, function () {
58
+ var output;
59
+ return __generator(this, function (_a) {
60
+ output = Array.from(components, function (_a) {
61
+ var moduleName = _a[0], component = _a[1];
62
+ return (__assign(__assign({}, component), { filePath: (0, path_2.normalizeSeparators)(path_1["default"].join(options.inputDir, path_1["default"].normalize(component.filePath))) }));
63
+ }).sort(function (a, b) {
64
+ if (a.moduleName < b.moduleName)
65
+ return -1;
66
+ if (a.moduleName > b.moduleName)
67
+ return 1;
68
+ return 0;
69
+ });
70
+ output.map(function (c) {
71
+ var outFile = path_1["default"].resolve(path_1["default"].join(options.outDir || "", "".concat(c.moduleName, ".api.json")));
72
+ var writer = new Writer_1["default"]({ parser: "json", printWidth: 80 });
73
+ console.log("created ".concat(outFile, "\"\n"));
74
+ return writer.write(outFile, JSON.stringify(c));
75
+ });
76
+ return [2 /*return*/];
77
+ });
78
+ });
79
+ }
80
+ function writeJsonLocal(components, options) {
54
81
  return __awaiter(this, void 0, void 0, function () {
55
82
  var output, output_path, writer;
56
83
  return __generator(this, function (_a) {
@@ -60,7 +87,7 @@ function writeJson(components, options) {
60
87
  total: components.size,
61
88
  components: Array.from(components, function (_a) {
62
89
  var moduleName = _a[0], component = _a[1];
63
- return (__assign(__assign({}, component), { filePath: (0, path_1.normalizeSeparators)(path.join(options.inputDir, path.normalize(component.filePath))) }));
90
+ return (__assign(__assign({}, component), { filePath: (0, path_2.normalizeSeparators)(path_1["default"].join(options.inputDir, path_1["default"].normalize(component.filePath))) }));
64
91
  }).sort(function (a, b) {
65
92
  if (a.moduleName < b.moduleName)
66
93
  return -1;
@@ -69,7 +96,7 @@ function writeJson(components, options) {
69
96
  return 0;
70
97
  })
71
98
  };
72
- output_path = path.join(process.cwd(), options.outFile);
99
+ output_path = path_1["default"].join(process.cwd(), options.outFile);
73
100
  writer = new Writer_1["default"]({ parser: "json", printWidth: 80 });
74
101
  return [4 /*yield*/, writer.write(output_path, JSON.stringify(output))];
75
102
  case 1:
@@ -80,4 +107,23 @@ function writeJson(components, options) {
80
107
  });
81
108
  });
82
109
  }
110
+ function writeJson(components, options) {
111
+ return __awaiter(this, void 0, void 0, function () {
112
+ return __generator(this, function (_a) {
113
+ switch (_a.label) {
114
+ case 0:
115
+ if (!options.outDir) return [3 /*break*/, 2];
116
+ return [4 /*yield*/, writeJsonComponents(components, options)];
117
+ case 1:
118
+ _a.sent();
119
+ return [3 /*break*/, 4];
120
+ case 2: return [4 /*yield*/, writeJsonLocal(components, options)];
121
+ case 3:
122
+ _a.sent();
123
+ _a.label = 4;
124
+ case 4: return [2 /*return*/];
125
+ }
126
+ });
127
+ });
128
+ }
83
129
  exports["default"] = writeJson;
@@ -44,8 +44,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
44
44
  }
45
45
  return to.concat(ar || Array.prototype.slice.call(from));
46
46
  };
47
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48
+ return (mod && mod.__esModule) ? mod : { "default": mod };
49
+ };
47
50
  exports.__esModule = true;
48
- var WriterMarkdown_1 = require("./WriterMarkdown");
51
+ var WriterMarkdown_1 = __importDefault(require("./WriterMarkdown"));
49
52
  var writer_ts_definitions_1 = require("./writer-ts-definitions");
50
53
  var PROP_TABLE_HEADER = "| Prop name | Kind | Reactive | Type | Default value | Description |\n| :- | :- | :- | :- |\n";
51
54
  var SLOT_TABLE_HEADER = "| Slot name | Default | Props | Fallback |\n| :- | :- | :- | :- |\n";
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -53,11 +76,14 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
53
76
  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
54
77
  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
55
78
  };
79
+ var __importDefault = (this && this.__importDefault) || function (mod) {
80
+ return (mod && mod.__esModule) ? mod : { "default": mod };
81
+ };
56
82
  exports.__esModule = true;
57
83
  exports.writeTsDefinition = exports.getTypeDefs = exports.formatTsProps = void 0;
58
- var path = require("path");
84
+ var path = __importStar(require("path"));
59
85
  var create_exports_1 = require("../create-exports");
60
- var Writer_1 = require("./Writer");
86
+ var Writer_1 = __importDefault(require("./Writer"));
61
87
  var ANY_TYPE = "any";
62
88
  var EMPTY_STR = "";
63
89
  function formatTsProps(props) {
@@ -113,7 +139,9 @@ function genPropDef(def) {
113
139
  "\n",
114
140
  "\n /**\n * SvelteKit attribute to enable data prefetching\n * if a link is hovered over or touched on mobile.\n * @see https://kit.svelte.dev/docs/a-options#sveltekit-prefetch\n * @default false\n */\n \"sveltekit:prefetch\"?: boolean;\n ",
115
141
  "\n",
116
- "\n /**\n * SvelteKit attribute to prevent scrolling\n * after the link is clicked.\n * @see https://kit.svelte.dev/docs/a-options#sveltekit-prefetch\n * @default false\n */\n \"sveltekit:noscroll\"?: boolean;\n ",
142
+ "\n /**\n * SvelteKit attribute to trigger a full page\n * reload after the link is clicked.\n * @see https://kit.svelte.dev/docs/a-options#sveltekit-reload\n * @default false\n */\n \"sveltekit:reload\"?: boolean;\n ",
143
+ "\n",
144
+ "\n /**\n * SvelteKit attribute to prevent scrolling\n * after the link is clicked.\n * @see https://kit.svelte.dev/docs/a-options#sveltekit-noscroll\n * @default false\n */\n \"sveltekit:noscroll\"?: boolean;\n ",
117
145
  ].join("\n"));
118
146
  }
119
147
  }
@@ -193,7 +221,14 @@ function genModuleExports(def) {
193
221
  .map(function (prop) {
194
222
  var _a;
195
223
  var prop_comments = [addCommentLine((_a = prop.description) === null || _a === void 0 ? void 0 : _a.replace(/\n/g, "\n* "))].filter(Boolean).join("");
196
- return "\n ".concat(prop_comments.length > 0 ? "/**\n".concat(prop_comments, "*/") : EMPTY_STR, "\n export type ").concat(prop.name, " = ").concat(prop.type || ANY_TYPE, ";");
224
+ var type_def = "export type ".concat(prop.name, " = ").concat(prop.type || ANY_TYPE, ";");
225
+ var is_function = prop.type && /=>/.test(prop.type);
226
+ if (is_function) {
227
+ var _b = prop.type.split("=>"), first = _b[0], second = _b[1], rest = _b.slice(2);
228
+ var rest_type = rest.map(function (item) { return "=>" + item; }).join("");
229
+ type_def = "export declare function ".concat(prop.name).concat(first, ":").concat(second).concat(rest_type, ";");
230
+ }
231
+ return "\n ".concat(prop_comments.length > 0 ? "/**\n".concat(prop_comments, "*/") : EMPTY_STR, "\n ").concat(type_def);
197
232
  })
198
233
  .join("\n");
199
234
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sveld",
3
- "version": "0.14.1",
3
+ "version": "0.15.2",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Generate TypeScript definitions for your Svelte components.",
6
6
  "main": "./lib/index.js",
@@ -16,28 +16,28 @@
16
16
  "prepack": "tsc"
17
17
  },
18
18
  "dependencies": {
19
- "@rollup/plugin-node-resolve": "^11.0.1",
19
+ "@rollup/plugin-node-resolve": "^13.2.1",
20
20
  "acorn": "^8.7.0",
21
- "comment-parser": "^1.3.0",
21
+ "comment-parser": "^1.3.1",
22
22
  "fast-glob": "^3.2.11",
23
- "prettier": "^2.5.1",
24
- "rollup": "^2.68.0",
23
+ "prettier": "^2.6.2",
24
+ "rollup": "^2.70.2",
25
25
  "rollup-plugin-svelte": "^7.1.0",
26
- "svelte": "^3.46.4",
27
- "svelte-preprocess": "^4.10.4",
28
- "typescript": "^4.5.5"
26
+ "svelte": "^3.47.0",
27
+ "svelte-preprocess": "^4.10.6",
28
+ "typescript": "^4.6.3"
29
29
  },
30
30
  "devDependencies": {
31
- "@sveltejs/vite-plugin-svelte": "next",
32
- "@types/node": "^17.0.21",
33
- "@types/prettier": "^2.4.4",
34
- "carbon-components-svelte": "^0.61.1",
35
- "carbon-preprocess-svelte": "^0.6.0",
36
- "codemirror": "^5.65.2",
37
- "prettier-plugin-svelte": "^2.6.0",
38
- "svelte-highlight": "^5.3.0",
39
- "vite": "^2.8.6",
40
- "vitest": "^0.6.0"
31
+ "@sveltejs/vite-plugin-svelte": "1.0.0-next.41",
32
+ "@types/node": "^17.0.25",
33
+ "@types/prettier": "^2.6.0",
34
+ "carbon-components-svelte": "^0.63.1",
35
+ "carbon-preprocess-svelte": "^0.9.0",
36
+ "codemirror": "^5.65.3",
37
+ "prettier-plugin-svelte": "^2.7.0",
38
+ "svelte-highlight": "^6.0.1",
39
+ "vite": "^2.9.5",
40
+ "vitest": "^0.9.4"
41
41
  },
42
42
  "bin": {
43
43
  "sveld": "./cli.js"