pika-ux 1.0.0-beta.4 → 1.0.0-beta.6

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/cli/index.js CHANGED
@@ -11,6 +11,7 @@ import { promisify } from 'util';
11
11
  import ora from 'ora';
12
12
  import semver from 'semver';
13
13
  import { glob } from 'glob';
14
+ import { createRequire } from 'module';
14
15
 
15
16
  var Logger = class {
16
17
  spinner = null;
@@ -100,15 +101,34 @@ function toHumanReadable(projectName) {
100
101
  return parts.map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()).join(" ");
101
102
  }
102
103
  async function processTemplateFiles(sourceDir, targetDir, variables) {
103
- const files = await glob("**/*", {
104
- cwd: sourceDir,
105
- dot: true,
106
- nodir: true,
107
- absolute: false
108
- });
104
+ logger.debug(`Processing template files from: ${sourceDir}`);
105
+ logger.debug(`Target directory: ${targetDir}`);
106
+ let files;
107
+ try {
108
+ files = await glob("**/*", {
109
+ cwd: sourceDir,
110
+ dot: true,
111
+ nodir: true,
112
+ absolute: false
113
+ });
114
+ logger.debug(`Glob found ${files.length} files`);
115
+ } catch (error) {
116
+ logger.debug(`Glob error: ${error}`);
117
+ throw new Error(`Failed to read template directory: ${error}`);
118
+ }
119
+ if (files.length === 0) {
120
+ logger.warn(`No files found in template directory: ${sourceDir}`);
121
+ try {
122
+ const dirContents = await fs.readdir(sourceDir);
123
+ logger.debug(`Directory contents: ${dirContents.join(", ")}`);
124
+ } catch (e) {
125
+ logger.debug(`Could not read directory: ${e}`);
126
+ }
127
+ }
109
128
  for (const file of files) {
110
129
  const sourcePath = path2.join(sourceDir, file);
111
130
  const targetPath = path2.join(targetDir, file);
131
+ logger.debug(`Copying: ${file}`);
112
132
  await fs.ensureDir(path2.dirname(targetPath));
113
133
  let content = await fs.readFile(sourcePath, "utf8");
114
134
  content = content.replace(/\{projectName\}/g, variables.projectName).replace(/\{humanReadableProjectName\}/g, variables.humanReadableProjectName).replace(/\{pikaUxVersion\}/g, variables.pikaUxVersion);
@@ -120,11 +140,10 @@ async function copyAndProcessTemplate(templateDir, targetDir, variables) {
120
140
  await fs.ensureDir(targetDir);
121
141
  await processTemplateFiles(templateDir, targetDir, variables);
122
142
  }
123
-
124
- // tools/cli/commands/create.ts
125
143
  var execAsync2 = promisify(exec);
126
144
  var __filename = fileURLToPath(import.meta.url);
127
145
  var __dirname = path2.dirname(__filename);
146
+ var require2 = createRequire(import.meta.url);
128
147
  async function createCommand(options = {}) {
129
148
  try {
130
149
  logger.newLine();
@@ -180,16 +199,33 @@ async function createCommand(options = {}) {
180
199
  }
181
200
  const spinner = logger.startSpinner("Creating project...");
182
201
  try {
183
- const packageJsonPath = path2.join(__dirname, "../../../package.json");
184
- const packageJson2 = await fs.readJson(packageJsonPath);
185
- const pikaUxVersion = packageJson2.version;
186
- const templateDir = path2.join(__dirname, "../template-files");
202
+ let pikaUxVersion = "1.0.0-beta.4";
203
+ try {
204
+ const pikaUxPackageJsonPath = require2.resolve("pika-ux/package.json");
205
+ const pikaUxPackageJson = await fs.readJson(pikaUxPackageJsonPath);
206
+ pikaUxVersion = pikaUxPackageJson.version;
207
+ } catch (error) {
208
+ logger.debug("Could not determine pika-ux version, using fallback");
209
+ }
210
+ let templateDir;
211
+ try {
212
+ const pikaUxRoot = path2.dirname(require2.resolve("pika-ux/package.json"));
213
+ templateDir = path2.join(pikaUxRoot, "dist/cli/template-files");
214
+ logger.debug(`Template directory resolved to: ${templateDir}`);
215
+ } catch (error) {
216
+ templateDir = path2.join(__dirname, "../template-files");
217
+ logger.debug(`Using fallback template directory: ${templateDir}`);
218
+ }
219
+ if (!await fs.pathExists(templateDir)) {
220
+ throw new Error(`Template directory not found: ${templateDir}`);
221
+ }
187
222
  logger.updateSpinner("Processing template files...");
188
223
  await copyAndProcessTemplate(templateDir, targetPath, {
189
224
  projectName,
190
225
  humanReadableProjectName: humanReadableName,
191
226
  pikaUxVersion
192
227
  });
228
+ logger.debug(`Files copied to: ${targetPath}`);
193
229
  logger.stopSpinner(true, "Template files processed");
194
230
  const installSpinner = logger.startSpinner("Installing dependencies with pnpm...");
195
231
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pika-ux",
3
- "version": "1.0.0-beta.4",
3
+ "version": "1.0.0-beta.6",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./src/index.ts",
package/readme.md CHANGED
@@ -7,7 +7,7 @@ UI Components library for the Pika project. This package contains both custom Pi
7
7
  The fastest way to create a new webcomponent project with Pika UX:
8
8
 
9
9
  ```bash
10
- npx pika-ux create my-webcomponent
10
+ pnpm dlx pika-ux create my-webcomponent
11
11
  ```
12
12
 
13
13
  ### Global Installation (Optional)