@stacksjs/slug 0.64.6 → 0.67.0

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.
@@ -0,0 +1 @@
1
+ export declare const wipSlug: boolean;
package/dist/index.js CHANGED
@@ -1,4 +1 @@
1
1
  var b=!0;export{b as wipSlug};
2
-
3
- //# debugId=1FEF6AB878E9E0B364756E2164756E21
4
- //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@stacksjs/slug",
3
3
  "type": "module",
4
- "version": "0.64.6",
4
+ "version": "0.67.0",
5
5
  "description": "The Stacks slug functionality.",
6
6
  "author": "Chris Breuer",
7
+ "contributors": ["Chris Breuer <chris@stacksjs.org>"],
7
8
  "license": "MIT",
8
9
  "funding": "https://github.com/sponsors/chrisbbreuer",
9
10
  "homepage": "https://github.com/stacksjs/stacks/tree/main/storage/framework/core/database#readme",
@@ -15,45 +16,31 @@
15
16
  "bugs": {
16
17
  "url": "https://github.com/stacksjs/stacks/issues"
17
18
  },
18
- "keywords": [
19
- "slugs",
20
- "models",
21
- "urls",
22
- "stacks"
23
- ],
19
+ "keywords": ["slugs", "models", "urls", "stacks"],
24
20
  "exports": {
25
21
  ".": {
26
- "bun": "./src/index.ts",
27
22
  "import": "./dist/index.js"
28
23
  },
29
24
  "./*": {
30
- "bun": "./src/*",
31
25
  "import": "./dist/*"
32
26
  }
33
27
  },
34
28
  "module": "dist/index.js",
35
29
  "types": "dist/index.d.ts",
36
- "contributors": [
37
- "Chris Breuer <chris@stacksjs.org>"
38
- ],
39
- "files": [
40
- "README.md",
41
- "dist",
42
- "src"
43
- ],
30
+ "files": ["README.md", "dist"],
44
31
  "scripts": {
45
- "build": "bun --bun build.ts",
46
- "typecheck": "bun --bun tsc --noEmit",
32
+ "build": "bun build.ts",
33
+ "typecheck": "bun tsc --noEmit",
47
34
  "prepublishOnly": "bun run build"
48
35
  },
49
36
  "dependencies": {
50
- "@stacksjs/cli": "latest",
51
- "@stacksjs/database": "latest",
52
- "@stacksjs/path": "latest",
53
- "@stacksjs/strings": "latest",
54
- "@stacksjs/utils": "latest"
37
+ "@stacksjs/cli": "0.67.0",
38
+ "@stacksjs/database": "0.67.0",
39
+ "@stacksjs/path": "0.67.0",
40
+ "@stacksjs/strings": "0.67.0",
41
+ "@stacksjs/utils": "0.67.0"
55
42
  },
56
43
  "devDependencies": {
57
- "@stacksjs/development": "latest"
44
+ "@stacksjs/development": "0.67.0"
58
45
  }
59
46
  }
package/dist/index.js.map DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "sourcesContent": [
5
- "export const wipSlug = true\n// import { slug as slugify } from '@stacksjs/strings'\n// import type { ColumnOptions, Model } from '@stacksjs/types'\n// import { client as DatabaseClient } from '@stacksjs/database'\n\n// const database = new DatabaseClient()\n\n// export function generateSlug(model: Model, column: string, text: string): string {\n// const field: ColumnOptions | undefined = model.columns.find((f: ColumnOptions) => f.name === column)\n// if (!field)\n// throw new Error(`Invalid column name: ${column}`)\n\n// const fieldValue = text || ''\n// const slug = slugify(fieldValue, { lower: true })\n\n// if (field.unique) {\n// let uniqueSlug = slug\n// let count = 0\n// while (model.records.some(record => record[column] === uniqueSlug)) {\n// count++\n// uniqueSlug = `${slug}-${count}`\n// }\n// return uniqueSlug\n// }\n\n// return slug\n// }\n\n// async function addSlugColumn(modelName: string, columnName: string): Promise<void> {\n// const model = (database as any)[modelName]\n// const fields = model._schema.fields\n\n// const originalField = fields.find((field: any) => field.dbName === columnName)\n\n// const slugField = {\n// name: `${columnName}_slug`,\n// type: 'String',\n// unique: originalField.unique || false,\n// required: originalField.required || false,\n// default: '',\n// }\n\n// await database.$executeRaw(`ALTER TABLE \"${modelName}\" ADD COLUMN \"${columnName}_slug\" VARCHAR(255)`)\n\n// const records = await model.findMany()\n\n// for (const record of records) {\n// const originalValue = record[columnName]\n// const slugValue = slugify(originalValue)\n// await model.update({ where: { id: record.id }, data: { [`${columnName}_slug`]: slugValue } })\n// }\n// }\n\n// export {\n// generateSlug as slug,\n// }\n"
6
- ],
7
- "mappings": "AAAO,IAAM,EAAU",
8
- "debugId": "1FEF6AB878E9E0B364756E2164756E21",
9
- "names": []
10
- }
package/src/index.ts DELETED
@@ -1,56 +0,0 @@
1
- export const wipSlug = true
2
- // import { slug as slugify } from '@stacksjs/strings'
3
- // import type { ColumnOptions, Model } from '@stacksjs/types'
4
- // import { client as DatabaseClient } from '@stacksjs/database'
5
-
6
- // const database = new DatabaseClient()
7
-
8
- // export function generateSlug(model: Model, column: string, text: string): string {
9
- // const field: ColumnOptions | undefined = model.columns.find((f: ColumnOptions) => f.name === column)
10
- // if (!field)
11
- // throw new Error(`Invalid column name: ${column}`)
12
-
13
- // const fieldValue = text || ''
14
- // const slug = slugify(fieldValue, { lower: true })
15
-
16
- // if (field.unique) {
17
- // let uniqueSlug = slug
18
- // let count = 0
19
- // while (model.records.some(record => record[column] === uniqueSlug)) {
20
- // count++
21
- // uniqueSlug = `${slug}-${count}`
22
- // }
23
- // return uniqueSlug
24
- // }
25
-
26
- // return slug
27
- // }
28
-
29
- // async function addSlugColumn(modelName: string, columnName: string): Promise<void> {
30
- // const model = (database as any)[modelName]
31
- // const fields = model._schema.fields
32
-
33
- // const originalField = fields.find((field: any) => field.dbName === columnName)
34
-
35
- // const slugField = {
36
- // name: `${columnName}_slug`,
37
- // type: 'String',
38
- // unique: originalField.unique || false,
39
- // required: originalField.required || false,
40
- // default: '',
41
- // }
42
-
43
- // await database.$executeRaw(`ALTER TABLE "${modelName}" ADD COLUMN "${columnName}_slug" VARCHAR(255)`)
44
-
45
- // const records = await model.findMany()
46
-
47
- // for (const record of records) {
48
- // const originalValue = record[columnName]
49
- // const slugValue = slugify(originalValue)
50
- // await model.update({ where: { id: record.id }, data: { [`${columnName}_slug`]: slugValue } })
51
- // }
52
- // }
53
-
54
- // export {
55
- // generateSlug as slug,
56
- // }