sv 0.6.26 → 0.6.27

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.
Files changed (2) hide show
  1. package/dist/bin.js +37 -77
  2. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -12,7 +12,7 @@ import { promisify } from "node:util";
12
12
 
13
13
  //#region packages/cli/package.json
14
14
  var name = "sv";
15
- var version = "0.6.26";
15
+ var version = "0.6.27";
16
16
  var type = "module";
17
17
  var description = "A CLI for creating and updating SvelteKit projects";
18
18
  var license = "MIT";
@@ -4160,11 +4160,19 @@ var drizzle_default = defineAddon({
4160
4160
  if (options$6.mysql === "mysql2") dbSpecificContent = `
4161
4161
  MYSQL_ROOT_PASSWORD: ${PASSWORD}
4162
4162
  MYSQL_DATABASE: ${DB_NAME}
4163
+ volumes:
4164
+ - mysqldata:/var/lib/mysql
4165
+ volumes:
4166
+ mysqldata:
4163
4167
  `;
4164
4168
  if (options$6.postgresql === "postgres.js") dbSpecificContent = `
4165
4169
  POSTGRES_USER: ${USER}
4166
4170
  POSTGRES_PASSWORD: ${PASSWORD}
4167
4171
  POSTGRES_DB: ${DB_NAME}
4172
+ volumes:
4173
+ - pgdata:/var/lib/postgresql/data
4174
+ volumes:
4175
+ pgdata:
4168
4176
  `;
4169
4177
  content = dedent_default`
4170
4178
  services:
@@ -6191,22 +6199,14 @@ function addSlot(jsAst, htmlAst, svelteVersion) {
6191
6199
  //#region packages/addons/paraglide/index.ts
6192
6200
  const DEFAULT_INLANG_PROJECT = {
6193
6201
  $schema: "https://inlang.com/schema/project-settings",
6194
- modules: [
6195
- "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@1/dist/index.js",
6196
- "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-identical-pattern@1/dist/index.js",
6197
- "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@1/dist/index.js",
6198
- "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@1/dist/index.js",
6199
- "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-valid-js-identifier@1/dist/index.js",
6200
- "https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@2/dist/index.js",
6201
- "https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@0/dist/index.js"
6202
- ],
6203
- "plugin.inlang.messageFormat": { pathPattern: "./messages/{languageTag}.json" }
6202
+ modules: ["https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@4/dist/index.js", "https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@2/dist/index.js"],
6203
+ "plugin.inlang.messageFormat": { pathPattern: "./messages/{locale}.json" }
6204
6204
  };
6205
6205
  const options$2 = defineAddonOptions({
6206
6206
  availableLanguageTags: {
6207
6207
  question: `Which languages would you like to support? ${colors.gray("(e.g. en,de-ch)")}`,
6208
6208
  type: "string",
6209
- default: "en",
6209
+ default: "en, es",
6210
6210
  validate(input) {
6211
6211
  const { invalidLanguageTags, validLanguageTags } = parseLanguageTagInput(input);
6212
6212
  if (invalidLanguageTags.length > 0) if (invalidLanguageTags.length === 1) return `The input "${invalidLanguageTags[0]}" is not a valid IETF BCP 47 language tag`;
@@ -6230,30 +6230,30 @@ else {
6230
6230
  var paraglide_default = defineAddon({
6231
6231
  id: "paraglide",
6232
6232
  shortDescription: "i18n",
6233
- homepage: "https://inlang.com",
6233
+ homepage: "https://inlang.com/m/gerre34r/library-inlang-paraglideJs",
6234
6234
  options: options$2,
6235
6235
  setup: ({ kit, unsupported }) => {
6236
6236
  if (!kit) unsupported("Requires SvelteKit");
6237
6237
  },
6238
- run: ({ sv, options: options$6, typescript, kit, dependencyVersion }) => {
6238
+ run: ({ sv, options: options$6, typescript, kit }) => {
6239
6239
  const ext = typescript ? "ts" : "js";
6240
6240
  if (!kit) throw new Error("SvelteKit is required");
6241
6241
  const paraglideOutDir = "src/lib/paraglide";
6242
- sv.dependency("@inlang/paraglide-sveltekit", "^0.15.5");
6242
+ sv.dependency("@inlang/paraglide-js", "^2.0.0");
6243
6243
  sv.file("project.inlang/settings.json", (content) => {
6244
6244
  if (content) return content;
6245
6245
  const { data, generateCode } = parseJson(content);
6246
6246
  for (const key in DEFAULT_INLANG_PROJECT) data[key] = DEFAULT_INLANG_PROJECT[key];
6247
6247
  const { validLanguageTags: validLanguageTags$1 } = parseLanguageTagInput(options$6.availableLanguageTags);
6248
- const sourceLanguageTag = validLanguageTags$1[0];
6249
- data.sourceLanguageTag = sourceLanguageTag;
6250
- data.languageTags = validLanguageTags$1;
6248
+ const baseLocale = validLanguageTags$1[0];
6249
+ data.baseLocale = baseLocale;
6250
+ data.locales = validLanguageTags$1;
6251
6251
  return generateCode();
6252
6252
  });
6253
6253
  sv.file(`vite.config.${ext}`, (content) => {
6254
6254
  const { ast, generateCode } = parseScript(content);
6255
- const vitePluginName = "paraglide";
6256
- imports_exports.addNamed(ast, "@inlang/paraglide-sveltekit/vite", { paraglide: vitePluginName });
6255
+ const vitePluginName = "paraglideVitePlugin";
6256
+ imports_exports.addNamed(ast, "@inlang/paraglide-js", { paraglideVitePlugin: vitePluginName });
6257
6257
  const { value: rootObject } = exports_exports.defaultExport(ast, function_exports.call("defineConfig", []));
6258
6258
  const param1 = function_exports.argumentByIndex(rootObject, 0, object_exports.createEmpty());
6259
6259
  const pluginsArray = object_exports.property(param1, "plugins", array_exports.createEmpty());
@@ -6266,20 +6266,10 @@ var paraglide_default = defineAddon({
6266
6266
  array_exports.push(pluginsArray, pluginFunctionCall);
6267
6267
  return generateCode();
6268
6268
  });
6269
- sv.file(`src/lib/i18n.${ext}`, (content) => {
6270
- const { ast, generateCode } = parseScript(content);
6271
- imports_exports.addNamed(ast, "@inlang/paraglide-sveltekit", { createI18n: "createI18n" });
6272
- imports_exports.addDefault(ast, "$lib/paraglide/runtime", "* as runtime");
6273
- const createI18nExpression = common_exports.expressionFromString("createI18n(runtime)");
6274
- const i18n = variables_exports.declaration(ast, "const", "i18n", createI18nExpression);
6275
- const existingExport = exports_exports.namedExport(ast, "i18n", i18n);
6276
- if (existingExport.declaration !== i18n) log$1.warn("Setting up $lib/i18n failed because it already exports an i18n function");
6277
- return generateCode();
6278
- });
6279
6269
  sv.file(`src/hooks.${ext}`, (content) => {
6280
6270
  const { ast, generateCode } = parseScript(content);
6281
- imports_exports.addNamed(ast, "$lib/i18n", { i18n: "i18n" });
6282
- const expression = common_exports.expressionFromString("i18n.reroute()");
6271
+ imports_exports.addNamed(ast, "$lib/paraglide/runtime", { deLocalizeUrl: "deLocalizeUrl" });
6272
+ const expression = common_exports.expressionFromString("(request) => deLocalizeUrl(request.url).pathname");
6283
6273
  const rerouteIdentifier = variables_exports.declaration(ast, "const", "reroute", expression);
6284
6274
  const existingExport = exports_exports.namedExport(ast, "reroute", rerouteIdentifier);
6285
6275
  if (existingExport.declaration !== rerouteIdentifier) log$1.warn("Adding the reroute hook automatically failed. Add it manually");
@@ -6287,32 +6277,16 @@ var paraglide_default = defineAddon({
6287
6277
  });
6288
6278
  sv.file(`src/hooks.server.${ext}`, (content) => {
6289
6279
  const { ast, generateCode } = parseScript(content);
6290
- imports_exports.addNamed(ast, "$lib/i18n", { i18n: "i18n" });
6291
- const hookHandleContent = "i18n.handle()";
6280
+ imports_exports.addNamed(ast, "$lib/paraglide/server", { paraglideMiddleware: "paraglideMiddleware" });
6281
+ const hookHandleContent = `({ event, resolve }) => paraglideMiddleware(event.request, ({ request, locale }) => {
6282
+ event.request = request;
6283
+ return resolve(event, {
6284
+ transformPageChunk: ({ html }) => html.replace('%paraglide.lang%', locale)
6285
+ });
6286
+ });`;
6292
6287
  kit_exports.addHooksHandle(ast, typescript, "handleParaglide", hookHandleContent);
6293
6288
  return generateCode();
6294
6289
  });
6295
- sv.file(`${kit.routesDirectory}/+layout.svelte`, (content) => {
6296
- const { script, template, generateCode } = parseSvelte(content, { typescript });
6297
- const paraglideComponentName = "ParaglideJS";
6298
- imports_exports.addNamed(script.ast, "@inlang/paraglide-sveltekit", { [paraglideComponentName]: paraglideComponentName });
6299
- imports_exports.addNamed(script.ast, "$lib/i18n", { i18n: "i18n" });
6300
- if (template.source.length === 0) {
6301
- const svelteVersion = dependencyVersion("svelte");
6302
- if (!svelteVersion) throw new Error("Failed to determine svelte version");
6303
- addSlot(script.ast, template.ast, svelteVersion);
6304
- }
6305
- const templateCode = new MagicString(template.generateCode());
6306
- if (!templateCode.original.includes("<ParaglideJS")) {
6307
- templateCode.indent();
6308
- templateCode.prepend("<ParaglideJS {i18n}>\n");
6309
- templateCode.append("\n</ParaglideJS>");
6310
- }
6311
- return generateCode({
6312
- script: script.generateCode(),
6313
- template: templateCode.toString()
6314
- });
6315
- });
6316
6290
  sv.file("src/app.html", (content) => {
6317
6291
  const { ast, generateCode } = parseHtml(content);
6318
6292
  const htmlNode = ast.children.find((child) => child.type === esm_exports.Tag && child.name === "html");
@@ -6322,8 +6296,7 @@ var paraglide_default = defineAddon({
6322
6296
  }
6323
6297
  htmlNode.attribs = {
6324
6298
  ...htmlNode.attribs,
6325
- lang: "%paraglide.lang%",
6326
- dir: "%paraglide.textDirection%"
6299
+ lang: "%paraglide.lang%"
6327
6300
  };
6328
6301
  return generateCode();
6329
6302
  });
@@ -6338,32 +6311,17 @@ var paraglide_default = defineAddon({
6338
6311
  });
6339
6312
  sv.file(`${kit.routesDirectory}/demo/paraglide/+page.svelte`, (content) => {
6340
6313
  const { script, template, generateCode } = parseSvelte(content, { typescript });
6341
- imports_exports.addDefault(script.ast, "$lib/paraglide/messages.js", "* as m");
6314
+ imports_exports.addNamed(script.ast, "$lib/paraglide/messages.js", { m: "m" });
6342
6315
  imports_exports.addNamed(script.ast, "$app/navigation", { goto: "goto" });
6343
6316
  imports_exports.addNamed(script.ast, "$app/state", { page: "page" });
6344
- imports_exports.addNamed(script.ast, "$lib/i18n", { i18n: "i18n" });
6345
- if (typescript) imports_exports.addNamed(script.ast, "$lib/paraglide/runtime", { AvailableLanguageTag: "AvailableLanguageTag" }, true);
6346
- const [ts] = utils_exports.createPrinter(typescript);
6317
+ imports_exports.addNamed(script.ast, "$lib/paraglide/runtime", { setLocale: "setLocale" });
6347
6318
  const scriptCode = new MagicString(script.generateCode());
6348
- if (!scriptCode.original.includes("function switchToLanguage")) {
6349
- scriptCode.trim();
6350
- scriptCode.append("\n\n");
6351
- scriptCode.append(dedent_default`
6352
- ${ts("", "/**")}
6353
- ${ts("", "* @param {import(\"$lib/paraglide/runtime\").AvailableLanguageTag} newLanguage")}
6354
- ${ts("", "*/")}
6355
- function switchToLanguage(newLanguage${ts(": AvailableLanguageTag")}) {
6356
- const canonicalPath = i18n.route(page.url.pathname);
6357
- const localisedPath = i18n.resolveRoute(canonicalPath, newLanguage);
6358
- goto(localisedPath);
6359
- }
6360
- `);
6361
- }
6362
6319
  const templateCode = new MagicString(template.source);
6363
6320
  templateCode.append("\n\n<h1>{m.hello_world({ name: 'SvelteKit User' })}</h1>\n");
6364
6321
  const { validLanguageTags: validLanguageTags$1 } = parseLanguageTagInput(options$6.availableLanguageTags);
6365
- const links = validLanguageTags$1.map((x) => `${templateCode.getIndentString()}<button onclick={() => switchToLanguage('${x}')}>${x}</button>`).join("\n");
6322
+ const links = validLanguageTags$1.map((x) => `${templateCode.getIndentString()}<button onclick={() => setLocale('${x}')}>${x}</button>`).join("\n");
6366
6323
  templateCode.append(`<div>\n${links}\n</div>`);
6324
+ templateCode.append("<p>\nIf you use VSCode, install the <a href=\"https://marketplace.visualstudio.com/items?itemName=inlang.vs-code-extension\" target=\"_blank\">Sherlock i18n extension</a> for a better i18n experience.\n</p>");
6367
6325
  return generateCode({
6368
6326
  script: scriptCode.toString(),
6369
6327
  template: templateCode.toString()
@@ -6379,7 +6337,7 @@ var paraglide_default = defineAddon({
6379
6337
  });
6380
6338
  },
6381
6339
  nextSteps: ({ highlighter }) => {
6382
- const steps = [`Edit your messages in ${highlighter.path("messages/en.json")}`, "Consider installing the Sherlock IDE Extension"];
6340
+ const steps = [`Edit your messages in ${highlighter.path("messages/en.json")}`];
6383
6341
  if (options$2.demo) steps.push(`Visit ${highlighter.route("/demo/paraglide")} route to view the demo`);
6384
6342
  return steps;
6385
6343
  }
@@ -6472,6 +6430,8 @@ var prettier_default = defineAddon({
6472
6430
  package-lock.json
6473
6431
  pnpm-lock.yaml
6474
6432
  yarn.lock
6433
+ bun.lock
6434
+ bun.lockb
6475
6435
  `;
6476
6436
  });
6477
6437
  sv.file(".prettierrc", (content) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sv",
3
- "version": "0.6.26",
3
+ "version": "0.6.27",
4
4
  "type": "module",
5
5
  "description": "A CLI for creating and updating SvelteKit projects",
6
6
  "license": "MIT",