Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,3 @@ jobs:
# - run: pnpm exec nx-cloud record -- echo Hello World
# Nx Affected runs only tasks affected by the changes in this PR/commit. Learn more: https://nx.dev/ci/features/affected
- run: pnpx nx affected -t build && pnpm build
- run: npx nx fix-ci
if: always()
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,9 @@ out
.nuxt
dist

# Documentations / Demos
demos/out

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
Expand Down
56 changes: 56 additions & 0 deletions gulpfile.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import gulp from 'gulp'
import flatten from 'gulp-flatten'
import fs from 'fs'
import path from 'path'

export function dist(cb) {
gulp.src(['packages/(**)/dist/(**)']).pipe(flatten()).pipe(gulp.dest('dist/'))

cb()
}

function capitalize(str) {
return str.charAt(0).toUpperCase() + str.slice(1)
}

function scanPackages(dir) {
const result = []
const folders = fs
.readdirSync(dir, { withFileTypes: true })
.filter((d) => d.isDirectory())
for (const folder of folders) {
const folderName = folder.name
const packageJsonPath = path.join(dir, folderName, 'package.json')
if (fs.existsSync(packageJsonPath)) {
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'))
result.push({
name: capitalize(folderName),
id: pkg.name || '',
description: pkg.description || '',
author: pkg.author || '',
version: pkg.version || '',
url: `${folderName}/index.html`
})
}
}
return result
}

export function demos(cb) {
gulp
.src(['packages/(**)/demo/(**)'])
.pipe(flatten({ includeParents: 1 }))
.pipe(gulp.dest('demos/out/'))

gulp.src(['dist/(**).min.js']).pipe(gulp.dest('demos/out/dist/'))

const packagesDir = path.join(import.meta.dirname, './packages')
const outputFile = path.join(import.meta.dirname, './demos/out/packages.json')
const data = scanPackages(packagesDir)

fs.mkdirSync(path.dirname(outputFile), { recursive: true })
fs.writeFileSync(outputFile, JSON.stringify(data, null, 2))
console.log(`Generated ${outputFile}`)

cb()
}
1 change: 0 additions & 1 deletion index.ts

This file was deleted.

30 changes: 10 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,20 @@
"version": "0.0.1",
"namespace": "@arcstack",
"type": "module",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/ArcStackLab/webapis.git"
},
"packageManager": "pnpm@9",
"description": "A Comprehensive Integration of All Web Standard APIs",
"scripts": {
"build": "tsup",
"build": "nx run-many --target=build",
"predist": "rm -rf dist",
"dist": "gulp dist",
"predemos": "rm -rf demos/out",
"demos": "gulp demos",
"lint": "eslint **/* && tsc",
"clean": "find . -type d -name 'dist' -not -path '*/node_modules/*' -not -path '*/.nx/*'",
"unsafe-clean": "find . -type d -name 'dist' -not -path '*/node_modules/*' -not -path '*/.nx/*' -exec rm -rf {} +",
"uninstall-husky": "pnpm uninstall husky --no-save && git config --unset core.hooksPath && pnpm dlx rimraf .husky"
},
"husky": {
Expand All @@ -27,23 +30,8 @@
]
},
"entry": {
".": "./dist/index.js",
"permissions": "./dist/permissions.js"
},
"tsup": {
"entry": {
"index": "./index.ts",
"permissions": "./packages/permissions/index.ts"
},
"splitting": false,
"sourcemap": true,
"dts": true,
"clean": true,
"platform": "browser",
"format": [
"esm"
]
},
"devDependencies": {
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "^9.11.0",
Expand All @@ -54,6 +42,7 @@
"globals": "^15.9.0",
"gulp": "^5.0.0",
"gulp-cli": "^3.0.0",
"gulp-flatten": "^0.4.0",
"husky": "^9.1.5",
"lint-staged": "^15.2.10",
"netlify-cli": "^21.4.2",
Expand All @@ -70,5 +59,6 @@
"api"
],
"author": "factman",
"license": "MIT"
"license": "MIT",
"packageManager": "pnpm@9.15.4"
}
2 changes: 1 addition & 1 deletion packages/permissions/demo/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { PermissionsAPI } from '../dist/permissions.js'
import { PermissionsAPI } from '../dist/permissions.min.js'

const permissions = new PermissionsAPI()

Expand Down
19 changes: 5 additions & 14 deletions packages/permissions/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,15 @@
"private": "true",
"description": "This Permissions API provides a consistent programmatic way to request the status of API permissions attributed to the current context.",
"scripts": {
"build": "tsup",
"build": "tsup --entry.permissions ./index.ts",
"minify": "tsup --entry.permissions ./index.ts --minify",
"lint": "eslint **/* && tsc"
},
"entry": {
".": "./index.ts"
},
"module": "./dist/permissions.js",
"types": "./dist/permissions.d.ts",
"tsup": {
"entry": {
"permissions": "./index.ts"
},
"splitting": false,
"sourcemap": true,
"dts": true,
"clean": true,
"platform": "browser",
"format": [
"esm"
]
},
"author": "factman",
"type": "module",
"license": "MIT"
Expand Down
Loading