@servicetitan/startup 38.2.0 → 38.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/metadata-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AAG5D,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CA0DxE"}
1
+ {"version":3,"file":"metadata-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/metadata-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AAI5D,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CA0DxE"}
@@ -12,6 +12,7 @@ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
12
12
  const _path = /*#__PURE__*/ _interop_require_default(require("path"));
13
13
  const _core = require("../../core");
14
14
  const _utils = require("./utils");
15
+ const _virtualmodulesplugin = require("./virtual-modules-plugin");
15
16
  function _interop_require_default(obj) {
16
17
  return obj && obj.__esModule ? obj : {
17
18
  default: obj
@@ -41,7 +42,7 @@ function metadataPlugin(context) {
41
42
  css: [],
42
43
  js: [
43
44
  '@vite/client',
44
- '@id/__x00__VIRTUAL./index'
45
+ `@id/__x00__${_virtualmodulesplugin.VIRTUAL_PREFIX.slice(1)}./index`
45
46
  ]
46
47
  };
47
48
  const entrypointsPath = _path.default.join(outDir, 'entrypoints.json');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/vite/plugins/metadata-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext, generateMetadata } from '../../core';\nimport { getCssFileNames } from './utils';\n\nexport function metadataPlugin(context: BuildContext): Plugin | undefined {\n if (!context.package.isWebComponent) {\n return;\n }\n\n let outDir = '';\n\n return {\n name: 'st:metadata',\n configResolved(config) {\n outDir = config.build.outDir;\n },\n configureServer(server) {\n server.httpServer?.once('listening', () => {\n const address = server.httpServer?.address();\n if (!address || typeof address === 'string') {\n return;\n }\n\n const entrypoints = {\n module: true,\n port: address.port,\n css: [],\n js: ['@vite/client', '@id/__x00__VIRTUAL./index'],\n };\n\n const entrypointsPath = path.join(outDir, 'entrypoints.json');\n fs.mkdirSync(path.dirname(entrypointsPath), { recursive: true });\n fs.writeFileSync(entrypointsPath, JSON.stringify(entrypoints, null, 2));\n\n generateMetadata(context);\n });\n },\n writeBundle(options, bundle) {\n if (!options.dir) {\n throw new Error(\n 'web-component build requires output.dir — output.file is not supported'\n );\n }\n\n const js: string[] = [];\n\n for (const chunk of Object.values(bundle)) {\n if (chunk.type === 'chunk' && chunk.isEntry) {\n js.push(chunk.fileName);\n }\n }\n\n const css = getCssFileNames(bundle);\n\n fs.writeFileSync(\n path.join(options.dir, 'entrypoints.json'),\n JSON.stringify({ module: true, css, js }, null, 2)\n );\n\n generateMetadata(context);\n },\n };\n}\n"],"names":["metadataPlugin","context","package","isWebComponent","outDir","name","configResolved","config","build","configureServer","server","httpServer","once","address","entrypoints","module","port","css","js","entrypointsPath","path","join","fs","mkdirSync","dirname","recursive","writeFileSync","JSON","stringify","generateMetadata","writeBundle","options","bundle","dir","Error","chunk","Object","values","type","isEntry","push","fileName","getCssFileNames"],"mappings":";;;;+BAMgBA;;;eAAAA;;;2DAND;6DACE;sBAE8B;uBACf;;;;;;AAEzB,SAASA,eAAeC,OAAqB;IAChD,IAAI,CAACA,QAAQC,OAAO,CAACC,cAAc,EAAE;QACjC;IACJ;IAEA,IAAIC,SAAS;IAEb,OAAO;QACHC,MAAM;QACNC,gBAAeC,MAAM;YACjBH,SAASG,OAAOC,KAAK,CAACJ,MAAM;QAChC;QACAK,iBAAgBC,MAAM;gBAClBA;aAAAA,qBAAAA,OAAOC,UAAU,cAAjBD,yCAAAA,mBAAmBE,IAAI,CAAC,aAAa;oBACjBF;gBAAhB,MAAMG,WAAUH,qBAAAA,OAAOC,UAAU,cAAjBD,yCAAAA,mBAAmBG,OAAO;gBAC1C,IAAI,CAACA,WAAW,OAAOA,YAAY,UAAU;oBACzC;gBACJ;gBAEA,MAAMC,cAAc;oBAChBC,QAAQ;oBACRC,MAAMH,QAAQG,IAAI;oBAClBC,KAAK,EAAE;oBACPC,IAAI;wBAAC;wBAAgB;qBAA4B;gBACrD;gBAEA,MAAMC,kBAAkBC,aAAI,CAACC,IAAI,CAACjB,QAAQ;gBAC1CkB,WAAE,CAACC,SAAS,CAACH,aAAI,CAACI,OAAO,CAACL,kBAAkB;oBAAEM,WAAW;gBAAK;gBAC9DH,WAAE,CAACI,aAAa,CAACP,iBAAiBQ,KAAKC,SAAS,CAACd,aAAa,MAAM;gBAEpEe,IAAAA,sBAAgB,EAAC5B;YACrB;QACJ;QACA6B,aAAYC,OAAO,EAAEC,MAAM;YACvB,IAAI,CAACD,QAAQE,GAAG,EAAE;gBACd,MAAM,IAAIC,MACN;YAER;YAEA,MAAMhB,KAAe,EAAE;YAEvB,KAAK,MAAMiB,SAASC,OAAOC,MAAM,CAACL,QAAS;gBACvC,IAAIG,MAAMG,IAAI,KAAK,WAAWH,MAAMI,OAAO,EAAE;oBACzCrB,GAAGsB,IAAI,CAACL,MAAMM,QAAQ;gBAC1B;YACJ;YAEA,MAAMxB,MAAMyB,IAAAA,sBAAe,EAACV;YAE5BV,WAAE,CAACI,aAAa,CACZN,aAAI,CAACC,IAAI,CAACU,QAAQE,GAAG,EAAE,qBACvBN,KAAKC,SAAS,CAAC;gBAAEb,QAAQ;gBAAME;gBAAKC;YAAG,GAAG,MAAM;YAGpDW,IAAAA,sBAAgB,EAAC5B;QACrB;IACJ;AACJ"}
1
+ {"version":3,"sources":["../../../src/vite/plugins/metadata-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext, generateMetadata } from '../../core';\nimport { getCssFileNames } from './utils';\nimport { VIRTUAL_PREFIX } from './virtual-modules-plugin';\n\nexport function metadataPlugin(context: BuildContext): Plugin | undefined {\n if (!context.package.isWebComponent) {\n return;\n }\n\n let outDir = '';\n\n return {\n name: 'st:metadata',\n configResolved(config) {\n outDir = config.build.outDir;\n },\n configureServer(server) {\n server.httpServer?.once('listening', () => {\n const address = server.httpServer?.address();\n if (!address || typeof address === 'string') {\n return;\n }\n\n const entrypoints = {\n module: true,\n port: address.port,\n css: [],\n js: ['@vite/client', `@id/__x00__${VIRTUAL_PREFIX.slice(1)}./index`],\n };\n\n const entrypointsPath = path.join(outDir, 'entrypoints.json');\n fs.mkdirSync(path.dirname(entrypointsPath), { recursive: true });\n fs.writeFileSync(entrypointsPath, JSON.stringify(entrypoints, null, 2));\n\n generateMetadata(context);\n });\n },\n writeBundle(options, bundle) {\n if (!options.dir) {\n throw new Error(\n 'web-component build requires output.dir — output.file is not supported'\n );\n }\n\n const js: string[] = [];\n\n for (const chunk of Object.values(bundle)) {\n if (chunk.type === 'chunk' && chunk.isEntry) {\n js.push(chunk.fileName);\n }\n }\n\n const css = getCssFileNames(bundle);\n\n fs.writeFileSync(\n path.join(options.dir, 'entrypoints.json'),\n JSON.stringify({ module: true, css, js }, null, 2)\n );\n\n generateMetadata(context);\n },\n };\n}\n"],"names":["metadataPlugin","context","package","isWebComponent","outDir","name","configResolved","config","build","configureServer","server","httpServer","once","address","entrypoints","module","port","css","js","VIRTUAL_PREFIX","slice","entrypointsPath","path","join","fs","mkdirSync","dirname","recursive","writeFileSync","JSON","stringify","generateMetadata","writeBundle","options","bundle","dir","Error","chunk","Object","values","type","isEntry","push","fileName","getCssFileNames"],"mappings":";;;;+BAOgBA;;;eAAAA;;;2DAPD;6DACE;sBAE8B;uBACf;sCACD;;;;;;AAExB,SAASA,eAAeC,OAAqB;IAChD,IAAI,CAACA,QAAQC,OAAO,CAACC,cAAc,EAAE;QACjC;IACJ;IAEA,IAAIC,SAAS;IAEb,OAAO;QACHC,MAAM;QACNC,gBAAeC,MAAM;YACjBH,SAASG,OAAOC,KAAK,CAACJ,MAAM;QAChC;QACAK,iBAAgBC,MAAM;gBAClBA;aAAAA,qBAAAA,OAAOC,UAAU,cAAjBD,yCAAAA,mBAAmBE,IAAI,CAAC,aAAa;oBACjBF;gBAAhB,MAAMG,WAAUH,qBAAAA,OAAOC,UAAU,cAAjBD,yCAAAA,mBAAmBG,OAAO;gBAC1C,IAAI,CAACA,WAAW,OAAOA,YAAY,UAAU;oBACzC;gBACJ;gBAEA,MAAMC,cAAc;oBAChBC,QAAQ;oBACRC,MAAMH,QAAQG,IAAI;oBAClBC,KAAK,EAAE;oBACPC,IAAI;wBAAC;wBAAgB,CAAC,WAAW,EAAEC,oCAAc,CAACC,KAAK,CAAC,GAAG,OAAO,CAAC;qBAAC;gBACxE;gBAEA,MAAMC,kBAAkBC,aAAI,CAACC,IAAI,CAACnB,QAAQ;gBAC1CoB,WAAE,CAACC,SAAS,CAACH,aAAI,CAACI,OAAO,CAACL,kBAAkB;oBAAEM,WAAW;gBAAK;gBAC9DH,WAAE,CAACI,aAAa,CAACP,iBAAiBQ,KAAKC,SAAS,CAAChB,aAAa,MAAM;gBAEpEiB,IAAAA,sBAAgB,EAAC9B;YACrB;QACJ;QACA+B,aAAYC,OAAO,EAAEC,MAAM;YACvB,IAAI,CAACD,QAAQE,GAAG,EAAE;gBACd,MAAM,IAAIC,MACN;YAER;YAEA,MAAMlB,KAAe,EAAE;YAEvB,KAAK,MAAMmB,SAASC,OAAOC,MAAM,CAACL,QAAS;gBACvC,IAAIG,MAAMG,IAAI,KAAK,WAAWH,MAAMI,OAAO,EAAE;oBACzCvB,GAAGwB,IAAI,CAACL,MAAMM,QAAQ;gBAC1B;YACJ;YAEA,MAAM1B,MAAM2B,IAAAA,sBAAe,EAACV;YAE5BV,WAAE,CAACI,aAAa,CACZN,aAAI,CAACC,IAAI,CAACU,QAAQE,GAAG,EAAE,qBACvBN,KAAKC,SAAS,CAAC;gBAAEf,QAAQ;gBAAME;gBAAKC;YAAG,GAAG,MAAM;YAGpDa,IAAAA,sBAAgB,EAAC9B;QACrB;IACJ;AACJ"}
@@ -1,4 +1,5 @@
1
1
  import type { Plugin } from 'vite';
2
2
  import { BuildContext } from '../../core';
3
+ export declare const VIRTUAL_PREFIX = "\0virtual-modules:";
3
4
  export declare function virtualModulesPlugin(context: BuildContext): Plugin | undefined;
4
5
  //# sourceMappingURL=virtual-modules-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-modules-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/virtual-modules-plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;AAE1D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CA0C9E"}
1
+ {"version":3,"file":"virtual-modules-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/virtual-modules-plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAyC9E"}
@@ -2,9 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "virtualModulesPlugin", {
6
- enumerable: true,
7
- get: function() {
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get VIRTUAL_PREFIX () {
13
+ return VIRTUAL_PREFIX;
14
+ },
15
+ get virtualModulesPlugin () {
8
16
  return virtualModulesPlugin;
9
17
  }
10
18
  });
@@ -15,8 +23,8 @@ function _interop_require_default(obj) {
15
23
  default: obj
16
24
  };
17
25
  }
26
+ const VIRTUAL_PREFIX = '\0virtual-modules:';
18
27
  function virtualModulesPlugin(context) {
19
- const VIRTUAL_PREFIX = '\0virtual-modules:';
20
28
  const VIRTUAL_ID_PATTERN = new RegExp(`^${VIRTUAL_PREFIX}`);
21
29
  const { destination } = context.package;
22
30
  const modules = (0, _core.virtualModules)(context);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/vite/plugins/virtual-modules-plugin.ts"],"sourcesContent":["import path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext, virtualModules } from '../../core';\n\nexport function virtualModulesPlugin(context: BuildContext): Plugin | undefined {\n const VIRTUAL_PREFIX = '\\0virtual-modules:';\n const VIRTUAL_ID_PATTERN = new RegExp(`^${VIRTUAL_PREFIX}`);\n\n const { destination } = context.package;\n\n const modules = virtualModules(context);\n\n const pluginModules: Record<string, string> = {};\n\n if (modules.index) {\n pluginModules['./index'] = modules.index;\n }\n\n if (modules.designSystem) {\n pluginModules['./design-system.css'] = modules.designSystem;\n }\n\n if (Object.keys(pluginModules).length === 0) {\n return;\n }\n\n return {\n name: 'st:virtual-modules',\n resolveId(source, importer) {\n if (pluginModules[source]) {\n return VIRTUAL_PREFIX + source;\n }\n if (importer?.startsWith(VIRTUAL_PREFIX) && source.startsWith('.')) {\n const importerNoPrefix = importer.slice(VIRTUAL_PREFIX.length);\n if (pluginModules[importerNoPrefix]) {\n return path.resolve(destination, source + '.js');\n }\n }\n },\n load: {\n filter: { id: VIRTUAL_ID_PATTERN },\n handler(id) {\n return pluginModules[id.slice(VIRTUAL_PREFIX.length)];\n },\n },\n };\n}\n"],"names":["virtualModulesPlugin","context","VIRTUAL_PREFIX","VIRTUAL_ID_PATTERN","RegExp","destination","package","modules","virtualModules","pluginModules","index","designSystem","Object","keys","length","name","resolveId","source","importer","startsWith","importerNoPrefix","slice","path","resolve","load","filter","id","handler"],"mappings":";;;;+BAIgBA;;;eAAAA;;;6DAJC;sBAE4B;;;;;;AAEtC,SAASA,qBAAqBC,OAAqB;IACtD,MAAMC,iBAAiB;IACvB,MAAMC,qBAAqB,IAAIC,OAAO,CAAC,CAAC,EAAEF,gBAAgB;IAE1D,MAAM,EAAEG,WAAW,EAAE,GAAGJ,QAAQK,OAAO;IAEvC,MAAMC,UAAUC,IAAAA,oBAAc,EAACP;IAE/B,MAAMQ,gBAAwC,CAAC;IAE/C,IAAIF,QAAQG,KAAK,EAAE;QACfD,aAAa,CAAC,UAAU,GAAGF,QAAQG,KAAK;IAC5C;IAEA,IAAIH,QAAQI,YAAY,EAAE;QACtBF,aAAa,CAAC,sBAAsB,GAAGF,QAAQI,YAAY;IAC/D;IAEA,IAAIC,OAAOC,IAAI,CAACJ,eAAeK,MAAM,KAAK,GAAG;QACzC;IACJ;IAEA,OAAO;QACHC,MAAM;QACNC,WAAUC,MAAM,EAAEC,QAAQ;YACtB,IAAIT,aAAa,CAACQ,OAAO,EAAE;gBACvB,OAAOf,iBAAiBe;YAC5B;YACA,IAAIC,CAAAA,qBAAAA,+BAAAA,SAAUC,UAAU,CAACjB,oBAAmBe,OAAOE,UAAU,CAAC,MAAM;gBAChE,MAAMC,mBAAmBF,SAASG,KAAK,CAACnB,eAAeY,MAAM;gBAC7D,IAAIL,aAAa,CAACW,iBAAiB,EAAE;oBACjC,OAAOE,aAAI,CAACC,OAAO,CAAClB,aAAaY,SAAS;gBAC9C;YACJ;QACJ;QACAO,MAAM;YACFC,QAAQ;gBAAEC,IAAIvB;YAAmB;YACjCwB,SAAQD,EAAE;gBACN,OAAOjB,aAAa,CAACiB,GAAGL,KAAK,CAACnB,eAAeY,MAAM,EAAE;YACzD;QACJ;IACJ;AACJ"}
1
+ {"version":3,"sources":["../../../src/vite/plugins/virtual-modules-plugin.ts"],"sourcesContent":["import path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext, virtualModules } from '../../core';\n\nexport const VIRTUAL_PREFIX = '\\0virtual-modules:';\n\nexport function virtualModulesPlugin(context: BuildContext): Plugin | undefined {\n const VIRTUAL_ID_PATTERN = new RegExp(`^${VIRTUAL_PREFIX}`);\n\n const { destination } = context.package;\n\n const modules = virtualModules(context);\n\n const pluginModules: Record<string, string> = {};\n\n if (modules.index) {\n pluginModules['./index'] = modules.index;\n }\n\n if (modules.designSystem) {\n pluginModules['./design-system.css'] = modules.designSystem;\n }\n\n if (Object.keys(pluginModules).length === 0) {\n return;\n }\n\n return {\n name: 'st:virtual-modules',\n resolveId(source, importer) {\n if (pluginModules[source]) {\n return VIRTUAL_PREFIX + source;\n }\n if (importer?.startsWith(VIRTUAL_PREFIX) && source.startsWith('.')) {\n const importerNoPrefix = importer.slice(VIRTUAL_PREFIX.length);\n if (pluginModules[importerNoPrefix]) {\n return path.resolve(destination, source + '.js');\n }\n }\n },\n load: {\n filter: { id: VIRTUAL_ID_PATTERN },\n handler(id) {\n return pluginModules[id.slice(VIRTUAL_PREFIX.length)];\n },\n },\n };\n}\n"],"names":["VIRTUAL_PREFIX","virtualModulesPlugin","context","VIRTUAL_ID_PATTERN","RegExp","destination","package","modules","virtualModules","pluginModules","index","designSystem","Object","keys","length","name","resolveId","source","importer","startsWith","importerNoPrefix","slice","path","resolve","load","filter","id","handler"],"mappings":";;;;;;;;;;;QAIaA;eAAAA;;QAEGC;eAAAA;;;6DANC;sBAE4B;;;;;;AAEtC,MAAMD,iBAAiB;AAEvB,SAASC,qBAAqBC,OAAqB;IACtD,MAAMC,qBAAqB,IAAIC,OAAO,CAAC,CAAC,EAAEJ,gBAAgB;IAE1D,MAAM,EAAEK,WAAW,EAAE,GAAGH,QAAQI,OAAO;IAEvC,MAAMC,UAAUC,IAAAA,oBAAc,EAACN;IAE/B,MAAMO,gBAAwC,CAAC;IAE/C,IAAIF,QAAQG,KAAK,EAAE;QACfD,aAAa,CAAC,UAAU,GAAGF,QAAQG,KAAK;IAC5C;IAEA,IAAIH,QAAQI,YAAY,EAAE;QACtBF,aAAa,CAAC,sBAAsB,GAAGF,QAAQI,YAAY;IAC/D;IAEA,IAAIC,OAAOC,IAAI,CAACJ,eAAeK,MAAM,KAAK,GAAG;QACzC;IACJ;IAEA,OAAO;QACHC,MAAM;QACNC,WAAUC,MAAM,EAAEC,QAAQ;YACtB,IAAIT,aAAa,CAACQ,OAAO,EAAE;gBACvB,OAAOjB,iBAAiBiB;YAC5B;YACA,IAAIC,CAAAA,qBAAAA,+BAAAA,SAAUC,UAAU,CAACnB,oBAAmBiB,OAAOE,UAAU,CAAC,MAAM;gBAChE,MAAMC,mBAAmBF,SAASG,KAAK,CAACrB,eAAec,MAAM;gBAC7D,IAAIL,aAAa,CAACW,iBAAiB,EAAE;oBACjC,OAAOE,aAAI,CAACC,OAAO,CAAClB,aAAaY,SAAS;gBAC9C;YACJ;QACJ;QACAO,MAAM;YACFC,QAAQ;gBAAEC,IAAIvB;YAAmB;YACjCwB,SAAQD,EAAE;gBACN,OAAOjB,aAAa,CAACiB,GAAGL,KAAK,CAACrB,eAAec,MAAM,EAAE;YACzD;QACJ;IACJ;AACJ"}
@@ -1,5 +1,6 @@
1
1
  export * from './css-loader';
2
2
  export * from './less-loader';
3
+ export * from './sass-loader';
3
4
  export * from './style-loader';
4
5
  export type * from './types';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/loaders/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,mBAAmB,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/loaders/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,mBAAmB,SAAS,CAAC"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  _export_star(require("./css-loader"), exports);
6
6
  _export_star(require("./less-loader"), exports);
7
+ _export_star(require("./sass-loader"), exports);
7
8
  _export_star(require("./style-loader"), exports);
8
9
  function _export_star(from, to) {
9
10
  Object.keys(from).forEach(function(k) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/loaders/index.ts"],"sourcesContent":["export * from './css-loader';\nexport * from './less-loader';\nexport * from './style-loader';\nexport type * from './types';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/loaders/index.ts"],"sourcesContent":["export * from './css-loader';\nexport * from './less-loader';\nexport * from './sass-loader';\nexport * from './style-loader';\nexport type * from './types';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA"}
@@ -0,0 +1,9 @@
1
+ export declare function sassLoader(): {
2
+ loader: string;
3
+ options: {
4
+ sassOptions: {
5
+ charset: boolean;
6
+ };
7
+ };
8
+ };
9
+ //# sourceMappingURL=sass-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sass-loader.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/loaders/sass-loader.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU;;;;;;;EAczB"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "sassLoader", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return sassLoader;
9
+ }
10
+ });
11
+ function sassLoader() {
12
+ return {
13
+ loader: 'sass-loader',
14
+ options: {
15
+ sassOptions: {
16
+ /*
17
+ * Turn off charset to prevent Dart Sass from injecting BOM when file
18
+ * contains a non-ASCII character. Concatenating multiple modules' CSS then leaves that
19
+ * marker in the middle of the bundle, invalidating the selector that follows it.
20
+ */ charset: false
21
+ }
22
+ }
23
+ };
24
+ }
25
+
26
+ //# sourceMappingURL=sass-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/webpack/configs/loaders/sass-loader.ts"],"sourcesContent":["export function sassLoader() {\n return {\n loader: 'sass-loader',\n options: {\n sassOptions: {\n /*\n * Turn off charset to prevent Dart Sass from injecting BOM when file\n * contains a non-ASCII character. Concatenating multiple modules' CSS then leaves that\n * marker in the middle of the bundle, invalidating the selector that follows it.\n */\n charset: false,\n },\n },\n };\n}\n"],"names":["sassLoader","loader","options","sassOptions","charset"],"mappings":";;;;+BAAgBA;;;eAAAA;;;AAAT,SAASA;IACZ,OAAO;QACHC,QAAQ;QACRC,SAAS;YACLC,aAAa;gBACT;;;;iBAIC,GACDC,SAAS;YACb;QACJ;IACJ;AACJ"}
@@ -20,7 +20,7 @@ function scssRules(context) {
20
20
  (0, _loaders.cssLoader)(context, {
21
21
  esModule: true
22
22
  }),
23
- 'sass-loader'
23
+ (0, _loaders.sassLoader)()
24
24
  ]
25
25
  },
26
26
  {
@@ -29,7 +29,7 @@ function scssRules(context) {
29
29
  use: [
30
30
  (0, _loaders.styleLoader)(context),
31
31
  (0, _loaders.cssLoader)(context),
32
- 'sass-loader'
32
+ (0, _loaders.sassLoader)()
33
33
  ]
34
34
  }
35
35
  ];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/rules/scss-rules.ts"],"sourcesContent":["import { RuleSetRule } from 'webpack';\nimport { BuildContext } from '../../../core';\nimport { cssLoader, styleLoader } from '../loaders';\n\nexport function scssRules(context: BuildContext): RuleSetRule[] {\n return [\n {\n test: /\\.module.scss$/,\n use: [\n styleLoader(context, { esModule: true }),\n cssLoader(context, { esModule: true }),\n 'sass-loader',\n ],\n },\n {\n test: /(\\.scss)$/,\n exclude: /\\.module.scss$/,\n use: [styleLoader(context), cssLoader(context), 'sass-loader'],\n },\n ];\n}\n"],"names":["scssRules","context","test","use","styleLoader","esModule","cssLoader","exclude"],"mappings":";;;;+BAIgBA;;;eAAAA;;;yBAFuB;AAEhC,SAASA,UAAUC,OAAqB;IAC3C,OAAO;QACH;YACIC,MAAM;YACNC,KAAK;gBACDC,IAAAA,oBAAW,EAACH,SAAS;oBAAEI,UAAU;gBAAK;gBACtCC,IAAAA,kBAAS,EAACL,SAAS;oBAAEI,UAAU;gBAAK;gBACpC;aACH;QACL;QACA;YACIH,MAAM;YACNK,SAAS;YACTJ,KAAK;gBAACC,IAAAA,oBAAW,EAACH;gBAAUK,IAAAA,kBAAS,EAACL;gBAAU;aAAc;QAClE;KACH;AACL"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/rules/scss-rules.ts"],"sourcesContent":["import { RuleSetRule } from 'webpack';\nimport { BuildContext } from '../../../core';\nimport { cssLoader, sassLoader, styleLoader } from '../loaders';\n\nexport function scssRules(context: BuildContext): RuleSetRule[] {\n return [\n {\n test: /\\.module.scss$/,\n use: [\n styleLoader(context, { esModule: true }),\n cssLoader(context, { esModule: true }),\n sassLoader(),\n ],\n },\n {\n test: /(\\.scss)$/,\n exclude: /\\.module.scss$/,\n use: [styleLoader(context), cssLoader(context), sassLoader()],\n },\n ];\n}\n"],"names":["scssRules","context","test","use","styleLoader","esModule","cssLoader","sassLoader","exclude"],"mappings":";;;;+BAIgBA;;;eAAAA;;;yBAFmC;AAE5C,SAASA,UAAUC,OAAqB;IAC3C,OAAO;QACH;YACIC,MAAM;YACNC,KAAK;gBACDC,IAAAA,oBAAW,EAACH,SAAS;oBAAEI,UAAU;gBAAK;gBACtCC,IAAAA,kBAAS,EAACL,SAAS;oBAAEI,UAAU;gBAAK;gBACpCE,IAAAA,mBAAU;aACb;QACL;QACA;YACIL,MAAM;YACNM,SAAS;YACTL,KAAK;gBAACC,IAAAA,oBAAW,EAACH;gBAAUK,IAAAA,kBAAS,EAACL;gBAAUM,IAAAA,mBAAU;aAAG;QACjE;KACH;AACL"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/startup",
3
- "version": "38.2.0",
3
+ "version": "38.3.1",
4
4
  "description": "CLI to create multi-package Lerna projects with TypeScript and React",
5
5
  "homepage": "https://docs.st.dev/docs/frontend/uikit/startup",
6
6
  "repository": {
@@ -103,10 +103,10 @@
103
103
  "@jest/core": "~30.4.2",
104
104
  "@jest/types": "~30.4.1",
105
105
  "@jsdevtools/coverage-istanbul-loader": "^3.0.5",
106
- "@servicetitan/eslint-config": "38.2.0",
107
- "@servicetitan/install": "38.2.0",
108
- "@servicetitan/startup-utils": "38.2.0",
109
- "@servicetitan/stylelint-config": "38.2.0",
106
+ "@servicetitan/eslint-config": "38.3.1",
107
+ "@servicetitan/install": "38.3.1",
108
+ "@servicetitan/startup-utils": "38.3.1",
109
+ "@servicetitan/stylelint-config": "38.3.1",
110
110
  "@svgr/webpack": "^8.1.0",
111
111
  "@swc/cli": "^0.8.1",
112
112
  "@swc/core": "1.15.46",
@@ -203,5 +203,5 @@
203
203
  "cli": {
204
204
  "webpack": false
205
205
  },
206
- "gitHead": "fd8cf00982a529371e44d76a0ca455dbbb42bae5"
206
+ "gitHead": "8f7bec33cb159c5f00e9bb416475835dd2cbef15"
207
207
  }
@@ -2,6 +2,7 @@ import { fs, vol } from 'memfs';
2
2
  import type { OutputBundle } from 'rolldown';
3
3
  import { type BuildContext, generateMetadata } from '../../../core';
4
4
  import { metadataPlugin } from '../metadata-plugin';
5
+ import { VIRTUAL_PREFIX } from '../virtual-modules-plugin';
5
6
 
6
7
  jest.mock('fs', () => fs);
7
8
  jest.mock('../../../core', () => ({
@@ -83,7 +84,7 @@ describe(metadataPlugin.name, () => {
83
84
  module: true,
84
85
  port: defaultAddress.port,
85
86
  css: [],
86
- js: ['@vite/client', '@id/__x00__VIRTUAL./index'],
87
+ js: ['@vite/client', `@id/__x00__${VIRTUAL_PREFIX.slice(1)}./index`],
87
88
  });
88
89
  });
89
90
 
@@ -3,6 +3,7 @@ import path from 'path';
3
3
  import type { Plugin } from 'vite';
4
4
  import { BuildContext, generateMetadata } from '../../core';
5
5
  import { getCssFileNames } from './utils';
6
+ import { VIRTUAL_PREFIX } from './virtual-modules-plugin';
6
7
 
7
8
  export function metadataPlugin(context: BuildContext): Plugin | undefined {
8
9
  if (!context.package.isWebComponent) {
@@ -27,7 +28,7 @@ export function metadataPlugin(context: BuildContext): Plugin | undefined {
27
28
  module: true,
28
29
  port: address.port,
29
30
  css: [],
30
- js: ['@vite/client', '@id/__x00__VIRTUAL./index'],
31
+ js: ['@vite/client', `@id/__x00__${VIRTUAL_PREFIX.slice(1)}./index`],
31
32
  };
32
33
 
33
34
  const entrypointsPath = path.join(outDir, 'entrypoints.json');
@@ -2,8 +2,9 @@ import path from 'path';
2
2
  import type { Plugin } from 'vite';
3
3
  import { BuildContext, virtualModules } from '../../core';
4
4
 
5
+ export const VIRTUAL_PREFIX = '\0virtual-modules:';
6
+
5
7
  export function virtualModulesPlugin(context: BuildContext): Plugin | undefined {
6
- const VIRTUAL_PREFIX = '\0virtual-modules:';
7
8
  const VIRTUAL_ID_PATTERN = new RegExp(`^${VIRTUAL_PREFIX}`);
8
9
 
9
10
  const { destination } = context.package;
@@ -12,7 +12,11 @@ export const styleRules: Record<string, StyleRule> = {
12
12
  '.scss': {
13
13
  test: /(\.scss)$/,
14
14
  exclude: /\.module.scss$/,
15
- use: ['style-loader', 'css-loader', 'sass-loader'],
15
+ use: [
16
+ 'style-loader',
17
+ 'css-loader',
18
+ { loader: 'sass-loader', options: { sassOptions: { charset: false } } },
19
+ ],
16
20
  },
17
21
  '.less': {
18
22
  test: /(\.less)$/,
@@ -64,7 +68,7 @@ export const styleRules: Record<string, StyleRule> = {
64
68
  },
65
69
  },
66
70
  },
67
- 'sass-loader',
71
+ { loader: 'sass-loader', options: { sassOptions: { charset: false } } },
68
72
  ],
69
73
  },
70
74
  '.module.less': {
@@ -1,4 +1,5 @@
1
1
  export * from './css-loader';
2
2
  export * from './less-loader';
3
+ export * from './sass-loader';
3
4
  export * from './style-loader';
4
5
  export type * from './types';
@@ -0,0 +1,15 @@
1
+ export function sassLoader() {
2
+ return {
3
+ loader: 'sass-loader',
4
+ options: {
5
+ sassOptions: {
6
+ /*
7
+ * Turn off charset to prevent Dart Sass from injecting BOM when file
8
+ * contains a non-ASCII character. Concatenating multiple modules' CSS then leaves that
9
+ * marker in the middle of the bundle, invalidating the selector that follows it.
10
+ */
11
+ charset: false,
12
+ },
13
+ },
14
+ };
15
+ }
@@ -1,6 +1,6 @@
1
1
  import { RuleSetRule } from 'webpack';
2
2
  import { BuildContext } from '../../../core';
3
- import { cssLoader, styleLoader } from '../loaders';
3
+ import { cssLoader, sassLoader, styleLoader } from '../loaders';
4
4
 
5
5
  export function scssRules(context: BuildContext): RuleSetRule[] {
6
6
  return [
@@ -9,13 +9,13 @@ export function scssRules(context: BuildContext): RuleSetRule[] {
9
9
  use: [
10
10
  styleLoader(context, { esModule: true }),
11
11
  cssLoader(context, { esModule: true }),
12
- 'sass-loader',
12
+ sassLoader(),
13
13
  ],
14
14
  },
15
15
  {
16
16
  test: /(\.scss)$/,
17
17
  exclude: /\.module.scss$/,
18
- use: [styleLoader(context), cssLoader(context), 'sass-loader'],
18
+ use: [styleLoader(context), cssLoader(context), sassLoader()],
19
19
  },
20
20
  ];
21
21
  }