create-message-kit 1.1.7-beta.20 → 1.1.7-beta.22
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/index.js +30 -25
- package/package.json +1 -1
package/index.js
CHANGED
@@ -32,6 +32,8 @@ Powered by XMTP`;
|
|
32
32
|
|
33
33
|
const { templateType, displayName, destDir } = await gatherProjectInfo();
|
34
34
|
|
35
|
+
console.log("detected package manager", detectPackageManager());
|
36
|
+
|
35
37
|
// Add package.json
|
36
38
|
addPackagejson(destDir, displayName);
|
37
39
|
|
@@ -62,7 +64,7 @@ program.parse(process.argv);
|
|
62
64
|
|
63
65
|
async function addPackagejson(destDir, name) {
|
64
66
|
// Create package.json based on the template
|
65
|
-
|
67
|
+
let packageTemplate = {
|
66
68
|
name: name,
|
67
69
|
private: true,
|
68
70
|
type: "module",
|
@@ -73,13 +75,17 @@ async function addPackagejson(destDir, name) {
|
|
73
75
|
postinstall: "tsc",
|
74
76
|
},
|
75
77
|
dependencies: {
|
76
|
-
"@xmtp/message-kit": "
|
78
|
+
"@xmtp/message-kit": "latest",
|
77
79
|
},
|
78
80
|
engines: {
|
79
81
|
node: ">=20",
|
80
82
|
},
|
81
83
|
};
|
82
|
-
|
84
|
+
// Only add packageManager field if using yarn
|
85
|
+
const pkgManager = detectPackageManager();
|
86
|
+
if (pkgManager.startsWith("yarn")) {
|
87
|
+
packageTemplate.packageManager = pkgManager;
|
88
|
+
}
|
83
89
|
fs.writeJsonSync(resolve(destDir, "package.json"), packageTemplate, {
|
84
90
|
spaces: 2,
|
85
91
|
});
|
@@ -130,24 +136,6 @@ async function gatherProjectInfo() {
|
|
130
136
|
return { templateType, displayName, destDir, templateDir };
|
131
137
|
}
|
132
138
|
|
133
|
-
function updateDependenciesToLatest(pkgJson) {
|
134
|
-
const updateToLatest = (deps) => {
|
135
|
-
for (const key in deps) {
|
136
|
-
if (deps[key].startsWith("workspace:")) {
|
137
|
-
deps[key] = "latest";
|
138
|
-
}
|
139
|
-
}
|
140
|
-
};
|
141
|
-
|
142
|
-
if (pkgJson.dependencies) {
|
143
|
-
updateToLatest(pkgJson.dependencies);
|
144
|
-
}
|
145
|
-
|
146
|
-
if (pkgJson.devDependencies) {
|
147
|
-
updateToLatest(pkgJson.devDependencies);
|
148
|
-
}
|
149
|
-
}
|
150
|
-
|
151
139
|
function createTsconfig(destDir) {
|
152
140
|
const tsconfigContent = {
|
153
141
|
include: ["src/**/*"],
|
@@ -211,10 +199,27 @@ yarn-error.log*
|
|
211
199
|
function detectPackageManager() {
|
212
200
|
const userAgent = process.env.npm_config_user_agent;
|
213
201
|
if (!userAgent) return "npm";
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
202
|
+
|
203
|
+
// Improve package manager detection
|
204
|
+
const managers = {
|
205
|
+
bun: "bun",
|
206
|
+
yarn: "yarn",
|
207
|
+
pnpm: "pnpm",
|
208
|
+
npm: "npm",
|
209
|
+
};
|
210
|
+
|
211
|
+
for (const [manager, value] of Object.entries(managers)) {
|
212
|
+
if (userAgent.includes(manager)) {
|
213
|
+
// Extract version for yarn
|
214
|
+
if (manager === "yarn") {
|
215
|
+
const version =
|
216
|
+
userAgent.match(/yarn\/(\d+\.\d+\.\d+)/)?.[1] || "4.5.1";
|
217
|
+
return `${value}@${version}`;
|
218
|
+
}
|
219
|
+
return value;
|
220
|
+
}
|
221
|
+
}
|
222
|
+
|
218
223
|
return "npm";
|
219
224
|
}
|
220
225
|
|