@plasmicapp/loader-edge 1.0.2 → 1.0.3
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/loader-edge.cjs.development.js +3 -2
- package/dist/loader-edge.cjs.development.js.map +1 -1
- package/dist/loader-edge.cjs.production.min.js +1 -1
- package/dist/loader-edge.cjs.production.min.js.map +1 -1
- package/dist/loader-edge.esm.js +3 -2
- package/dist/loader-edge.esm.js.map +1 -1
- package/package.json +3 -3
|
@@ -21,7 +21,8 @@ const rewriteWithoutVariation = url => {
|
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
const expandVariation = variation => {
|
|
24
|
-
return Object.keys(variation).
|
|
24
|
+
return Object.keys(variation).filter(key => !key.startsWith('ext')) // remove external variations
|
|
25
|
+
.sort((a, b) => a < b ? -1 : a > b ? 1 : 0).map(key => `${DELIMITER}${key}=${variation[key]}`).join('');
|
|
25
26
|
};
|
|
26
27
|
|
|
27
28
|
const rewriteWithVariation = (url, variation) => {
|
|
@@ -50,7 +51,7 @@ const generateAllSplitPaths = splits => {
|
|
|
50
51
|
};
|
|
51
52
|
|
|
52
53
|
const generateAllPaths = (path, splits) => {
|
|
53
|
-
return generateAllSplitPaths(splits).map(meta => `${path}${path.endsWith('/') ? '' : '/'}${meta}`);
|
|
54
|
+
return generateAllSplitPaths(splits.sort((a, b) => a.id < b.id ? -1 : a.id > b.id ? 1 : 0)).map(meta => `${path}${path.endsWith('/') ? '' : '/'}${meta}`);
|
|
54
55
|
};
|
|
55
56
|
const getActiveSplits = async opts => {
|
|
56
57
|
const fetcher = new loaderFetcher.PlasmicModulesFetcher(opts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-edge.cjs.development.js","sources":["../src/variation.ts"],"sourcesContent":["import {\n FetcherOptions,\n PlasmicModulesFetcher,\n Split,\n} from '@plasmicapp/loader-fetcher';\nimport { getActiveVariation, getSplitKey } from '@plasmicapp/loader-splits';\n\nconst DELIMITER = '__pm__';\n\nexport const rewriteWithoutVariation = (url: string) => {\n const [path, ...variationsArr] = url.split(DELIMITER);\n const variation = variationsArr.reduce((acc, elem) => {\n const [key, value] = elem.split('=');\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n return {\n path,\n variation,\n };\n};\n\nconst expandVariation = (variation: Record<string, string>) => {\n return Object.keys(variation)\n .map((key) => `${DELIMITER}${key}=${variation[key]}`)\n .join('');\n};\n\nexport const rewriteWithVariation = (\n url: string,\n variation: Record<string, string>\n) => {\n return `${url}${url.endsWith('/') ? '' : '/'}${expandVariation(variation)}`;\n};\n\nconst generateAllSplitPaths = (splits: Split[]): string[] => {\n if (splits.length === 0) {\n return [''];\n }\n const [curSplit, ...tail] = splits;\n const tailPaths = generateAllSplitPaths(tail);\n const curPaths = [\n '',\n ...(curSplit.slices as Array<{ id: string }>).map((slice) =>\n expandVariation({\n [getSplitKey(curSplit)]: slice.id,\n })\n ),\n ];\n const paths: string[] = [];\n for (let i = 0; i < curPaths.length; i++) {\n for (let j = 0; j < tailPaths.length; j++) {\n paths.push(curPaths[i] + tailPaths[j]);\n }\n }\n return paths;\n};\n\nexport const generateAllPaths = (path: string, splits: Split[]) => {\n return generateAllSplitPaths(splits).
|
|
1
|
+
{"version":3,"file":"loader-edge.cjs.development.js","sources":["../src/variation.ts"],"sourcesContent":["import {\n FetcherOptions,\n PlasmicModulesFetcher,\n Split,\n} from '@plasmicapp/loader-fetcher';\nimport { getActiveVariation, getSplitKey } from '@plasmicapp/loader-splits';\n\nconst DELIMITER = '__pm__';\n\nexport const rewriteWithoutVariation = (url: string) => {\n const [path, ...variationsArr] = url.split(DELIMITER);\n const variation = variationsArr.reduce((acc, elem) => {\n const [key, value] = elem.split('=');\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n return {\n path,\n variation,\n };\n};\n\nconst expandVariation = (variation: Record<string, string>) => {\n return Object.keys(variation)\n .filter((key) => !key.startsWith('ext')) // remove external variations\n .sort((a, b) => (a < b ? -1 : a > b ? 1 : 0))\n .map((key) => `${DELIMITER}${key}=${variation[key]}`)\n .join('');\n};\n\nexport const rewriteWithVariation = (\n url: string,\n variation: Record<string, string>\n) => {\n return `${url}${url.endsWith('/') ? '' : '/'}${expandVariation(variation)}`;\n};\n\nconst generateAllSplitPaths = (splits: Split[]): string[] => {\n if (splits.length === 0) {\n return [''];\n }\n const [curSplit, ...tail] = splits;\n const tailPaths = generateAllSplitPaths(tail);\n const curPaths = [\n '',\n ...(curSplit.slices as Array<{ id: string }>).map((slice) =>\n expandVariation({\n [getSplitKey(curSplit)]: slice.id,\n })\n ),\n ];\n const paths: string[] = [];\n for (let i = 0; i < curPaths.length; i++) {\n for (let j = 0; j < tailPaths.length; j++) {\n paths.push(curPaths[i] + tailPaths[j]);\n }\n }\n return paths;\n};\n\nexport const generateAllPaths = (path: string, splits: Split[]) => {\n return generateAllSplitPaths(\n splits.sort((a, b) => (a.id < b.id ? -1 : a.id > b.id ? 1 : 0))\n ).map((meta) => `${path}${path.endsWith('/') ? '' : '/'}${meta}`);\n};\n\ntype MiddlewareOptions = Pick<FetcherOptions, 'projects' | 'host' | 'preview'>;\n\nexport const getActiveSplits = async (opts: MiddlewareOptions) => {\n const fetcher = new PlasmicModulesFetcher(opts);\n const all = await fetcher.fetchAllData();\n const splits = all.activeSplits;\n const paths = all.components\n .filter((comp) => comp.isPage && comp.path)\n .map((comp) => comp.path);\n return {\n splits,\n paths,\n };\n};\n\nexport const getMiddlewareResponse = async ({\n opts,\n cookies,\n traits,\n url,\n}: {\n opts: MiddlewareOptions;\n cookies: Record<string, string>;\n traits: Record<string, string>;\n url: string;\n}) => {\n const { splits } = await getActiveSplits(opts);\n\n const newCookies: { key: string; value: string }[] = [];\n\n const variation = getActiveVariation({\n splits,\n traits,\n getKnownValue: (key) => {\n return cookies[`plasmic:${key}`];\n },\n updateKnownValue: (key, value) => {\n newCookies.push({ key: `plasmic:${key}`, value });\n },\n });\n\n let newUrl = url;\n if (Object.keys(variation).length) {\n newUrl = rewriteWithVariation(url, variation);\n }\n\n return {\n url: newUrl,\n cookies: newCookies,\n };\n};\n"],"names":["DELIMITER","rewriteWithoutVariation","url","path","variationsArr","split","variation","reduce","acc","elem","key","value","expandVariation","Object","keys","filter","startsWith","sort","a","b","map","join","rewriteWithVariation","endsWith","generateAllSplitPaths","splits","length","curSplit","tail","tailPaths","curPaths","slices","slice","getSplitKey","id","paths","i","j","push","generateAllPaths","meta","getActiveSplits","opts","fetcher","PlasmicModulesFetcher","all","fetchAllData","activeSplits","components","comp","isPage","getMiddlewareResponse","cookies","traits","newCookies","getActiveVariation","getKnownValue","updateKnownValue","newUrl"],"mappings":";;;;;;;AAOA,MAAMA,SAAS,GAAG,QAAlB;MAEaC,uBAAuB,GAAIC,GAAD;AACrC,QAAM,CAACC,IAAD,EAAO,GAAGC,aAAV,IAA2BF,GAAG,CAACG,KAAJ,CAAUL,SAAV,CAAjC;AACA,QAAMM,SAAS,GAAGF,aAAa,CAACG,MAAd,CAAqB,CAACC,GAAD,EAAMC,IAAN;AACrC,UAAM,CAACC,GAAD,EAAMC,KAAN,IAAeF,IAAI,CAACJ,KAAL,CAAW,GAAX,CAArB;AACA,WAAO,EACL,GAAGG,GADE;AAEL,OAACE,GAAD,GAAOC;AAFF,KAAP;AAID,GANiB,EAMf,EANe,CAAlB;AAOA,SAAO;AACLR,IAAAA,IADK;AAELG,IAAAA;AAFK,GAAP;AAID;;AAED,MAAMM,eAAe,GAAIN,SAAD;AACtB,SAAOO,MAAM,CAACC,IAAP,CAAYR,SAAZ,EACJS,MADI,CACIL,GAAD,IAAS,CAACA,GAAG,CAACM,UAAJ,CAAe,KAAf,CADb;AAAA,GAEJC,IAFI,CAEC,CAACC,CAAD,EAAIC,CAAJ,KAAWD,CAAC,GAAGC,CAAJ,GAAQ,CAAC,CAAT,GAAaD,CAAC,GAAGC,CAAJ,GAAQ,CAAR,GAAY,CAFrC,EAGJC,GAHI,CAGCV,GAAD,OAAYV,YAAYU,OAAOJ,SAAS,CAACI,GAAD,GAHxC,EAIJW,IAJI,CAIC,EAJD,CAAP;AAKD,CAND;;MAQaC,oBAAoB,GAAG,CAClCpB,GADkC,EAElCI,SAFkC;AAIlC,YAAUJ,MAAMA,GAAG,CAACqB,QAAJ,CAAa,GAAb,IAAoB,EAApB,GAAyB,MAAMX,eAAe,CAACN,SAAD,GAA9D;AACD;;AAED,MAAMkB,qBAAqB,GAAIC,MAAD;AAC5B,MAAIA,MAAM,CAACC,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,CAAC,EAAD,CAAP;AACD;;AACD,QAAM,CAACC,QAAD,EAAW,GAAGC,IAAd,IAAsBH,MAA5B;AACA,QAAMI,SAAS,GAAGL,qBAAqB,CAACI,IAAD,CAAvC;AACA,QAAME,QAAQ,GAAG,CACf,EADe,EAEf,GAAIH,QAAQ,CAACI,MAAT,CAA0CX,GAA1C,CAA+CY,KAAD,IAChDpB,eAAe,CAAC;AACd,KAACqB,wBAAW,CAACN,QAAD,CAAZ,GAAyBK,KAAK,CAACE;AADjB,GAAD,CADb,CAFW,CAAjB;AAQA,QAAMC,KAAK,GAAa,EAAxB;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,QAAQ,CAACJ,MAA7B,EAAqCU,CAAC,EAAtC,EAA0C;AACxC,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,SAAS,CAACH,MAA9B,EAAsCW,CAAC,EAAvC,EAA2C;AACzCF,MAAAA,KAAK,CAACG,IAAN,CAAWR,QAAQ,CAACM,CAAD,CAAR,GAAcP,SAAS,CAACQ,CAAD,CAAlC;AACD;AACF;;AACD,SAAOF,KAAP;AACD,CArBD;;MAuBaI,gBAAgB,GAAG,CAACpC,IAAD,EAAesB,MAAf;AAC9B,SAAOD,qBAAqB,CAC1BC,MAAM,CAACR,IAAP,CAAY,CAACC,CAAD,EAAIC,CAAJ,KAAWD,CAAC,CAACgB,EAAF,GAAOf,CAAC,CAACe,EAAT,GAAc,CAAC,CAAf,GAAmBhB,CAAC,CAACgB,EAAF,GAAOf,CAAC,CAACe,EAAT,GAAc,CAAd,GAAkB,CAA5D,CAD0B,CAArB,CAELd,GAFK,CAEAoB,IAAD,OAAarC,OAAOA,IAAI,CAACoB,QAAL,CAAc,GAAd,IAAqB,EAArB,GAA0B,MAAMiB,MAFnD,CAAP;AAGD;MAIYC,eAAe,GAAG,MAAOC,IAAP;AAC7B,QAAMC,OAAO,GAAG,IAAIC,mCAAJ,CAA0BF,IAA1B,CAAhB;AACA,QAAMG,GAAG,GAAG,MAAMF,OAAO,CAACG,YAAR,EAAlB;AACA,QAAMrB,MAAM,GAAGoB,GAAG,CAACE,YAAnB;AACA,QAAMZ,KAAK,GAAGU,GAAG,CAACG,UAAJ,CACXjC,MADW,CACHkC,IAAD,IAAUA,IAAI,CAACC,MAAL,IAAeD,IAAI,CAAC9C,IAD1B,EAEXiB,GAFW,CAEN6B,IAAD,IAAUA,IAAI,CAAC9C,IAFR,CAAd;AAGA,SAAO;AACLsB,IAAAA,MADK;AAELU,IAAAA;AAFK,GAAP;AAID;MAEYgB,qBAAqB,GAAG,OAAO;AAC1CT,EAAAA,IAD0C;AAE1CU,EAAAA,OAF0C;AAG1CC,EAAAA,MAH0C;AAI1CnD,EAAAA;AAJ0C,CAAP;AAWnC,QAAM;AAAEuB,IAAAA;AAAF,MAAa,MAAMgB,eAAe,CAACC,IAAD,CAAxC;AAEA,QAAMY,UAAU,GAAqC,EAArD;AAEA,QAAMhD,SAAS,GAAGiD,+BAAkB,CAAC;AACnC9B,IAAAA,MADmC;AAEnC4B,IAAAA,MAFmC;AAGnCG,IAAAA,aAAa,EAAG9C,GAAD;AACb,aAAO0C,OAAO,YAAY1C,KAAZ,CAAd;AACD,KALkC;AAMnC+C,IAAAA,gBAAgB,EAAE,CAAC/C,GAAD,EAAMC,KAAN;AAChB2C,MAAAA,UAAU,CAAChB,IAAX,CAAgB;AAAE5B,QAAAA,GAAG,aAAaA,KAAlB;AAAyBC,QAAAA;AAAzB,OAAhB;AACD;AARkC,GAAD,CAApC;AAWA,MAAI+C,MAAM,GAAGxD,GAAb;;AACA,MAAIW,MAAM,CAACC,IAAP,CAAYR,SAAZ,EAAuBoB,MAA3B,EAAmC;AACjCgC,IAAAA,MAAM,GAAGpC,oBAAoB,CAACpB,GAAD,EAAMI,SAAN,CAA7B;AACD;;AAED,SAAO;AACLJ,IAAAA,GAAG,EAAEwD,MADA;AAELN,IAAAA,OAAO,EAAEE;AAFJ,GAAP;AAID;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@plasmicapp/loader-fetcher"),e=require("@plasmicapp/loader-splits");const s=t=>Object.keys(t).filter(t=>!t.startsWith("ext")).sort((t,e)=>t<e?-1:t>e?1:0).map(e=>`__pm__${e}=${t[e]}`).join(""),i=(t,e)=>`${t}${t.endsWith("/")?"":"/"}${s(e)}`,r=t=>{if(0===t.length)return[""];const[i,...a]=t,p=r(a),l=["",...i.slices.map(t=>s({[e.getSplitKey(i)]:t.id}))],o=[];for(let t=0;t<l.length;t++)for(let e=0;e<p.length;e++)o.push(l[t]+p[e]);return o},a=async e=>{const s=new t.PlasmicModulesFetcher(e),i=await s.fetchAllData();return{splits:i.activeSplits,paths:i.components.filter(t=>t.isPage&&t.path).map(t=>t.path)}};exports.generateAllPaths=(t,e)=>r(e.sort((t,e)=>t.id<e.id?-1:t.id>e.id?1:0)).map(e=>`${t}${t.endsWith("/")?"":"/"}${e}`),exports.getActiveSplits=a,exports.getMiddlewareResponse=async({opts:t,cookies:s,traits:r,url:p})=>{const{splits:l}=await a(t),o=[],n=e.getActiveVariation({splits:l,traits:r,getKnownValue:t=>s["plasmic:"+t],updateKnownValue:(t,e)=>{o.push({key:"plasmic:"+t,value:e})}});let c=p;return Object.keys(n).length&&(c=i(p,n)),{url:c,cookies:o}},exports.rewriteWithVariation=i,exports.rewriteWithoutVariation=t=>{const[e,...s]=t.split("__pm__");return{path:e,variation:s.reduce((t,e)=>{const[s,i]=e.split("=");return{...t,[s]:i}},{})}};
|
|
2
2
|
//# sourceMappingURL=loader-edge.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-edge.cjs.production.min.js","sources":["../src/variation.ts"],"sourcesContent":["import {\n FetcherOptions,\n PlasmicModulesFetcher,\n Split,\n} from '@plasmicapp/loader-fetcher';\nimport { getActiveVariation, getSplitKey } from '@plasmicapp/loader-splits';\n\nconst DELIMITER = '__pm__';\n\nexport const rewriteWithoutVariation = (url: string) => {\n const [path, ...variationsArr] = url.split(DELIMITER);\n const variation = variationsArr.reduce((acc, elem) => {\n const [key, value] = elem.split('=');\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n return {\n path,\n variation,\n };\n};\n\nconst expandVariation = (variation: Record<string, string>) => {\n return Object.keys(variation)\n .map((key) => `${DELIMITER}${key}=${variation[key]}`)\n .join('');\n};\n\nexport const rewriteWithVariation = (\n url: string,\n variation: Record<string, string>\n) => {\n return `${url}${url.endsWith('/') ? '' : '/'}${expandVariation(variation)}`;\n};\n\nconst generateAllSplitPaths = (splits: Split[]): string[] => {\n if (splits.length === 0) {\n return [''];\n }\n const [curSplit, ...tail] = splits;\n const tailPaths = generateAllSplitPaths(tail);\n const curPaths = [\n '',\n ...(curSplit.slices as Array<{ id: string }>).map((slice) =>\n expandVariation({\n [getSplitKey(curSplit)]: slice.id,\n })\n ),\n ];\n const paths: string[] = [];\n for (let i = 0; i < curPaths.length; i++) {\n for (let j = 0; j < tailPaths.length; j++) {\n paths.push(curPaths[i] + tailPaths[j]);\n }\n }\n return paths;\n};\n\nexport const generateAllPaths = (path: string, splits: Split[]) => {\n return generateAllSplitPaths(splits).
|
|
1
|
+
{"version":3,"file":"loader-edge.cjs.production.min.js","sources":["../src/variation.ts"],"sourcesContent":["import {\n FetcherOptions,\n PlasmicModulesFetcher,\n Split,\n} from '@plasmicapp/loader-fetcher';\nimport { getActiveVariation, getSplitKey } from '@plasmicapp/loader-splits';\n\nconst DELIMITER = '__pm__';\n\nexport const rewriteWithoutVariation = (url: string) => {\n const [path, ...variationsArr] = url.split(DELIMITER);\n const variation = variationsArr.reduce((acc, elem) => {\n const [key, value] = elem.split('=');\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n return {\n path,\n variation,\n };\n};\n\nconst expandVariation = (variation: Record<string, string>) => {\n return Object.keys(variation)\n .filter((key) => !key.startsWith('ext')) // remove external variations\n .sort((a, b) => (a < b ? -1 : a > b ? 1 : 0))\n .map((key) => `${DELIMITER}${key}=${variation[key]}`)\n .join('');\n};\n\nexport const rewriteWithVariation = (\n url: string,\n variation: Record<string, string>\n) => {\n return `${url}${url.endsWith('/') ? '' : '/'}${expandVariation(variation)}`;\n};\n\nconst generateAllSplitPaths = (splits: Split[]): string[] => {\n if (splits.length === 0) {\n return [''];\n }\n const [curSplit, ...tail] = splits;\n const tailPaths = generateAllSplitPaths(tail);\n const curPaths = [\n '',\n ...(curSplit.slices as Array<{ id: string }>).map((slice) =>\n expandVariation({\n [getSplitKey(curSplit)]: slice.id,\n })\n ),\n ];\n const paths: string[] = [];\n for (let i = 0; i < curPaths.length; i++) {\n for (let j = 0; j < tailPaths.length; j++) {\n paths.push(curPaths[i] + tailPaths[j]);\n }\n }\n return paths;\n};\n\nexport const generateAllPaths = (path: string, splits: Split[]) => {\n return generateAllSplitPaths(\n splits.sort((a, b) => (a.id < b.id ? -1 : a.id > b.id ? 1 : 0))\n ).map((meta) => `${path}${path.endsWith('/') ? '' : '/'}${meta}`);\n};\n\ntype MiddlewareOptions = Pick<FetcherOptions, 'projects' | 'host' | 'preview'>;\n\nexport const getActiveSplits = async (opts: MiddlewareOptions) => {\n const fetcher = new PlasmicModulesFetcher(opts);\n const all = await fetcher.fetchAllData();\n const splits = all.activeSplits;\n const paths = all.components\n .filter((comp) => comp.isPage && comp.path)\n .map((comp) => comp.path);\n return {\n splits,\n paths,\n };\n};\n\nexport const getMiddlewareResponse = async ({\n opts,\n cookies,\n traits,\n url,\n}: {\n opts: MiddlewareOptions;\n cookies: Record<string, string>;\n traits: Record<string, string>;\n url: string;\n}) => {\n const { splits } = await getActiveSplits(opts);\n\n const newCookies: { key: string; value: string }[] = [];\n\n const variation = getActiveVariation({\n splits,\n traits,\n getKnownValue: (key) => {\n return cookies[`plasmic:${key}`];\n },\n updateKnownValue: (key, value) => {\n newCookies.push({ key: `plasmic:${key}`, value });\n },\n });\n\n let newUrl = url;\n if (Object.keys(variation).length) {\n newUrl = rewriteWithVariation(url, variation);\n }\n\n return {\n url: newUrl,\n cookies: newCookies,\n };\n};\n"],"names":["expandVariation","variation","Object","keys","filter","key","startsWith","sort","a","b","map","join","rewriteWithVariation","url","endsWith","generateAllSplitPaths","splits","length","curSplit","tail","tailPaths","curPaths","slices","slice","getSplitKey","id","paths","i","j","push","getActiveSplits","async","fetcher","PlasmicModulesFetcher","opts","all","fetchAllData","activeSplits","components","comp","isPage","path","meta","cookies","traits","newCookies","getActiveVariation","getKnownValue","updateKnownValue","value","newUrl","variationsArr","split","reduce","acc","elem"],"mappings":"uJAOA,MAiBMA,EAAmBC,GAChBC,OAAOC,KAAKF,GAChBG,OAAQC,IAASA,EAAIC,WAAW,QAChCC,KAAK,CAACC,EAAGC,IAAOD,EAAIC,GAAK,EAAID,EAAIC,EAAI,EAAI,GACzCC,IAAKL,YAAuBA,KAAOJ,EAAUI,MAC7CM,KAAK,IAGGC,EAAuB,CAClCC,EACAZ,OAEUY,IAAMA,EAAIC,SAAS,KAAO,GAAK,MAAMd,EAAgBC,KAG3Dc,EAAyBC,OACP,IAAlBA,EAAOC,aACF,CAAC,UAEHC,KAAaC,GAAQH,EACtBI,EAAYL,EAAsBI,GAClCE,EAAW,CACf,MACIH,EAASI,OAAiCZ,IAAKa,GACjDvB,EAAgB,EACbwB,cAAYN,IAAYK,EAAME,OAI/BC,EAAkB,OACnB,IAAIC,EAAI,EAAGA,EAAIN,EAASJ,OAAQU,QAC9B,IAAIC,EAAI,EAAGA,EAAIR,EAAUH,OAAQW,IACpCF,EAAMG,KAAKR,EAASM,GAAKP,EAAUQ,WAGhCF,GAWII,EAAkBC,MAAAA,UACvBC,EAAU,IAAIC,wBAAsBC,GACpCC,QAAYH,EAAQI,qBAKnB,CACLpB,OALamB,EAAIE,aAMjBX,MALYS,EAAIG,WACflC,OAAQmC,GAASA,EAAKC,QAAUD,EAAKE,MACrC/B,IAAK6B,GAASA,EAAKE,iCAdQ,CAACA,EAAczB,IACtCD,EACLC,EAAOT,KAAK,CAACC,EAAGC,IAAOD,EAAEiB,GAAKhB,EAAEgB,IAAM,EAAIjB,EAAEiB,GAAKhB,EAAEgB,GAAK,EAAI,IAC5Df,IAAKgC,MAAYD,IAAOA,EAAK3B,SAAS,KAAO,GAAK,MAAM4B,6DAkBvBX,OACnCG,KAAAA,EACAS,QAAAA,EACAC,OAAAA,EACA/B,IAAAA,YAOMG,OAAEA,SAAiBc,EAAgBI,GAEnCW,EAA+C,GAE/C5C,EAAY6C,qBAAmB,CACnC9B,OAAAA,EACA4B,OAAAA,EACAG,cAAgB1C,GACPsC,aAAmBtC,GAE5B2C,iBAAkB,CAAC3C,EAAK4C,KACtBJ,EAAWhB,KAAK,CAAExB,eAAgBA,EAAO4C,MAAAA,WAIzCC,EAASrC,SACTX,OAAOC,KAAKF,GAAWgB,SACzBiC,EAAStC,EAAqBC,EAAKZ,IAG9B,CACLY,IAAKqC,EACLP,QAASE,mEA3G2BhC,UAC/B4B,KAASU,GAAiBtC,EAAIuC,MAHrB,gBAWT,CACLX,KAAAA,EACAxC,UATgBkD,EAAcE,OAAO,CAACC,EAAKC,WACpClD,EAAK4C,GAASM,EAAKH,MAAM,WACzB,IACFE,GACFjD,GAAM4C,IAER"}
|
package/dist/loader-edge.esm.js
CHANGED
|
@@ -17,7 +17,8 @@ const rewriteWithoutVariation = url => {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
const expandVariation = variation => {
|
|
20
|
-
return Object.keys(variation).
|
|
20
|
+
return Object.keys(variation).filter(key => !key.startsWith('ext')) // remove external variations
|
|
21
|
+
.sort((a, b) => a < b ? -1 : a > b ? 1 : 0).map(key => `${DELIMITER}${key}=${variation[key]}`).join('');
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
const rewriteWithVariation = (url, variation) => {
|
|
@@ -46,7 +47,7 @@ const generateAllSplitPaths = splits => {
|
|
|
46
47
|
};
|
|
47
48
|
|
|
48
49
|
const generateAllPaths = (path, splits) => {
|
|
49
|
-
return generateAllSplitPaths(splits).map(meta => `${path}${path.endsWith('/') ? '' : '/'}${meta}`);
|
|
50
|
+
return generateAllSplitPaths(splits.sort((a, b) => a.id < b.id ? -1 : a.id > b.id ? 1 : 0)).map(meta => `${path}${path.endsWith('/') ? '' : '/'}${meta}`);
|
|
50
51
|
};
|
|
51
52
|
const getActiveSplits = async opts => {
|
|
52
53
|
const fetcher = new PlasmicModulesFetcher(opts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-edge.esm.js","sources":["../src/variation.ts"],"sourcesContent":["import {\n FetcherOptions,\n PlasmicModulesFetcher,\n Split,\n} from '@plasmicapp/loader-fetcher';\nimport { getActiveVariation, getSplitKey } from '@plasmicapp/loader-splits';\n\nconst DELIMITER = '__pm__';\n\nexport const rewriteWithoutVariation = (url: string) => {\n const [path, ...variationsArr] = url.split(DELIMITER);\n const variation = variationsArr.reduce((acc, elem) => {\n const [key, value] = elem.split('=');\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n return {\n path,\n variation,\n };\n};\n\nconst expandVariation = (variation: Record<string, string>) => {\n return Object.keys(variation)\n .map((key) => `${DELIMITER}${key}=${variation[key]}`)\n .join('');\n};\n\nexport const rewriteWithVariation = (\n url: string,\n variation: Record<string, string>\n) => {\n return `${url}${url.endsWith('/') ? '' : '/'}${expandVariation(variation)}`;\n};\n\nconst generateAllSplitPaths = (splits: Split[]): string[] => {\n if (splits.length === 0) {\n return [''];\n }\n const [curSplit, ...tail] = splits;\n const tailPaths = generateAllSplitPaths(tail);\n const curPaths = [\n '',\n ...(curSplit.slices as Array<{ id: string }>).map((slice) =>\n expandVariation({\n [getSplitKey(curSplit)]: slice.id,\n })\n ),\n ];\n const paths: string[] = [];\n for (let i = 0; i < curPaths.length; i++) {\n for (let j = 0; j < tailPaths.length; j++) {\n paths.push(curPaths[i] + tailPaths[j]);\n }\n }\n return paths;\n};\n\nexport const generateAllPaths = (path: string, splits: Split[]) => {\n return generateAllSplitPaths(splits).
|
|
1
|
+
{"version":3,"file":"loader-edge.esm.js","sources":["../src/variation.ts"],"sourcesContent":["import {\n FetcherOptions,\n PlasmicModulesFetcher,\n Split,\n} from '@plasmicapp/loader-fetcher';\nimport { getActiveVariation, getSplitKey } from '@plasmicapp/loader-splits';\n\nconst DELIMITER = '__pm__';\n\nexport const rewriteWithoutVariation = (url: string) => {\n const [path, ...variationsArr] = url.split(DELIMITER);\n const variation = variationsArr.reduce((acc, elem) => {\n const [key, value] = elem.split('=');\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n return {\n path,\n variation,\n };\n};\n\nconst expandVariation = (variation: Record<string, string>) => {\n return Object.keys(variation)\n .filter((key) => !key.startsWith('ext')) // remove external variations\n .sort((a, b) => (a < b ? -1 : a > b ? 1 : 0))\n .map((key) => `${DELIMITER}${key}=${variation[key]}`)\n .join('');\n};\n\nexport const rewriteWithVariation = (\n url: string,\n variation: Record<string, string>\n) => {\n return `${url}${url.endsWith('/') ? '' : '/'}${expandVariation(variation)}`;\n};\n\nconst generateAllSplitPaths = (splits: Split[]): string[] => {\n if (splits.length === 0) {\n return [''];\n }\n const [curSplit, ...tail] = splits;\n const tailPaths = generateAllSplitPaths(tail);\n const curPaths = [\n '',\n ...(curSplit.slices as Array<{ id: string }>).map((slice) =>\n expandVariation({\n [getSplitKey(curSplit)]: slice.id,\n })\n ),\n ];\n const paths: string[] = [];\n for (let i = 0; i < curPaths.length; i++) {\n for (let j = 0; j < tailPaths.length; j++) {\n paths.push(curPaths[i] + tailPaths[j]);\n }\n }\n return paths;\n};\n\nexport const generateAllPaths = (path: string, splits: Split[]) => {\n return generateAllSplitPaths(\n splits.sort((a, b) => (a.id < b.id ? -1 : a.id > b.id ? 1 : 0))\n ).map((meta) => `${path}${path.endsWith('/') ? '' : '/'}${meta}`);\n};\n\ntype MiddlewareOptions = Pick<FetcherOptions, 'projects' | 'host' | 'preview'>;\n\nexport const getActiveSplits = async (opts: MiddlewareOptions) => {\n const fetcher = new PlasmicModulesFetcher(opts);\n const all = await fetcher.fetchAllData();\n const splits = all.activeSplits;\n const paths = all.components\n .filter((comp) => comp.isPage && comp.path)\n .map((comp) => comp.path);\n return {\n splits,\n paths,\n };\n};\n\nexport const getMiddlewareResponse = async ({\n opts,\n cookies,\n traits,\n url,\n}: {\n opts: MiddlewareOptions;\n cookies: Record<string, string>;\n traits: Record<string, string>;\n url: string;\n}) => {\n const { splits } = await getActiveSplits(opts);\n\n const newCookies: { key: string; value: string }[] = [];\n\n const variation = getActiveVariation({\n splits,\n traits,\n getKnownValue: (key) => {\n return cookies[`plasmic:${key}`];\n },\n updateKnownValue: (key, value) => {\n newCookies.push({ key: `plasmic:${key}`, value });\n },\n });\n\n let newUrl = url;\n if (Object.keys(variation).length) {\n newUrl = rewriteWithVariation(url, variation);\n }\n\n return {\n url: newUrl,\n cookies: newCookies,\n };\n};\n"],"names":["DELIMITER","rewriteWithoutVariation","url","path","variationsArr","split","variation","reduce","acc","elem","key","value","expandVariation","Object","keys","filter","startsWith","sort","a","b","map","join","rewriteWithVariation","endsWith","generateAllSplitPaths","splits","length","curSplit","tail","tailPaths","curPaths","slices","slice","getSplitKey","id","paths","i","j","push","generateAllPaths","meta","getActiveSplits","opts","fetcher","PlasmicModulesFetcher","all","fetchAllData","activeSplits","components","comp","isPage","getMiddlewareResponse","cookies","traits","newCookies","getActiveVariation","getKnownValue","updateKnownValue","newUrl"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0.
|
|
2
|
+
"version": "1.0.3",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@plasmicapp/loader-fetcher": "1.0.2",
|
|
56
|
-
"@plasmicapp/loader-splits": "1.0.
|
|
56
|
+
"@plasmicapp/loader-splits": "1.0.3"
|
|
57
57
|
},
|
|
58
58
|
"publishConfig": {
|
|
59
59
|
"access": "public"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "85308892b93b18d913f32ead0a92f7999741f245"
|
|
62
62
|
}
|