@callstack/repack-dev-server 4.3.0-canary-20240822085232 → 4.3.0-canary-20240822091832

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
@@ -1,6 +1,6 @@
1
1
  # @callstack/repack-dev-server
2
2
 
3
- ## 4.3.0-canary-20240822085232
3
+ ## 4.3.0-canary-20240822091832
4
4
 
5
5
  ## 4.2.0
6
6
 
@@ -29,10 +29,6 @@ async function compilerPlugin(instance, {
29
29
  // Let consumer infer the platform. If function is not provided fallback
30
30
  // to platform query param.
31
31
  platform = delegate.compiler.inferPlatform?.(request.url) ?? platform;
32
- if (!platform) {
33
- request.log.error('Cannot detect platform');
34
- return reply.badRequest('Cannot detect platform');
35
- }
36
32
  const multipart = reply.asMultipart();
37
33
  const sendProgress = ({
38
34
  completed,
@@ -1 +1 @@
1
- {"version":3,"file":"compilerPlugin.js","names":["fastifyPlugin","compilerPlugin","instance","delegate","route","method","url","schema","querystring","type","properties","platform","handler","request","reply","filename","params","query","log","error","notFound","compiler","inferPlatform","badRequest","multipart","asMultipart","sendProgress","completed","total","writeChunk","JSON","stringify","done","asset","getAsset","mimeType","getMimeType","buffer","Buffer","isBuffer","from","setHeader","String","byteLength","end","code","send","message","name","dependencies"],"sources":["../../../src/plugins/compiler/compilerPlugin.ts"],"sourcesContent":["import type { FastifyInstance } from 'fastify';\nimport fastifyPlugin from 'fastify-plugin';\nimport type { Server } from '../../types';\nimport type { SendProgress } from '../../types';\n\nasync function compilerPlugin(\n instance: FastifyInstance,\n { delegate }: { delegate: Server.Delegate }\n) {\n instance.route({\n method: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'HEAD'],\n url: '/*',\n schema: {\n querystring: {\n type: 'object',\n properties: {\n platform: {\n type: 'string',\n },\n },\n },\n },\n handler: async (request, reply) => {\n const filename = (request.params as { '*'?: string })['*'];\n let { platform } = request.query as { platform?: string };\n\n if (!filename) {\n // This technically should never happen - this route should not be called if file is missing.\n request.log.error(`File was not provided`);\n return reply.notFound();\n }\n\n // Let consumer infer the platform. If function is not provided fallback\n // to platform query param.\n platform = delegate.compiler.inferPlatform?.(request.url) ?? platform;\n\n if (!platform) {\n request.log.error('Cannot detect platform');\n return reply.badRequest('Cannot detect platform');\n }\n\n const multipart = reply.asMultipart();\n\n const sendProgress: SendProgress = ({ completed, total }) => {\n multipart?.writeChunk(\n { 'Content-Type': 'application/json' },\n JSON.stringify({\n done: completed,\n total,\n })\n );\n };\n\n try {\n const asset = await delegate.compiler.getAsset(\n filename,\n platform,\n sendProgress\n );\n const mimeType = delegate.compiler.getMimeType(\n filename,\n platform,\n asset\n );\n\n if (multipart) {\n const buffer = Buffer.isBuffer(asset) ? asset : Buffer.from(asset);\n multipart.setHeader('Content-Type', `${mimeType}; charset=UTF-8`);\n multipart.setHeader(\n 'Content-Length',\n String(Buffer.byteLength(buffer))\n );\n multipart.end(buffer);\n } else {\n return reply.code(200).type(mimeType).send(asset);\n }\n } catch (error) {\n request.log.error(error);\n return reply.notFound((error as Error).message);\n }\n },\n });\n}\n\nexport default fastifyPlugin(compilerPlugin, {\n name: 'compiler-plugin',\n dependencies: ['@fastify/sensible', 'multipart-plugin'],\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"compilerPlugin.js","names":["fastifyPlugin","compilerPlugin","instance","delegate","route","method","url","schema","querystring","type","properties","platform","handler","request","reply","filename","params","query","log","error","notFound","compiler","inferPlatform","multipart","asMultipart","sendProgress","completed","total","writeChunk","JSON","stringify","done","asset","getAsset","mimeType","getMimeType","buffer","Buffer","isBuffer","from","setHeader","String","byteLength","end","code","send","message","name","dependencies"],"sources":["../../../src/plugins/compiler/compilerPlugin.ts"],"sourcesContent":["import type { FastifyInstance } from 'fastify';\nimport fastifyPlugin from 'fastify-plugin';\nimport type { Server } from '../../types';\nimport type { SendProgress } from '../../types';\n\nasync function compilerPlugin(\n instance: FastifyInstance,\n { delegate }: { delegate: Server.Delegate }\n) {\n instance.route({\n method: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'HEAD'],\n url: '/*',\n schema: {\n querystring: {\n type: 'object',\n properties: {\n platform: {\n type: 'string',\n },\n },\n },\n },\n handler: async (request, reply) => {\n const filename = (request.params as { '*'?: string })['*'];\n let { platform } = request.query as { platform?: string };\n\n if (!filename) {\n // This technically should never happen - this route should not be called if file is missing.\n request.log.error(`File was not provided`);\n return reply.notFound();\n }\n\n // Let consumer infer the platform. If function is not provided fallback\n // to platform query param.\n platform = delegate.compiler.inferPlatform?.(request.url) ?? platform;\n\n const multipart = reply.asMultipart();\n\n const sendProgress: SendProgress = ({ completed, total }) => {\n multipart?.writeChunk(\n { 'Content-Type': 'application/json' },\n JSON.stringify({\n done: completed,\n total,\n })\n );\n };\n\n try {\n const asset = await delegate.compiler.getAsset(\n filename,\n platform,\n sendProgress\n );\n const mimeType = delegate.compiler.getMimeType(\n filename,\n platform,\n asset\n );\n\n if (multipart) {\n const buffer = Buffer.isBuffer(asset) ? asset : Buffer.from(asset);\n multipart.setHeader('Content-Type', `${mimeType}; charset=UTF-8`);\n multipart.setHeader(\n 'Content-Length',\n String(Buffer.byteLength(buffer))\n );\n multipart.end(buffer);\n } else {\n return reply.code(200).type(mimeType).send(asset);\n }\n } catch (error) {\n request.log.error(error);\n return reply.notFound((error as Error).message);\n }\n },\n });\n}\n\nexport default fastifyPlugin(compilerPlugin, {\n name: 'compiler-plugin',\n dependencies: ['@fastify/sensible', 'multipart-plugin'],\n});\n"],"mappings":"AACA,OAAOA,aAAa,MAAM,gBAAgB;AAI1C,eAAeC,cAAcA,CAC3BC,QAAyB,EACzB;EAAEC;AAAwC,CAAC,EAC3C;EACAD,QAAQ,CAACE,KAAK,CAAC;IACbC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;IAC3DC,GAAG,EAAE,IAAI;IACTC,MAAM,EAAE;MACNC,WAAW,EAAE;QACXC,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE;UACVC,QAAQ,EAAE;YACRF,IAAI,EAAE;UACR;QACF;MACF;IACF,CAAC;IACDG,OAAO,EAAE,MAAAA,CAAOC,OAAO,EAAEC,KAAK,KAAK;MACjC,MAAMC,QAAQ,GAAIF,OAAO,CAACG,MAAM,CAAsB,GAAG,CAAC;MAC1D,IAAI;QAAEL;MAAS,CAAC,GAAGE,OAAO,CAACI,KAA8B;MAEzD,IAAI,CAACF,QAAQ,EAAE;QACb;QACAF,OAAO,CAACK,GAAG,CAACC,KAAK,CAAC,uBAAuB,CAAC;QAC1C,OAAOL,KAAK,CAACM,QAAQ,CAAC,CAAC;MACzB;;MAEA;MACA;MACAT,QAAQ,GAAGR,QAAQ,CAACkB,QAAQ,CAACC,aAAa,GAAGT,OAAO,CAACP,GAAG,CAAC,IAAIK,QAAQ;MAErE,MAAMY,SAAS,GAAGT,KAAK,CAACU,WAAW,CAAC,CAAC;MAErC,MAAMC,YAA0B,GAAGA,CAAC;QAAEC,SAAS;QAAEC;MAAM,CAAC,KAAK;QAC3DJ,SAAS,EAAEK,UAAU,CACnB;UAAE,cAAc,EAAE;QAAmB,CAAC,EACtCC,IAAI,CAACC,SAAS,CAAC;UACbC,IAAI,EAAEL,SAAS;UACfC;QACF,CAAC,CACH,CAAC;MACH,CAAC;MAED,IAAI;QACF,MAAMK,KAAK,GAAG,MAAM7B,QAAQ,CAACkB,QAAQ,CAACY,QAAQ,CAC5ClB,QAAQ,EACRJ,QAAQ,EACRc,YACF,CAAC;QACD,MAAMS,QAAQ,GAAG/B,QAAQ,CAACkB,QAAQ,CAACc,WAAW,CAC5CpB,QAAQ,EACRJ,QAAQ,EACRqB,KACF,CAAC;QAED,IAAIT,SAAS,EAAE;UACb,MAAMa,MAAM,GAAGC,MAAM,CAACC,QAAQ,CAACN,KAAK,CAAC,GAAGA,KAAK,GAAGK,MAAM,CAACE,IAAI,CAACP,KAAK,CAAC;UAClET,SAAS,CAACiB,SAAS,CAAC,cAAc,EAAE,GAAGN,QAAQ,iBAAiB,CAAC;UACjEX,SAAS,CAACiB,SAAS,CACjB,gBAAgB,EAChBC,MAAM,CAACJ,MAAM,CAACK,UAAU,CAACN,MAAM,CAAC,CAClC,CAAC;UACDb,SAAS,CAACoB,GAAG,CAACP,MAAM,CAAC;QACvB,CAAC,MAAM;UACL,OAAOtB,KAAK,CAAC8B,IAAI,CAAC,GAAG,CAAC,CAACnC,IAAI,CAACyB,QAAQ,CAAC,CAACW,IAAI,CAACb,KAAK,CAAC;QACnD;MACF,CAAC,CAAC,OAAOb,KAAK,EAAE;QACdN,OAAO,CAACK,GAAG,CAACC,KAAK,CAACA,KAAK,CAAC;QACxB,OAAOL,KAAK,CAACM,QAAQ,CAAED,KAAK,CAAW2B,OAAO,CAAC;MACjD;IACF;EACF,CAAC,CAAC;AACJ;AAEA,eAAe9C,aAAa,CAACC,cAAc,EAAE;EAC3C8C,IAAI,EAAE,iBAAiB;EACvBC,YAAY,EAAE,CAAC,mBAAmB,EAAE,kBAAkB;AACxD,CAAC,CAAC","ignoreList":[]}
@@ -12,7 +12,7 @@ export interface CompilerDelegate {
12
12
  * @param platform Platform of the asset to get.
13
13
  * @param sendProgress Function to notify the client who requested the asset about compilation progress.
14
14
  */
15
- getAsset: (filename: string, platform: string, sendProgress?: SendProgress) => Promise<string | Buffer>;
15
+ getAsset: (filename: string, platform: string | undefined, sendProgress?: SendProgress) => Promise<string | Buffer>;
16
16
  /**
17
17
  * Detect MIME type of the asset from `filename`, `platform` or `data` (or from combination of either).
18
18
  *
@@ -20,7 +20,7 @@ export interface CompilerDelegate {
20
20
  * @param platform Platform of the asset.
21
21
  * @param data Asset's content.
22
22
  */
23
- getMimeType: (filename: string, platform: string, data: string | Buffer) => string;
23
+ getMimeType: (filename: string, platform: string | undefined, data: string | Buffer) => string;
24
24
  /**
25
25
  * Detect the platform from the URI - either from filename, query params or both.
26
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/plugins/compiler/types.ts"],"sourcesContent":["import type { SendProgress } from '../../types';\n\n/**\n * Delegate with implementation for compiler-specific functions.\n */\nexport interface CompilerDelegate {\n /**\n * Get compiled asset content.\n *\n * If the compilation is in progress, it should wait until compilation finishes and then return the asset.\n *\n * @param filename Filename of the asset to get.\n * @param platform Platform of the asset to get.\n * @param sendProgress Function to notify the client who requested the asset about compilation progress.\n */\n getAsset: (\n filename: string,\n platform: string,\n sendProgress?: SendProgress\n ) => Promise<string | Buffer>;\n\n /**\n * Detect MIME type of the asset from `filename`, `platform` or `data` (or from combination of either).\n *\n * @param filename Filename of the asset.\n * @param platform Platform of the asset.\n * @param data Asset's content.\n */\n getMimeType: (\n filename: string,\n platform: string,\n data: string | Buffer\n ) => string;\n\n /**\n * Detect the platform from the URI - either from filename, query params or both.\n *\n * @param uri URI string.\n */\n inferPlatform?: (uri: string) => string | undefined;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/plugins/compiler/types.ts"],"sourcesContent":["import type { SendProgress } from '../../types';\n\n/**\n * Delegate with implementation for compiler-specific functions.\n */\nexport interface CompilerDelegate {\n /**\n * Get compiled asset content.\n *\n * If the compilation is in progress, it should wait until compilation finishes and then return the asset.\n *\n * @param filename Filename of the asset to get.\n * @param platform Platform of the asset to get.\n * @param sendProgress Function to notify the client who requested the asset about compilation progress.\n */\n getAsset: (\n filename: string,\n platform: string | undefined,\n sendProgress?: SendProgress\n ) => Promise<string | Buffer>;\n\n /**\n * Detect MIME type of the asset from `filename`, `platform` or `data` (or from combination of either).\n *\n * @param filename Filename of the asset.\n * @param platform Platform of the asset.\n * @param data Asset's content.\n */\n getMimeType: (\n filename: string,\n platform: string | undefined,\n data: string | Buffer\n ) => string;\n\n /**\n * Detect the platform from the URI - either from filename, query params or both.\n *\n * @param uri URI string.\n */\n inferPlatform?: (uri: string) => string | undefined;\n}\n"],"mappings":"","ignoreList":[]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@callstack/repack-dev-server",
3
3
  "description": "A bundler-agnostic development server for React Native applications as part of @callstack/repack.",
4
4
  "license": "MIT",
5
- "version": "4.3.0-canary-20240822085232",
5
+ "version": "4.3.0-canary-20240822091832",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",