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

@aliyun-sls/lsp-editor

v0.1.65

Published

## 集成请使用稳定版本 0.1.28

Downloads

173

Readme

SLS lsp-editor

集成请使用稳定版本 0.1.28

基本信息

新版查询输入框

使用

安装

安装@aliyun-sls/lsp-editor、@aliyun-sls/lsp-core

引入

import { SlsEditor } from '@aliyun-sls/lsp-editor'
import { SLSLanguageMode } from '@aliyun-sls/lsp-core'

属性配置

  1. 必需属性
<SlsEditor
  project={projectName}
  logstore={logStoreName}
  startTime={startTime} // 查询起始时间
  endTime={endTime} // 查询结束时间
  languageMode={SLSLanguageMode.Index_SQL} // 选择您需要的语言模式
  onConfirm={() => {}} // 确认事件,空函数亦可
/>
  • languageMode: NONE, IndexQuery, Index_SQL, Index_SPL, Index_SQL_SPL
  1. 可选属性
  • 索引
    • indexMap: 索引字段
类型定义:
indexMap?: Record<string, IIndexKey>
interface IIndexKey {
  type: 'text' | 'json' | 'long' | 'double'
  json_keys?: Record<string, IIndexKey> // json类型下形成树形结构
}
  • 控制 editor 大小
    • defaultLineNumber: 默认行数
    • minLineNumber: 最小高度(以行为单位)
    • maxLineNumber: 最大高度(以行为单位)
defaultLineNumber={1}
minLineNumber={1}
maxLineNumber={7}
  • 提示面板显示方式
    • mode: 显示模式。默认不需要设置,设置为 tooltip 将提示面板变成跟随光标的弹框
mode="tooltip"
  • 只读
    • readonly: 输入框只读性。默认为 false ,设置为 true 将输入框置为只读
readonly={true}
  • 传入查询语句
    • queryString: 设置语句
queryString="your query"
  • 留下查询记录
    • historyFlag: 历史记录藉由浏览器 localStorage 实现,设置使用的 key
historyFlag="history_key"
  • 自定义获取补全项的请求方式(查询)

    • getValueCandidatesFunc: ( keyName: string, keyType: 'text' | 'json' | 'long' | 'double', prefix: string ) => Promise<CompletionItem[]>
  • 隐藏语法帮助

    • hiddenGrammarHelp: 默认为 false ,设置为 true 可以隐藏语法帮助栏
hiddenGrammarHelp={true}
  • 隐藏保留字段
    • sealReservedField: 默认为 false ,设置为 true 可以关闭保留字段的提示
sealReservedField={true}
  • 无确认事件时默认回车换行
    • noDefaultConfirm: 默认为 false ,设置为 true 则认为无确认事件,默认回车换行,同时隐藏配置面板内快捷键设置
noDefaultConfirm={true}
  • 去掉配置面板
    • onlyFormatOption: 默认为 false ,设置为 true 可以去掉配置面板,将右侧按钮行为变成格式化
onlyFormatOption={true}
  • 监控内容变化
    • onContentChange: 内容变化时的回调函数
onContentChange={
  (curStr) => {
    console.log(curStr)
  }
}
  • 失焦事件
    • onBlur: 失焦时的回调函数
onBlur={
  () => {
    // do something
  }
}

使用 TraceEditor

安装

安装@aliyun-sls/lsp-editor、@aliyun-sls/lsp-core

引入

import { TraceEditor } from '@aliyun-sls/lsp-editor'
import { SLSLanguageMode } from '@aliyun-sls/lsp-core'

属性配置

  1. 必需属性
<TraceEditor
  project={projectName}
  logstore={logStoreName}
  startTime={startTime} // 查询起始时间
  endTime={endTime} // 查询结束时间
  languageMode={SLSLanguageMode.IndexQuery} // 请设置为此项
  onConfirm={() => {}} // 确认事件,空函数亦可
/>
  1. 可选属性
  • 索引(可用于 key 列表提示)
    • indexMap: 索引字段
类型定义:
indexMap?: Record<string, IIndexKey>
interface IIndexKey {
  type: 'text' | 'json' | 'long' | 'double'
  json_keys?: Record<string, IIndexKey> // json类型下形成树形结构
}
  • 模版
    • jsonStencil: json 格式的模版 每个模版过滤器参数说明: keyName: 索引名(只有此参数为必填)。注意此值不能重复!!! type: 类型(不指定会尝试从全部索引中获取) op: 预设的符号 opCandidates: 预设的符号集 category: 分类(common 为常用,senior 为高级) description: 说明 value: 值 disabled: 是否禁止下拉修改 noValueCandidates: 仅输入框模式
      • op: 预设符号包括::,=,!=,<,>,<=,>=,in,not in,oneOf,not oneOf, 其中 in 表示数值范围, oneOf 表示多选
jsonStencil={{
  'attribute.t': {
    keyName: 'attribute.t',
    type: 'text',
    category: 'common',
    description: '行为类型',
  },
  'duration': {
    keyName: 'duration',
    type: 'long',
    op: 'in',
    category: 'common',
    description: '延迟',
  },
  'resource.os.name': {
    keyName: 'resource.os.name',
    type: 'text',
    category: 'senior',
    description: '操作系统',
  },
}}
  • 可勾选的固定过滤器
    • constantFilters: json 数组格式 每个固定过滤器参数说明(四个参数均需填写): keyName: 索引名 op: 符号 value: 值 explaination: 对这个固定过滤器的说明
constantFilters={[
  {
    keyName: 'attribute.log.spm_type',
    op: ':',
    value: 'table',
    explaination: '用户切换到表格模式的行为',
  },
  {
    keyName: 'size',
    op: '>=',
    value: '1024',
    explaination: '筛选size大于1k的日志',
  },
]}
  • 控制 editor 大小
    • defaultLineNumber: 默认行数
    • minLineNumber: 最小高度(以行为单位)
    • maxLineNumber: 最大高度(以行为单位)
defaultLineNumber={1}
minLineNumber={1}
maxLineNumber={7}
  • 传入查询语句
    • queryString: 设置语句
queryString="your query"
  • 自定义获取待选项的请求方式

    • getCandidatesFunc: (keyName: string) => Promise<string[]>
  • 修改待选项/勾选固定过滤条件时的回调

    • onQueryChangedByAction: (val: string) => {}
onQueryChangedByAction={(val) => {
  console.log('currentQuery: ', val)
}}
  • 修改类别文字
    • categoryTitles: Record<string, string>
// 请使用 common, senior, other 这三个键
categoryTitles={{ common: '第一个类别', senior: '第二个类别', other: '其他条件' }}
  • 模糊查询模式的状态获取
    • onFuzzyChanged: (val: boolean) => {}
onFuzzyChanged={(val) => {
  console.log('isFuzzyAllowed: ', val)
}}