diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 266172a..13a43ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,56 +9,29 @@ on: jobs: build: runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - - name: Set up PureScript toolchain + - name: Set up a PureScript toolchain uses: purescript-contrib/setup-purescript@main with: - purescript: "unstable" + purescript: "latest" purs-tidy: "latest" + spago: "unstable" - name: Cache PureScript dependencies - uses: actions/cache@v2 + uses: actions/cache@v4 with: - key: ${{ runner.os }}-spago-${{ hashFiles('**/*.dhall') }} + key: ${{ runner.os }}-spago-${{ hashFiles('**/spago.lock') }} path: | .spago output - - name: Set up Node toolchain - uses: actions/setup-node@v2 - with: - node-version: "14.x" - - - name: Cache NPM dependencies - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - with: - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - - name: Install NPM dependencies - run: npm install - - - name: Build the project - run: npm run build + - name: Build source + run: spago build --censor-stats --strict --ensure-ranges --pedantic-packages - name: Run tests - run: npm run test + run: spago test --offline --censor-stats --strict --pedantic-packages - - name: Check formatting + - name: Verify formatting run: purs-tidy check src test - - - name: Verify Bower & Pulp - run: | - npm install bower pulp@16.0.0-0 - npx bower install - npx pulp build -- --censor-lib --strict - npx pulp test diff --git a/bower.json b/bower.json deleted file mode 100644 index da0000a..0000000 --- a/bower.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "purescript-argonaut-core", - "homepage": "https://github.com/purescript-contrib/purescript-argonaut-core", - "description": "Core of the purescript-argonaut library, providing basic types, folds, and combinators for `Json`", - "license": "MIT", - "authors": [ - "Maxim Zimaliev ", - "Hardy Jones <>", - "John A. De Goes " - ], - "keywords": [ - "purescript", - "argonaut", - "json" - ], - "repository": { - "type": "git", - "url": "https://github.com/purescript-contrib/purescript-argonaut-core.git" - }, - "ignore": [ - "**/.*", - "bower_components", - "node_modules", - "output", - "test", - "bower.json", - "package.json" - ], - "dependencies": { - "purescript-arrays": "^7.0.0", - "purescript-control": "^6.0.0", - "purescript-either": "^6.0.0", - "purescript-foreign-object": "^4.0.0", - "purescript-functions": "^6.0.0", - "purescript-gen": "^4.0.0", - "purescript-maybe": "^6.0.0", - "purescript-nonempty": "^7.0.0", - "purescript-prelude": "^6.0.0", - "purescript-strings": "^6.0.0", - "purescript-tailrec": "^6.0.0" - }, - "devDependencies": { - "purescript-quickcheck": "^8.0.1" - } -} diff --git a/package.json b/package.json index ad3ecca..1beafb2 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,15 @@ { "private": true, "scripts": { - "build": "eslint src && spago build --purs-args '--censor-lib --strict'", - "test": "spago test --no-install" + "build": "eslint src && spago build --censor-stats --strict --ensure-ranges --pedantic-packages", + "test": "spago test --offline" }, "devDependencies": { - "eslint": "^7.6.0" - } -} + "eslint": "^9.12.0" + }, + "authors": [ + "Maxim Zimaliev ", + "Hardy Jones", + "John A. De Goes " + ] +} \ No newline at end of file diff --git a/packages.dhall b/packages.dhall deleted file mode 100644 index 582d6d3..0000000 --- a/packages.dhall +++ /dev/null @@ -1,4 +0,0 @@ -let upstream = - https://raw.githubusercontent.com/purescript/package-sets/prepare-0.15/src/packages.dhall - -in upstream diff --git a/spago.dhall b/spago.dhall deleted file mode 100644 index a487d36..0000000 --- a/spago.dhall +++ /dev/null @@ -1,22 +0,0 @@ -{ name = "argonaut-core" -, dependencies = - [ "arrays" - , "console" - , "control" - , "effect" - , "either" - , "foreign-object" - , "functions" - , "gen" - , "maybe" - , "nonempty" - , "partial" - , "prelude" - , "quickcheck" - , "strings" - , "tailrec" - , "tuples" - ] -, packages = ./packages.dhall -, sources = [ "src/**/*.purs", "test/**/*.purs" ] -} diff --git a/spago.yaml b/spago.yaml new file mode 100644 index 0000000..437f58b --- /dev/null +++ b/spago.yaml @@ -0,0 +1,31 @@ +package: + name: argonaut-core + description: Core of the purescript-argonaut library, providing basic types, + folds, and combinators for `Json` + publish: + license: MIT + version: 8.0.0 + location: + githubOwner: purescript-contrib + githubRepo: purescript-argonaut-core + dependencies: + - arrays: ">=7.3.0 <8.0.0" + - control: ">=6.0.0 <7.0.0" + - either: ">=6.1.0 <7.0.0" + - foreign-object: ">=4.1.0 <5.0.0" + - functions: ">=6.0.0 <7.0.0" + - gen: ">=4.0.0 <5.0.0" + - maybe: ">=6.0.0 <7.0.0" + - nonempty: ">=7.0.0 <8.0.0" + - prelude: ">=6.0.1 <7.0.0" + - strings: ">=6.0.1 <7.0.0" + - tailrec: ">=6.1.0 <7.0.0" + test: + main: Test.Main + dependencies: + - console + - effect + - partial + - quickcheck + - tuples +workspace: {}