first commit

This commit is contained in:
ipshing 2023-08-22 13:29:36 -07:00
commit 9b2ab3928f
12 changed files with 194 additions and 0 deletions

2
.eslintignore Normal file
View file

@ -0,0 +1,2 @@
npm node_modules
build

23
.eslintrc Normal file
View file

@ -0,0 +1,23 @@
{
"root": true,
"parser": "@typescript-eslint/parser",
"env": { "node": true },
"plugins": [
"@typescript-eslint"
],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"parserOptions": {
"sourceType": "module"
},
"rules": {
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": ["error", { "args": "none" }],
"@typescript-eslint/ban-ts-comment": "off",
"no-prototype-builtins": "off",
"@typescript-eslint/no-empty-function": "off"
}
}

24
.gitignore vendored Normal file
View file

@ -0,0 +1,24 @@
# vscode
.vscode
# Intellij
*.iml
.idea
# npm
node_modules
package-lock.json
# Build
main.js
*.js.map
/build/*
# Exclude sourcemaps
*.map
# obsidian
data.json
# Exclude macOS Finder (System Explorer) View States
.DS_Store

1
.npmrc Normal file
View file

@ -0,0 +1 @@
tag-version-prefix=""

10
manifest.json Normal file
View file

@ -0,0 +1,10 @@
{
"id": "obsidian-text-transform",
"name": "Text Transform",
"version": "1.0.0",
"minAppVersion": "1.0.0",
"description": "This plugin adds options to transform text to different casings using keyboard shortcuts.",
"author": "ipshing",
"authorUrl": "https://github.com/ipshing",
"isDesktopOnly": false
}

29
package.json Normal file
View file

@ -0,0 +1,29 @@
{
"name": "obsidian-text-transform",
"version": "1.0.0",
"description": "Adds formatting features to transform text casing.",
"main": "main.js",
"scripts": {
"dev": "rollup --config rollup.config.js -w",
"build": "rollup --config rollup.config.js --environment BUILD:production",
"version": "node version-bump.mjs && git add manifest.json versions.json"
},
"keywords": [],
"author": "",
"license": "MIT",
"devDependencies": {
"@rollup/plugin-commonjs": "^21.0.1",
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^13.1.3",
"@rollup/plugin-typescript": "^8.3.0",
"@types/node": "^16.11.6",
"@typescript-eslint/eslint-plugin": "^5.2.0",
"@typescript-eslint/parser": "^5.2.0",
"builtin-modules": "^3.2.0",
"obsidian": "^1.4.0",
"rollup": "^2.67.0",
"rollup-plugin-copy": "^3.4.0",
"tslib": "2.3.1",
"typescript": "4.4.4"
}
}

38
rollup.config.js Normal file
View file

@ -0,0 +1,38 @@
import commonjs from "@rollup/plugin-commonjs";
import json from "@rollup/plugin-json";
import { nodeResolve } from "@rollup/plugin-node-resolve";
import typescript from "@rollup/plugin-typescript";
import copy from "rollup-plugin-copy";
const isProd = process.env.BUILD === "production";
const banner = `/*
THIS IS A GENERATED/BUNDLED FILE BY ROLLUP
if you want to view the source visit the plugins github repository
*/
`;
export default {
input: "src/main.ts",
output: {
file: "build/main.js",
sourcemap: "inline",
sourcemapExcludeSources: isProd,
format: "cjs",
exports: "default",
banner,
},
external: ["obsidian"],
plugins: [
typescript(),
nodeResolve({ browser: true }),
commonjs(),
json(),
copy({
targets: [
{ src: "manifest.json", dest: "build" },
{ src: "src/styles.css", dest: "build" }
],
}),
],
};

27
src/main.ts Normal file
View file

@ -0,0 +1,27 @@
import { Plugin } from "obsidian";
interface TextTransformSettings {
mySetting: string;
}
const DEFAULT_SETTINGS: TextTransformSettings = {
mySetting: "default",
};
export default class TextTransform extends Plugin {
settings: TextTransformSettings;
async onload() {
await this.loadSettings();
}
onunload() {}
async loadSettings() {
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
}
async saveSettings() {
await this.saveData(this.settings);
}
}

0
src/styles.css Normal file
View file

23
tsconfig.json Normal file
View file

@ -0,0 +1,23 @@
{
"compilerOptions": {
"baseUrl": ".",
"inlineSourceMap": true,
"inlineSources": true,
"module": "ESNext",
"target": "ES6",
"allowJs": true,
"noImplicitAny": true,
"moduleResolution": "node",
"importHelpers": true,
"isolatedModules": true,
"lib": [
"DOM",
"ES5",
"ES6",
"ES7"
]
},
"include": [
"**/*.ts"
]
}

14
version-bump.mjs Normal file
View file

@ -0,0 +1,14 @@
import { readFileSync, writeFileSync } from "fs";
const targetVersion = process.env.npm_package_version;
// read minAppVersion from manifest.json and bump version to target version
let manifest = JSON.parse(readFileSync("manifest.json", "utf8"));
const { minAppVersion } = manifest;
manifest.version = targetVersion;
writeFileSync("manifest.json", JSON.stringify(manifest, null, "\t"));
// update versions.json with target version and minAppVersion from manifest.json
let versions = JSON.parse(readFileSync("versions.json", "utf8"));
versions[targetVersion] = minAppVersion;
writeFileSync("versions.json", JSON.stringify(versions, null, "\t"));

3
versions.json Normal file
View file

@ -0,0 +1,3 @@
{
"1.0.0": "1.0.0"
}