@embeddable.com/sdk-core 3.14.6 → 3.14.7-next.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embeddable.com/sdk-core",
3
- "version": "3.14.6",
3
+ "version": "3.14.7-next.1",
4
4
  "description": "Core Embeddable SDK module responsible for web-components bundling and publishing.",
5
5
  "keywords": [
6
6
  "embeddable",
@@ -41,7 +41,7 @@
41
41
  "license": "MIT",
42
42
  "dependencies": {
43
43
  "@embeddable.com/core": "2.10.4",
44
- "@embeddable.com/sdk-utils": "0.8.0",
44
+ "@embeddable.com/sdk-utils": "0.8.1-next.0",
45
45
  "@inquirer/prompts": "^7.2.1",
46
46
  "@stencil/core": "^4.23.0",
47
47
  "@swc-node/register": "^1.10.9",
@@ -101,6 +101,9 @@ describe("buildTypes", () => {
101
101
  expect(build).toHaveBeenCalledWith({
102
102
  build: {
103
103
  emptyOutDir: false,
104
+ sourcemap: true,
105
+ minify: true,
106
+ rollupOptions: undefined,
104
107
  lib: {
105
108
  entry: "resolvedPath",
106
109
  fileName: "embeddable-types",
@@ -134,6 +137,49 @@ import '../relativePath';`,
134
137
  expect(getContentHash).not.toHaveBeenCalled();
135
138
  expect(fs.rename).not.toHaveBeenCalled();
136
139
  });
140
+
141
+ it("should use dev optimizations when watch mode is enabled", async () => {
142
+ await buildTypes({
143
+ ...config,
144
+ dev: { watch: true, logger: undefined, sys: undefined },
145
+ } as unknown as ResolvedEmbeddableConfig);
146
+
147
+ expect(build).toHaveBeenCalledWith({
148
+ build: {
149
+ emptyOutDir: false,
150
+ sourcemap: false,
151
+ minify: false,
152
+ rollupOptions: { treeshake: false },
153
+ lib: {
154
+ entry: "resolvedPath",
155
+ fileName: "embeddable-types",
156
+ formats: ["es"],
157
+ },
158
+ outDir: "build",
159
+ },
160
+ logLevel: "error",
161
+ });
162
+ });
163
+
164
+ it("should rename the built file with hash when not in watch mode", async () => {
165
+ // Reset the mock to control it better
166
+ vi.mocked(path.resolve).mockReset();
167
+
168
+ // Mock the calls in order they happen
169
+ vi.mocked(path.resolve)
170
+ .mockReturnValueOnce("resolvedPath") // typesFilePath in build()
171
+ .mockReturnValueOnce("resolvedPath") // typesFilePath for readFile
172
+ .mockReturnValueOnce("build/embeddable-types.js") // source file for rename
173
+ .mockReturnValueOnce("build/embeddable-types-somehash.js"); // target file for rename
174
+
175
+ await buildTypes(config as unknown as ResolvedEmbeddableConfig);
176
+
177
+ expect(fs.rename).toHaveBeenCalledWith(
178
+ "build/embeddable-types.js",
179
+ "build/embeddable-types-somehash.js"
180
+ );
181
+ });
182
+
137
183
  it("should import types from installed libraries if present", async () => {
138
184
  const configWithLibrary = {
139
185
  ...config,
package/src/buildTypes.ts CHANGED
@@ -66,6 +66,9 @@ async function build(ctx: ResolvedEmbeddableConfig) {
66
66
  logLevel: "error",
67
67
  build: {
68
68
  emptyOutDir: false,
69
+ sourcemap: ctx.dev?.watch ? (false as const) : true, // No sourcemaps for types in dev
70
+ minify: !ctx.dev?.watch, // No minification in dev
71
+ rollupOptions: ctx.dev?.watch ? { treeshake: false } : undefined,
69
72
  lib: {
70
73
  entry: typesFilePath,
71
74
  formats: ["es"],
@@ -55,9 +55,9 @@ describe("defineConfig", () => {
55
55
  "bundleHash": undefined,
56
56
  "componentDir": "/embeddable-sdk/packages/core-sdk",
57
57
  "componentLibraries": [],
58
+ "customCanvasCss": "/embeddable-sdk/packages/core-sdk",
58
59
  "customizationFile": "/embeddable-sdk/packages/core-sdk",
59
60
  "errorFallbackComponent": "/embeddable-sdk/packages/core-sdk",
60
- "globalCss": "/embeddable-sdk/packages/core-sdk",
61
61
  "lifecycleHooksFile": "/embeddable-sdk/packages/core-sdk",
62
62
  "modelsSrc": "/embeddable-sdk/packages/core-sdk",
63
63
  "presetsSrc": "/embeddable-sdk/packages/core-sdk",
@@ -30,7 +30,7 @@ export type EmbeddableConfig = {
30
30
  componentsSrc?: string;
31
31
  modelsSrc?: string;
32
32
  presetsSrc?: string;
33
- globalCss?: string;
33
+ customCanvasCss?: string;
34
34
  viteConfig?: {
35
35
  resolve?: {
36
36
  alias?: Record<string, string>;
@@ -59,7 +59,7 @@ export type ResolvedEmbeddableConfig = {
59
59
  presetsSrc: string;
60
60
  buildDir: string;
61
61
  tmpDir: string;
62
- globalCss: string;
62
+ customCanvasCss: string;
63
63
  componentDir: string;
64
64
  stencilBuild: string;
65
65
  archiveFile: string;
@@ -155,7 +155,7 @@ export const embeddableConfigSchema = z
155
155
  modelsSrc: z.string().optional(),
156
156
  presetsSrc: z.string().optional(),
157
157
  componentsSrc: z.string().optional(),
158
- globalCss: z.string().optional(),
158
+ customCanvasCss: z.string().optional(),
159
159
  customizationFile: z.string().optional(),
160
160
  lifecycleHooksFile: z.string().optional(),
161
161
  componentLibraries: z
@@ -204,7 +204,7 @@ export default (config: EmbeddableConfig) => {
204
204
  modelsSrc = "src",
205
205
  presetsSrc = "src",
206
206
  componentsSrc = "src",
207
- globalCss = "src/global.css",
207
+ customCanvasCss = "src/custom-canvas.css",
208
208
  viteConfig = {},
209
209
  rollupOptions = {},
210
210
  componentLibraries = [],
@@ -257,7 +257,7 @@ export default (config: EmbeddableConfig) => {
257
257
  presetsSrc: presetsSrc ? path.resolve(clientRoot, presetsSrc) : undefined,
258
258
  buildDir: path.resolve(clientRoot, ".embeddable-build"),
259
259
  tmpDir: path.resolve(clientRoot, ".embeddable-tmp"),
260
- globalCss: path.resolve(clientRoot, globalCss),
260
+ customCanvasCss: path.resolve(clientRoot, customCanvasCss),
261
261
  componentDir: path.resolve(clientRoot, ".embeddable-build", "component"),
262
262
  stencilBuild: path.resolve(
263
263
  clientRoot,