Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.

Commit

Permalink
Merge branch 'main' into next
Browse files Browse the repository at this point in the history
  • Loading branch information
KaneFreeman committed Apr 25, 2024
2 parents 777ca39 + eeb60a7 commit bae4d87
Show file tree
Hide file tree
Showing 11 changed files with 35 additions and 14 deletions.
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
"version": "4.1.3"
"version": "4.2.0"
}
4 changes: 2 additions & 2 deletions packages/app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@staticcms/app",
"version": "4.1.3",
"version": "4.2.0",
"license": "MIT",
"description": "Static CMS application.",
"repository": "https://github.com/StaticJsCMS/static-cms",
Expand Down Expand Up @@ -39,7 +39,7 @@
"dependencies": {
"@babel/eslint-parser": "7.23.3",
"@babel/runtime": "7.23.7",
"@staticcms/core": "^4.1.3",
"@staticcms/core": "^4.2.0",
"buffer": "6.0.3",
"react": "18.2.0",
"react-dom": "18.2.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@staticcms/core",
"version": "4.1.3",
"version": "4.2.0",
"license": "MIT",
"description": "Static CMS core application.",
"repository": "https://github.com/StaticJsCMS/static-cms",
Expand Down
1 change: 1 addition & 0 deletions packages/core/src/backend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1118,6 +1118,7 @@ export class Backend<EF extends BaseField = UnknownField, BC extends BackendClas
path,
authorLogin: user.login,
authorName: user.name,
data: entryDraft.entry.data,
},
user.useOpenAuthoring,
);
Expand Down
10 changes: 8 additions & 2 deletions packages/core/src/lib/formatters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { isEmpty } from './util/string.util';
import {
addFileTemplateFields,
compileStringTemplate,
getExplicitFieldReplacement,
keyToPathArray,
parseDateFromEntry,
} from './widgets/stringTemplate';
Expand Down Expand Up @@ -41,16 +42,17 @@ type Options<EF extends BaseField> = {
collection?: CollectionWithDefaults<EF>;
authorLogin?: string;
authorName?: string;
data?: EntryData;
};

export function commitMessageFormatter<EF extends BaseField>(
type: keyof typeof commitMessageTemplates,
config: ConfigWithDefaults<EF>,
{ slug, path, collection, authorLogin, authorName }: Options<EF>,
{ slug, path, collection, authorLogin, authorName, data }: Options<EF>,
isOpenAuthoring?: boolean,
) {
const templates = { ...commitMessageTemplates, ...(config.backend.commit_messages || {}) };

let explicitReplacement;
const commitMessage = templates[type].replace(variableRegex, (_, variable) => {
switch (variable) {
case 'slug':
Expand All @@ -64,6 +66,10 @@ export function commitMessageFormatter<EF extends BaseField>(
case 'author-name':
return authorName || '';
default:
explicitReplacement = getExplicitFieldReplacement(variable, data);
if (explicitReplacement) {
return explicitReplacement;
}
console.warn(
`[StaticCMS] Ignoring unknown variable “${variable}” in commit message template.`,
);
Expand Down
2 changes: 2 additions & 0 deletions packages/core/src/lib/util/media.util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,8 @@ export function selectMediaFilePublicPath<EF extends BaseField>(

if (mediaPath.startsWith(mediaFolder)) {
return mediaPath.replace(mediaFolder, publicFolder);
} else if (mediaPath.startsWith(trim(mediaFolder, '/'))) {
return mediaPath.replace(trim(mediaFolder, '/'), publicFolder);
}

return mediaPath;
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/lib/widgets/stringTemplate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ export function expandPath({

// Allow `fields.` prefix in placeholder to override built in replacements
// like "slug" and "year" with values from fields of the same name.
function getExplicitFieldReplacement(key: string, data: ObjectValue | undefined | null) {
export function getExplicitFieldReplacement(key: string, data: ObjectValue | undefined | null) {
if (!key.startsWith(FIELD_PREFIX)) {
return;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/demo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"postcss": "8.4.32",
"postcss-scss": "4.0.9",
"prettier": "3.1.1",
"vite": "5.0.12",
"vite": "5.0.13",
"vite-plugin-svgr": "4.2.0",
"webpack": "5.89.0"
},
Expand Down
5 changes: 3 additions & 2 deletions packages/docs/content/docs/configuration-options.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ Static CMS generates the following commit types:

| Commit type | When is it triggered? | Available template tags |
| ------------- | ---------------------------- | ----------------------------------------------------------- |
| `create` | A new entry is created | `slug`, `path`, `collection`, `author-login`, `author-name` |
| `update` | An existing entry is changed | `slug`, `path`, `collection`, `author-login`, `author-name` |
| `create` | A new entry is created | `slug`, `path`, `collection`, `author-login`, `author-name`, `fields` |
| `update` | An existing entry is changed | `slug`, `path`, `collection`, `author-login`, `author-name`, `fields` |
| `delete` | An existing entry is deleted | `slug`, `path`, `collection`, `author-login`, `author-name` |
| `uploadMedia` | A media file is uploaded | `path`, `author-login`, `author-name` |
| `deleteMedia` | A media file is deleted | `path`, `author-login`, `author-name` |
Expand All @@ -83,6 +83,7 @@ Template tags produce the following output:
- `{{path}}`: full path to the changed file
- `{{author-login}}`: login/username of the author
- `{{author-name}}`: full name of the author (might be empty based on the user's profile)
- `{{fields.[FIELD_NAME]}}`: A custom fields value

## Publish Mode

Expand Down
11 changes: 11 additions & 0 deletions packages/docs/content/releases.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
{
"releases": [
{
"date": "2024-04-25T10:00:00.000Z",
"version": "v4.2.0",
"type": "minor",
"description": "Allow custom fields inside git commit message"
},
{
"date": "2024-04-19T10:00:00.000Z",
"version": "v4.1.4",
"type": "patch"
},
{
"date": "2024-03-13T10:00:00.000Z",
"version": "v4.1.3",
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -19550,10 +19550,10 @@ [email protected]:
"@svgr/core" "^8.1.0"
"@svgr/plugin-jsx" "^8.1.0"

[email protected].12:
version "5.0.12"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.0.12.tgz#8a2ffd4da36c132aec4adafe05d7adde38333c47"
integrity sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==
[email protected].13:
version "5.0.13"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.0.13.tgz#605865b0e482506163e3f04f91665238f3be8cf1"
integrity sha512-/9ovhv2M2dGTuA+dY93B9trfyWMDRQw2jdVBhHNP6wr0oF34wG2i/N55801iZIpgUpnHDm4F/FabGQLyc+eOgg==
dependencies:
esbuild "^0.19.3"
postcss "^8.4.32"
Expand Down

0 comments on commit bae4d87

Please sign in to comment.