bernova 1.5.2 → 1.5.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/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const s=require("fs"),e=require("fs").promises,a=require("path"),{writeDoc:t}=require("../writeDoc/writeDoc.utils"),{compilerTypeValid:o}=require("../../constants"),{simplifyName:l}=require("../simplifyName/simplifyName.utils"),i=s=>`export default {${s}}`,
|
|
1
|
+
const s=require("fs"),e=require("fs").promises,a=require("path"),{writeDoc:t}=require("../writeDoc/writeDoc.utils"),{compilerTypeValid:o}=require("../../constants"),{simplifyName:l}=require("../simplifyName/simplifyName.utils"),i=(s="provider")=>s.charAt(0).toLowerCase()+s.slice(1),r=s=>`export default {${s}}`,c=(s,e)=>`export interface ${e} {${s}}\n`,n=async({dir:s,content:e,fileName:o,theme:l,declare:i=null})=>{const n=i?c(e,i):r(e),m=`stats/${l}/${o}`,p=a.resolve(s,m);await t(p,n,m)},m=async({providerDocs:s,declarationHelp:e,compilerType:i,dir:r})=>{const c=Object.entries(s),m=[];for(const[s,a]of c){m.push(s);const t=a.beforeFiles?.length>0,c=a.afterFiles?.length>0,p=t?`before:${a.beforeFiles}`:"",d=c?`after:${a.afterFiles}`:"",$=t||c;let C=$?"foreign:{":"";C+=p,C+=p.length&&d.length?",":"",C+=d,C+=$?"}":"";const b="cssPath"in a?`'${s}':{css:'${a.cssPath}',${C}}`:"";if(await n({dir:r,content:b,fileName:"cssTheme.js",theme:s}),e){const e="cssPath"in a?`'${s}':{css:string,foreign?:{before?:string[],after?:string[]}}`:"",t=`${l(s)}CssTheme`;await n({dir:r,content:e,fileName:"cssTheme.d.ts",theme:s,declare:t})}if(i!==o.foundationOnly){const t="classNames"in a?`'${s}':{${a.classNames.doc}}`:"";await n({dir:r,content:t,fileName:"cssClassNames.js",theme:s});const o="availableComp"in a?`'${s}':{${a.availableComp.doc}}`:"";if(await n({dir:r,content:o,fileName:"cssAvailableComponents.js",theme:s}),e){const e="classNames"in a?`'${s}':{${a.classNames.declare}}`:"",t=`${l(s)}CssClassNames`;await n({dir:r,content:e,fileName:"cssClassNames.d.ts",theme:s,declare:t});const o="availableComp"in a?`'${s}':{${a.availableComp.declare}}`:"",i=`${l(s)}CssAvailableComponents`;await n({dir:r,content:o,fileName:"cssAvailableComponents.d.ts",theme:s,declare:i})}}if(i!==o.componentOnly){const t="variables"in a?`'${s}':{${a.variables.doc}}`:"";await n({dir:r,content:t,fileName:"cssVars.js",theme:s});const o="globalStyles"in a?`'${s}':{${a.globalStyles.doc}}`:"";await n({dir:r,content:o,fileName:"cssGlobalStyles.js",theme:s});const i="mediaQueries"in a?`'${s}':{${a.mediaQueries.doc}}`:"";if(await n({dir:r,content:i,fileName:"cssMediaQueries.js",theme:s}),e){const e="variables"in a?`'${s}':{${a.variables.declare}}`:"",t=`${l(s)}CssVars`;await n({dir:r,content:e,fileName:"cssVars.d.ts",theme:s,declare:t});const o="globalStyles"in a?`'${s}':{${a.globalStyles.declare}}`:"",i=`${l(s)}CssGlobalStyles`;await n({dir:r,content:o,fileName:"cssGlobalStyles.d.ts",theme:s,declare:i});const c="mediaQueries"in a?`'${s}':{${a.mediaQueries.declare}}`:"",m=`${l(s)}CssMediaQueries`;await n({dir:r,content:c,fileName:"cssMediaQueries.d.ts",theme:s,declare:m})}}}const p={toImport:"",cssThemes:"export const cssThemes = {",cssVars:"export const cssVars = {",cssClassNames:"export const cssClasses = {",cssAvailableComponents:"export const cssAvailableComponents = {",cssGlobalStyles:"export const cssGlobalStyles = {",cssMediaQueries:"export const cssMediaQueries = {"},d={toImport:"",cssThemes:"export declare const cssThemes: ",cssVars:"export declare const cssVars: ",cssClassNames:"export declare const cssClasses: ",cssAvailableComponents:"export declare const cssAvailableComponents: ",cssGlobalStyles:"export declare const cssGlobalStyles: ",cssMediaQueries:"export declare const cssMediaQueries: "};m.forEach((s,a)=>{const t=l(s);p.toImport+=`import ${t}CssTheme from './${s}/cssTheme.js';\n`,p.toImport+=`import ${t}CssVars from './${s}/cssVars.js';\n`,p.toImport+=`import ${t}CssClassNames from './${s}/cssClassNames.js';\n`,p.toImport+=`import ${t}CssAvailableComponents from './${s}/cssAvailableComponents.js';\n`,p.toImport+=`import ${t}CssGlobalStyles from './${s}/cssGlobalStyles.js';\n`,p.toImport+=`import ${t}CssMediaQueries from './${s}/cssMediaQueries.js';\n`,p.cssThemes+=`...${t}CssTheme,`,p.cssVars+=`...${t}CssVars,`,p.cssClassNames+=`...${t}CssClassNames,`,p.cssAvailableComponents+=`...${t}CssAvailableComponents,`,p.cssGlobalStyles+=`...${t}CssGlobalStyles,`,p.cssMediaQueries+=`...${t}CssMediaQueries,`,e&&(d.toImport+=`import type { ${t}CssTheme } from './${s}/cssTheme.d.ts';\n`,d.toImport+=`import type { ${t}CssVars } from './${s}/cssVars.d.ts';\n`,d.toImport+=`import type { ${t}CssClassNames } from './${s}/cssClassNames.d.ts';\n`,d.toImport+=`import type { ${t}CssAvailableComponents } from './${s}/cssAvailableComponents.d.ts';\n`,d.toImport+=`import type { ${t}CssGlobalStyles } from './${s}/cssGlobalStyles.d.ts';\n`,d.toImport+=`import type { ${t}CssMediaQueries } from './${s}/cssMediaQueries.d.ts';\n`,a>0&&(d.cssThemes+=" & ",d.cssVars+=" & ",d.cssClassNames+=" & ",d.cssAvailableComponents+=" & ",d.cssGlobalStyles+=" & ",d.cssMediaQueries+=" & "),d.cssThemes+=`${t}CssTheme`,d.cssVars+=`${t}CssVars`,d.cssClassNames+=`${t}CssClassNames`,d.cssAvailableComponents+=`${t}CssAvailableComponents`,d.cssGlobalStyles+=`${t}CssGlobalStyles`,d.cssMediaQueries+=`${t}CssMediaQueries`)}),p.cssThemes+="}",p.cssVars+="}",p.cssClassNames+="}",p.cssAvailableComponents+="}",p.cssGlobalStyles+="}",p.cssMediaQueries+="}";const $=`${p.toImport}\n${p.cssThemes}\n${p.cssVars}\n${p.cssClassNames}\n${p.cssAvailableComponents}\n${p.cssGlobalStyles}\n${p.cssMediaQueries}\n`;if(await t(a.join(r,"stats/stats.js"),$,"stats.js"),e){d.cssThemes+=";",d.cssVars+=";",d.cssClassNames+=";",d.cssAvailableComponents+=";",d.cssGlobalStyles+=";",d.cssMediaQueries+=";";const s=`${d.toImport}\n${d.cssThemes}\n${d.cssVars}\n${d.cssClassNames}\n${d.cssAvailableComponents}\n${d.cssGlobalStyles}\n${d.cssMediaQueries}\n`;await t(a.join(r,"stats/stats.d.ts"),s,"stats.d.ts")}},p=async({dir:s,providerDocs:o,declarationHelp:l,providerName:r,compilerType:c})=>{await m({providerDocs:o,declarationHelp:l,compilerType:c,dir:s});const n=a.resolve(__dirname,"./template/providerTemplate.js");let p=await e.readFile(n,"utf8");const d=i(r);if(p=p.replace(/\$_Provider_\$/g,r),await t(a.join(s,`${d}.js`),p,`${d}.js`),l){const o=a.resolve(__dirname,"./template/providerTemplate.d.ts");let l=await e.readFile(o,"utf8");l=l.replace(/\$_Provider_\$/g,r),await t(a.join(s,`${d}.d.ts`),l,`${d}.d.ts`)}};module.exports={generateProvider:p};
|
package/package.json
CHANGED
|
@@ -19,6 +19,15 @@ const { writeDoc } = require('../writeDoc/writeDoc.utils');
|
|
|
19
19
|
const { compilerTypeValid } = require('../../constants');
|
|
20
20
|
const { simplifyName } = require('../simplifyName/simplifyName.utils');
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Convert the first character of a string to lowercase
|
|
24
|
+
* @param {string} str - input string
|
|
25
|
+
* @return {string} - string with first character in lowecase
|
|
26
|
+
*/
|
|
27
|
+
const lowerCaseFirstChar = (str = 'provider') => {
|
|
28
|
+
return str.charAt(0).toLowerCase() + str.slice(1);
|
|
29
|
+
}
|
|
30
|
+
|
|
22
31
|
/**
|
|
23
32
|
* Return the content wrapped in an anonymous object
|
|
24
33
|
* to avoid polluting the global scope
|
|
@@ -285,8 +294,9 @@ const generateProvider = async ({
|
|
|
285
294
|
const providerDir = path.resolve(__dirname, './template/providerTemplate.js');
|
|
286
295
|
let template = await fs.readFile(providerDir, 'utf8');
|
|
287
296
|
//* customize provider name
|
|
297
|
+
const providerFileName = lowerCaseFirstChar(providerName);
|
|
288
298
|
template = template.replace(/\$_Provider_\$/g, providerName);
|
|
289
|
-
await writeDoc(`${
|
|
299
|
+
await writeDoc(path.join(dir, `${providerFileName}.js`), template, `${providerFileName}.js`);
|
|
290
300
|
|
|
291
301
|
if (declarationHelp) {
|
|
292
302
|
//? write provider declare document
|
|
@@ -297,9 +307,9 @@ const generateProvider = async ({
|
|
|
297
307
|
let templateDeclare = await fs.readFile(providerDirDeclare, 'utf8');
|
|
298
308
|
templateDeclare = templateDeclare.replace(/\$_Provider_\$/g, providerName);
|
|
299
309
|
await writeDoc(
|
|
300
|
-
`${
|
|
310
|
+
path.join(dir, `${providerFileName}.d.ts`),
|
|
301
311
|
templateDeclare,
|
|
302
|
-
`${
|
|
312
|
+
`${providerFileName}.d.ts`
|
|
303
313
|
);
|
|
304
314
|
}
|
|
305
315
|
};
|