create-rstack 1.7.8 → 1.7.9

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/index.d.ts CHANGED
@@ -21,12 +21,12 @@ export declare function checkCancel<T>(value: unknown): T;
21
21
  * @param isMergePackageJson Merge package.json files
22
22
  * @param skipFiles Files to skip
23
23
  */
24
- export declare function copyFolder({ from, to, version, packageName, packageManager, isMergePackageJson, skipFiles, }: {
24
+ export declare function copyFolder({ from, to, version, packageName, templateParameters, isMergePackageJson, skipFiles, }: {
25
25
  from: string;
26
26
  to: string;
27
27
  version?: string | Record<string, string>;
28
28
  packageName?: string;
29
- packageManager: string;
29
+ templateParameters?: Record<string, string>;
30
30
  isMergePackageJson?: boolean;
31
31
  skipFiles?: string[];
32
32
  }): void;
package/dist/index.js CHANGED
@@ -1648,6 +1648,9 @@ async function create({ name, root, templates, skipFiles, getTemplateName, mapES
1648
1648
  const cwd = process.cwd();
1649
1649
  const pkgInfo = pkgFromUserAgent(process.env.npm_config_user_agent);
1650
1650
  const packageManager = pkgInfo ? pkgInfo.name : 'npm';
1651
+ const templateParameters = {
1652
+ packageManager
1653
+ };
1651
1654
  if (!version) version = (await readPackageJson(root)).version;
1652
1655
  const projectName = argv.dir ?? checkCancel(await he({
1653
1656
  message: 'Project name or path',
@@ -1687,14 +1690,14 @@ async function create({ name, root, templates, skipFiles, getTemplateName, mapES
1687
1690
  to: distFolder,
1688
1691
  version,
1689
1692
  skipFiles,
1690
- packageManager
1693
+ templateParameters
1691
1694
  });
1692
1695
  copyFolder({
1693
1696
  from: srcFolder,
1694
1697
  to: distFolder,
1695
1698
  version,
1696
1699
  packageName,
1697
- packageManager,
1700
+ templateParameters,
1698
1701
  skipFiles
1699
1702
  });
1700
1703
  const packageRoot = node_path.resolve(src_dirname, '..');
@@ -1715,7 +1718,7 @@ async function create({ name, root, templates, skipFiles, getTemplateName, mapES
1715
1718
  to: distFolder,
1716
1719
  version,
1717
1720
  skipFiles,
1718
- packageManager,
1721
+ templateParameters,
1719
1722
  isMergePackageJson: true
1720
1723
  });
1721
1724
  agentsMdSearchDirs.push(toolFolder);
@@ -1727,7 +1730,7 @@ async function create({ name, root, templates, skipFiles, getTemplateName, mapES
1727
1730
  to: distFolder,
1728
1731
  version,
1729
1732
  skipFiles,
1730
- packageManager,
1733
+ templateParameters,
1731
1734
  isMergePackageJson: true
1732
1735
  });
1733
1736
  agentsMdSearchDirs.push(toolFolder);
@@ -1737,7 +1740,7 @@ async function create({ name, root, templates, skipFiles, getTemplateName, mapES
1737
1740
  if (agentsFiles.length > 0) {
1738
1741
  const mergedAgents = mergeAgentsFiles(agentsFiles);
1739
1742
  const agentsPath = node_path.join(distFolder, 'AGENTS.md');
1740
- node_fs.writeFileSync(agentsPath, `${replacePlaceholder(mergedAgents, packageManager)}\n`);
1743
+ node_fs.writeFileSync(agentsPath, `${replacePlaceholder(mergedAgents, templateParameters)}\n`);
1741
1744
  }
1742
1745
  const nextSteps = noteInformation ? noteInformation : [
1743
1746
  `1. ${picocolors_default().cyan(`cd ${targetDir}`)}`,
@@ -1768,8 +1771,12 @@ function mergePackageJson(targetPackage, extraPackage) {
1768
1771
  node_fs.writeFileSync(targetPackage, `${JSON.stringify(mergedJson, null, 2)}\n`);
1769
1772
  }
1770
1773
  const isMarkdown = (file)=>file.endsWith('.md') || file.endsWith('.mdx');
1771
- const replacePlaceholder = (content, packageManager)=>content.replace(/{{ packageManager }}/g, packageManager);
1772
- function copyFolder({ from, to, version, packageName, packageManager, isMergePackageJson, skipFiles = [] }) {
1774
+ const replacePlaceholder = (content, templateParameters)=>{
1775
+ let result = content;
1776
+ for (const key of Object.keys(templateParameters))result = result.replace(new RegExp(`{{ ${key} }}`, 'g'), templateParameters[key]);
1777
+ return result;
1778
+ };
1779
+ function copyFolder({ from, to, version, packageName, templateParameters, isMergePackageJson, skipFiles = [] }) {
1773
1780
  const renameFiles = {
1774
1781
  gitignore: '.gitignore'
1775
1782
  };
@@ -1789,7 +1796,7 @@ function copyFolder({ from, to, version, packageName, packageManager, isMergePac
1789
1796
  if (stat.isDirectory()) copyFolder({
1790
1797
  from: srcFile,
1791
1798
  to: distFile,
1792
- packageManager,
1799
+ templateParameters,
1793
1800
  version,
1794
1801
  skipFiles
1795
1802
  });
@@ -1800,9 +1807,9 @@ function copyFolder({ from, to, version, packageName, packageManager, isMergePac
1800
1807
  updatePackageJson(distFile, version, packageName);
1801
1808
  } else {
1802
1809
  node_fs.copyFileSync(srcFile, distFile);
1803
- if (isMarkdown(distFile)) {
1810
+ if (templateParameters && isMarkdown(distFile)) {
1804
1811
  const content = node_fs.readFileSync(distFile, 'utf-8');
1805
- node_fs.writeFileSync(distFile, replacePlaceholder(content, packageManager));
1812
+ node_fs.writeFileSync(distFile, replacePlaceholder(content, templateParameters));
1806
1813
  }
1807
1814
  }
1808
1815
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-rstack",
3
- "version": "1.7.8",
3
+ "version": "1.7.9",
4
4
  "description": "Create a new Rstack project",
5
5
  "repository": {
6
6
  "type": "git",