npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

px2dt-localdata-access

v2.0.0

Published

Pickles 2 のデスクトップアプリケーションに共通する機能を提供します。

Downloads

4

Readme

px2dt-localdata-access

px2dt-localdata-access は、 Pickles 2 のデスクトップアプリケーションに共通する機能を提供します。

インストール - Install

$ npm install px2dt-localdata-access --save

使い方 - Usage

var Px2DtLDA = require('px2dt-localdata-access'),
	px2dtLDA = new Px2DtLDA('/path/to/data_directory/');

// データディレクトリを初期化
px2dtLDA.initDataDir(
	function(result){
		console.log(result);
	}
);

// ファイルからデータを読み込む
px2dtLDA.load(function(db){
	console.log(db);
});

// プロジェクト情報を追加
var projectIndexNumber = px2dtLDA.addProject({
	"name":"Your Project Name",
	"path":"/path/to/your/project/",
	"entry_script":".px_execute.php"
});

// プロジェクト情報を取得
var pjInfo = px2dtLDA.getProject(
	0 // <- projectIndexNumber or ProjectID
);

// 全プロジェクトインスタンスを取得
var pjList = px2dtLDA.getProjectAll();

// プロジェクトインスタンスを取得
var pjInstance = px2dtLDA.project(
	0 // <- projectIndexNumber or ProjectID
);

// px2package情報インスタンスを取得
var px2pkg = px2dtLDA.project(0).px2package();
console.log(px2pkg.get()); // px2package情報一式を取得
console.log(px2pkg.getPrimaryProject()); // プライマリのプロジェクト情報を取得

// プロジェクト情報を削除
var result = px2dtLDA.removeProject(
	0 // <- projectIndexNumber or ProjectID
);

// db.json 内の全てのデータをそのまま取得する
var db = px2dtLDA.getData();

// db.json 内の全てのデータをそのまま受け取って置き換える
var result = px2dtLDA.setData(
	{ /* 更新データ全体 */ }
);

// 外部アプリケーションのパスをセットする
var result = px2dtLDA.setAppPath(appName, appPath);

// 外部アプリケーションのパスを取得する
var appPath = px2dtLDA.getAppPath( appName );

// 外部アプリケーションを起動する
var childProc = px2dtLDA.startApp(appName, params);

// データディレクトリのパスを取得する
var pathDataDir = px2dtLDA.getPathDataDir();

// アプリケーションデータの格納ディレクトリパスを取得する
var pathAppDataDir = px2dtLDA.getAppDataDir(appName);

// プロジェクトの変更を保存する
px2dtLDA.save(
	function(result){
		console.log(result);
	}
);

// ログ情報を追記する
px2dtLDA.log('test log message.');

初期化オプション - Initialize Options

var Px2DtLDA = require('px2dt-localdata-access'),
	px2dtLDA = new Px2DtLDA(
		'/path/to/data_directory/', // データディレクトリのパス (required)
		{
			"path_php": "/path/to/php", // PHPコマンドのパス
			"path_php_ini": "/path/to/php.ini", // php.iniのパス
			"path_extension_dir": "/path/to/ext", // extension_dirのパス
			"updated": function(updatedEvents){
				// データディレクトリ内に変更があった場合に検知し、
				// コールバックされます。
				console.log(updatedEvents);
			}
		}
	);

扱うデータ仕様

データ格納ディレクトリ

コンストラクタ第1引数に渡されたパスにデータを格納します。

ファイルとディレクトリ構造

├ db.json
├ common_log.log
├ commands
│ └ composer
│   └ composer.phar
├ appdata
│ ├ {appname1}
│ │ └ anyfiles...
│ ├ {appname2}
│ │ └ anyfiles...
│ ├ ・・・・
│ └ {appnameN}
│   └ anyfiles...
└ logs
  ├ access-{YYYYMMDD}.log
  ├ access-{YYYYMMDD}.log
  ├ ・・・・
  └ access-{YYYYMMDD}.log
  • db.json が主に設定情報を格納する本体です。
  • commands/ には、ツールが内部で呼び出すためのコマンド類を格納します。
  • 汎用的なログ出力先として common_log.log があります。
  • logs/ には、プレビューサーバーのアクセスログなどその他特別なログが出力されます。

db.json の構造定義

{
 "commands": {
  "php": "/realpath/to/php",
  "git": "/realpath/to/git",
  "composer": "/realpath/to/composer.phar"
 },
 "apps": {
  "texteditor": "/realpath/to/textEditor.app",
  "texteditorForDir": "/realpath/to/textEditor.app",
  "gitClient": "/realpath/to/gitClient.app"
 },
 "projects": [
  {
   "name": "Project Name 1",
   "path": "/realpath/to/project1/htdocs",
   "home_dir": "px-files/",
   "entry_script": ".px_execute.php",
   "extended":{
	   "key1":"value",
	   "key2":{
		   "key3":"value"
	   }
   }
  },
  {
   "name": "Project Name 2",
   "path": "/realpath/to/project2/htdocs",
   "home_dir": "px-files/",
   "entry_script": ".px_execute.php"
  },
  {
	  /* ・・・・・・ */
  },
  {
   "name": "Project Name N",
   "path": "/realpath/to/projectN/htdocs",
   "home_dir": "px-files/",
   "entry_script": ".px_execute.php"
  }
 ],
 "network": {
  "preview": {
   "port": "58080",
   "accessRestriction": "loopback"
  },
  "appserver": {
   "port": "58081"
  }
 },
 "language": "ja"
}

更新履歴 - Change Log

px2dt-localdata-access v2.0.0 (2019-11-02)

  • Initial Relase.

ライセンス - License

MIT License

作者 - Author